OVH Community, votre nouvel espace communautaire.

API Téléphonie - Click2Call via APIv6


BD-FBP94
08/08/2016, 16h39
Depuis que je les ai récupérées, je n'ai pas eu à modifier ces valeurs... mais peut être y a t'il un intérêt à créer des comptes différents en fonction des différentes actions que l'on peut avoir à faire...

Marc Z
08/08/2016, 16h00
Et sait-on si (et quand, et en fonction de quoi) les valeurs de Application Key, Application Secret et Consumer Key vont changer ?

BD-FBP94
08/08/2016, 15h18
Bonjour,

Pour ceux que ça intéresse, voici un récapitulatif de la solution finalement trouvée après 3 mois et demi de recherche. Luigi_B a fini par prendre les choses en main et m'a permis de trouver ce qu'il manquait... notamment le bon billingAccount.

Etape 1 _ Création du compte API
Doc en anglais ici : https://api.ovh.com/g934.first_step_with_api
Allez à cette adresse : https://eu.api.ovh.com/createApp/
pour pouvoir créer un compte avec les paramètres suivants :
- Account ID de type (AB123400-OVH) ou adresse email
- un mot de passe
- Application name : le nom que vous voulez donner à ce compte (pour moi, Click2Call)
- Application description, une description pour vous
Cela va générer 2 clés : Application Key et Application Secret. On récupère ensuite la clé Consumer Key.

Etape 2 _ Récupération du billingAccount
Connectez vous dans votre interface client OVH, allez dans l'ancienne interface client (toujours en vigueur à cette date pour la téléphonie) et sélectionnez une des lignes concernées. Aller ensuite dans 'Gestion' du menu 'Navigation', puis dans 'Informations générales'. Là, dans la section 'Informations sur le groupe' vous trouverez le 'Nom du groupe' qui correspond au billingAccount ; dans mon cas, ça ressemble à 'ovhtel-12345678-1'.

Etape 3 _ Vérifications de la viabilité des données
Allez à la page https://eu.api.ovh.com/console/#/telephony, et cherchez la ligne de commande /telephony/{billingAccount}/line/{serviceName}/click2Call.
Là, remplissez les cases avec les informations suivantes :
- billingAccount : voir ci-dessus
- serviceName : la ligne qui appel (format international : 0033198765432)
- calledNumber : le N° appelé (format international)
- callingNumber : la ligne qui appel (format international)
et cliquez sur ‘Execute’ ; cela doit déclencher l’appel sur votre poste.
Si c’est le cas, c’est que les données renseignées sont bonnes. Vous pouvez récupérer le code généré en cliquant sur l’onglet PHP ou Python.

Etape 4 _ le code PHP
Code commun
Code:
(array_key_exists("caller", $_GET))?    $votre_ligne_qui_appel=filter_input(INPUT_GET, 'caller', FILTER_SANITIZE_STRING) : $votre_ligne_qui_appel='';
(array_key_exists("called", $_GET))?    $ligne_a_appeler=filter_input(INPUT_GET, 'called', FILTER_SANITIZE_STRING) : $ligne_a_appeler='';
//ATTENTION, pour ces 2 N°, format international obligatoire.
$ApplicationKey     ='zVXCryDx9aFoQ8Cl';
$ApplicationSecret  ='Cfq1cQhx1CWeAL62iDxAWCuxkKM8aOf0';
$ConsumerKey        ='nNlwUhw96SA4kqUKPLOls9gd9yPtleXd';
$billingAccount     ='ovhtel-12345678-1';//groupe de facturation qui détient les lignes
$servicename        =$votre_ligne_qui_appel;//nom du service, si il s'agit d'une ligne, c'est le numéro au format international
Là, vous avez 2 méthodes :

Méthode 1 _ Préconisée par OVH
Vous devez tout d’abord télécharger une petite bibliothèque à l’adresse suivante : https://github.com/ovh/php-ovh/releases
Elle est à placer dans la racine de votre serveur d’hébergement. (répertoire ‘vendor’).
Ensuite, créez une page PHP qui exécutera votre script avec le code suivant :
Code:
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;
//*Script d'appel
$ovh = new Api( $ApplicationKey,    // Application Key
                $ApplicationSecret, // Application Secret
                'ovh-eu',           // Endpoint of API OVH Europe (List of available endpoints)
                $ConsumerKey);      // Consumer Key

$result = $ovh->post('/telephony/'.$billingAccount.'/line/'.$servicename.'/click2Call', array(
    'calledNumber' => $ligne_a_appeler, // Required:  (type: string)
    'callingNumber' => $votre_ligne_qui_appel, //  (type: string)
    'intercom' => 'true', // Activate the calling number in intercom mode automatically (pick up and speaker automatic activation). (type: boolean)
));//*/
print_r( $result );
Méthode 2 _ Proposée par WAIBE.fr
Le lien : http://www.waibe.fr/blog-1-145305392...on-d-ovh-.html
Code:
$ovh = new OvhApi(); 
$result = array();
$result = $ovh->post('/telephony/'.$billingAccount.'/line/'.$servicename.'/click2Call', array(
    'calledNumber' => $ligne_a_appeler, // Required:  (type: string)
    'callingNumber' => $votre_ligne_qui_appel, //  (type: string)
    'intercom' => 'true', // Active l'appel en mode intercome (type: boolean)
));
print_r( $result );
Personnellement, je trouve cette seconde méthode plus simple, et certainement moins gourmande en ressources… mais je vous laisse juger.

Après, dans les 2 cas, c'est à vous de le personnaliser. Vous pourrez ensuite utiliser un lien qui lancera votre script, dans le genre : mon_domaine.fr/Click2Call-OVH.php?caller=0033198765432&called=0033198765421

BD-FBP94
03/08/2016, 15h11
Bonjour,
Oui, le problème est toujours là, j'attends donc de vos nouvelles.
Cordialement

Luigi_B
03/08/2016, 14h25
Bonjour.

Tout d'abord, veuillez nous excuser pour le délai de réponse.

Le défaut persiste-t-il actuellement ? Si c'est le cas, je lancerai un ticket afin de vous permettre de m'envoyer une copie du script avec les valeurs adaptées pour billingAccount et servicename afin de vérifier.

Cordialement.

Luigi.B

BD-FBP94
12/07/2016, 15h11
Pour ceux que ça intéresse, j'ai trouvé plus d'informations sur l'utilisation de l'API V6 que dans toutes les réponses du support OVH :
https://forum.ovh.com/showthread.php...ouvelle-API-V6
Et pourtant je suis passé par tous les types de support : téléphone, forum, ticket... mais pas par la mailling list, elle n'accepte plus de nouveaux abonnés ; ce qui prouve bien que c'est le merdier.

Cela dit, j'ai toujours un problème : je me heurte à un message d'erreur : "Array ( [message] => This service does not exist ) ".
Une idée de l'origine de cette erreur ? On dirait que le click2call n'est pas pris en charge.
Voici mon code :
Code:
$ovh = new OvhApi(); 
$result = array();
$result = $ovh->post('/telephony/'.$billingAccount.'/line/'.$servicename.'/click2Call', array(
    'calledNumber' => $ligne_a_appeler, // Required:  (type: string)
    'intercom' => 'true', // Activate the calling number in intercom mode automatically (pick up and speaker automatic activation). (type: boolean)
));
print_r ($result);

BD-FBP94
11/07/2016, 14h52
Citation Envoyé par Luigi_B
Bonjour.

Tout d'abord, veuillez nous excuser pour le délai de réponse.

Pourriez-vous me communiquer votre identifiant client afin que je vérifie que les informations renseignées sont exactes ?

Le billingaccount est le groupe de facturation de votre téléphonie, il est sous la forme identifiant-ovh-1 donc si vous ne possédez qu'un seul groupe par exemple : ab123456-ovh-1.

Pour les API, vous pouvez également utiliser la ML correspondante :

api@ml.ovh.net

Cordialement.

Luigi.B
Il n'est visiblement plus possible de trouver des solutions par ce biais, voici ce que j'obtiens quand je veux valider mon inscription :
Code:
   ----- The following addresses had permanent fatal errors -----

    (reason: 550 sorry, user over quota [mail545] (#5.1.1))

   ----- Transcript of session follows -----
... while talking to mx2.ovh.net.:
>>> RCPT To:
<<< 550 sorry, user over quota [mail545] (#5.1.1)
550 5.1.1 ... User unknown
>>> DATA
<<< 557 RCPT TO first, sorry, you have to learn SMTP RFC before talk to me (#5.7.1)

BD-FBP94
08/07/2016, 14h34
Merci, je n'avais pas vu cet onglet, sans doute trop focalisé sur l'erreur générée.
Par contre, où puis je trouver la valeur du Consumer Key ? Ça correspond à quoi ?
Et l'ID, je ne sais pas non plus ce que c'est.

buddy
02/07/2016, 10h50
Citation Envoyé par BD-FBP94
Oui, j'ai essayé dans la version en ligne, mais ça ne donne rien de plus, mais de toute façon j'ai besoin d'un script, pas d'un outil en ligne...
Je ne comprend pas le soucis.

Sur l'API en ligne tu cliques sur PHP et tu as le code PHP
/**
* First, download the latest release of PHP wrapper on github
* And include this script into the folder with extracted files
*/
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
* Instanciate an OVH Client.
* You can generate new credentials with full access to your account on
* the token creation page
*/
$ovh = new Api( 'xxxxxxxxxx', // Application Key
'xxxxxxxxxx', // Application Secret
'ovh-eu', // Endpoint of API OVH Europe (List of available endpoints)
'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post('/telephony/{billingAccount}/line/{serviceName}/click2Call', array(
'calledNumber' => 'xxxx', // Required: (type: string)
'intercom' => 'false', // Activate the calling number in intercom mode automatically (pick up and speaker automatic activation). (type: boolean)
));

print_r( $result );
?>

BD-FBP94
01/07/2016, 09h27
Bonjour,
Voilà plus de 3 mois que ce problème me pourris la vie et je n'ai toujours pas de solution adaptée.
Il faut savoir que nous avons pris un serveur chez OVH pour mettre en place l'outil de CLick2Call... je vous laisse tirer les conclusions si nous ne pouvons plus utiliser cet outil.
Nous avons assez attendu une solution de la part du support OVH, il est temps de cloturer le sujet une bonne fois pour toute, merci de prendre au sérieux cette demande.

BD-FBP94
28/06/2016, 10h02
Est il possible d'avoir un support digne de ce nom quelque part ?

BD-FBP94
08/06/2016, 13h36
Oui, j'ai essayé dans la version en ligne, mais ça ne donne rien de plus, mais de toute façon j'ai besoin d'un script, pas d'un outil en ligne...

Luigi_B
08/06/2016, 13h21
Bonjour.

Merci, avez-vous réessayer en renseignant bien le billingAccount ?

Cordialement.


Luigi.B

BD-FBP94
06/06/2016, 14h15
Voici l'identifiant OVH : BF108300-OVH

Luigi_B
06/06/2016, 13h35
Bonjour.

Tout d'abord, veuillez nous excuser pour le délai de réponse.

Pourriez-vous me communiquer votre identifiant client afin que je vérifie que les informations renseignées sont exactes ?

Le billingaccount est le groupe de facturation de votre téléphonie, il est sous la forme identifiant-ovh-1 donc si vous ne possédez qu'un seul groupe par exemple : ab123456-ovh-1.

Pour les API, vous pouvez également utiliser la ML correspondante :

api@ml.ovh.net

Cordialement.

Luigi.B

BD-FBP94
26/05/2016, 15h46
Alors, pas de prise en main du problème ? Pas de tuto sur la question ? Pas de précisions sur la marche à suivre ?

BD-FBP94
13/05/2016, 10h45
Bonjour,

désolé si l'information n'est pas remontée jusqu'à vous
... ce n'est pas étonnant, même en interne l'information n'est pas remontée

Je viens de passer un temps certain à éplucher les différentes pages et doc, et je vais finir par m'arracher les cheveux...


J'ai tout d'abord réussi à créer mes Application Key et Application Secret ici : https://eu.api.ovh.com/createApp/
Pour la suite, décidément, ça reste nébuleux comme système. Je n'arrive pas à trouver comment intégrer un code dans une page php.

Dans la doc, on trouve la fonction suivante : POST /telephony/{billingAccount}/line/{serviceName}/click2Call
Mais comment on intègre la ligne à appeler (calledNumber) ?

J'ai également essayé autre chose, je suis allé sur la page https://api.ovh.com/console/#/teleph...lick2Call#POST pour tester le système en ligne. Je me suis identifié sans problème. Ensuite, impossible de faire fonctionner le système, j’obtiens toujours le message Not Found (404) { "message": "This service does not exist" }.
Pour le billingaccount je rentre notre référence client de type AB123456-OVH, pour le ServiceName je saisie mon numéro de ligne au format 00331xxxxx et je saisie un numéro à appeler sous le même format pour calledNumber.
Qu'est ce que ne fais pas bien ?? Ça semble pourtant simple...

Est ce qu'il y a un autre moyen pour obtenir un support sur l'API que ce forum où les temps de réponse sont long ?

Cordialement

Luigi_B
06/05/2016, 14h42
Bonjour.

Une communication a été effectuée concernant la fermeture de SOAPI, désolé si l'information n'est pas remontée jusqu'à vous.

Voici différent guide pour vous familiariser avec les APIv6 :

https://api.ovh.com/g934.first_step_with_api

https://docs.ovh.com/pages/releasevi...pageId=7536730

Le billingaccount est le groupe de facturation qui détient les lignes.
Le ServiceName est le nom du service, si il s'agit d'une ligne, c'est le numéro au format international (0033xxxxxx).

Cordialement.

Luigi.B

BD-FBP94
03/05/2016, 16h21
Serait il possible d'avoir plus d'informations ?
Parce que déjà que le support téléphonique n'est pas capable de répondre à ce type de problème et qu'en plus personne ne nous a averti de la fermeture de SOAPI, ce serait bien d'avoir un minimum d'informations pour remplacer ce qui existait...
A ce propos, vous pourriez prévenir le support téléphonique que SOAPI est fermé, parce que quand j'ai demandé "Est ce que le système utilisé pour le click2call fonctionne toujours ?" la personne que j'ai eu en ligne m'a dit "Ha ben non, on vous aurai prévenu si c'était le cas...". Et c'est moi qui ai fini par tomber sur un sujet annonçant la fermeture programmée sur le forum.

BD-FBP94
27/04/2016, 15h41
Bonjour,

Merci pour la réponse, j'ai déjà vu cette page de correspondance, mais comment ça se met en oeuvre ??
Il n'y a pas un exemple de code à intégrer dans une page (comme ça été fait pour SOAPI) ? Un tuto ?

En tout cas, je suis incapable d'exploiter les données qui se trouve sur cette page...
Qu'est ce que le "billingAccount ", le "serviceName" ??

Luigi_B
21/04/2016, 15h49
Bonjour.

Vous trouverez à cette adresse les équivalents des fonctions SOAPI et celles qui sont toujours en cours de migration :

https://www.ovh.com/fr/soapi-to-apiv6-migration/

Cordialement.

Luigi.B

BD-FBP94
13/04/2016, 15h39
Bonjour,

Jusqu'à présent on utilisait le script suivant pour lancer un appel par un simple clic sur le numéro de téléphone dans dolibarr (qui génère une url avec les paramètres de ligne appelant/appelée) :
Code:
telephonyClick2CallDo("$identifiant", "$mot_de_passe", "$votre_ligne_qui_appel", "$ligne_a_appeler", "$votre_ligne");
echo "telephonyClick2CallDo successfull\n";
} catch(SoapFault $fault) {
echo $fault;
}
?>
Code donné dans le guide OVH : http://guides.ovh.com/TelFaqClick2Call

Le problème est simple : avec la fermeture de SoAPI, quel code est ce que je dois utiliser ?
Y a-t'il une doc simple ou un tuto proposé ?
Je ne suis pas débutant en php, mes compétences sont ce qu'elles sont, mais l'utilisation de APIv6 est relativement nébuleux pour moi.
Merci d'avance pour les solutions.