Forum Keyyo
Prise en main API - Version imprimable

+- Forum Keyyo (https://forum.keyyo.com)
+-- Forum : Editeurs & Développeurs (/forumdisplay.php?fid=20)
+--- Forum : API (/forumdisplay.php?fid=22)
+--- Sujet : Prise en main API (/showthread.php?tid=1753)



Prise en main API - tobeweb - 07/01/2019 15:50

Bonjour à toutes la communautés,

Je rédige ce sujet aujourd'hui car je tente de récupérer les informations de mes lignes au sein de mon application web.

Suite à la lecture de la documentation et de beaucoup de sujet au sein du Forum, je me suis rendu compte qu'aucun sujet ne traites mon soucis.

Pour vous expliquer ou j'en suis, j'arrive pour le moment à envoyer des requêtes GET à l'API via mon code en PHP toutefois ce n'est pas suffisant. En effet, j'aimerais comme proposé dans la documentation en ligne, envoyer mes requêtes en y appliquant des paramètres.

Pour la mise en place du code, j'ai récupérer les dossiers du Github : https://github.com/Keyyo/keyyo-manager-php-client .

Je vous joint ci-dessous le bout de code qui correspond à mon envoie de requêtes GET :
Code PHP :
$keyyo_manager = new \Keyyo\Manager\Client("1.0"$access_token); 

// je récupére ici le détails des services souscrits
$services $keyyo_manager->services();

foreach (
$services as $service) {
     
// je récupére mon csi     
     
$service->formatted_csi;
     
// je spécifie ma requete sur un service précis 
     
$services_details $keyyo_manager->services($service->csi);
     
// j'affiche l'état de mon service inspécté
     
echo $services_details->status;
     
// je demande la récupération des détails d'appels incoming sur le service csi en question 
     
$incomingcall_details $keyyo_manager->query("GET""https://api.keyyo.com/manager/1.0/services/".$service->csi."/outgoing_call_detail");
     
var_dump($incomingcall_details);


Après avoir tester d'insérer des paramètres comme ceci "?date_start=2018-12-01&date_end=2018-12-31" directement dans l'appel de ma fonction "query()" au niveau de l'Url, ceci ne change en rien le résultat obtenu.
J'ai également tenté d'inserer un Array de paramétres mais cela n'as pas fonctionné non plus.

J'espère que vous pourrez m'indiquer la procédure ou des pistes du moins afin de pouvoir appliquer des paramètres à mes requêtes.

Dans l'attente de vous lire,
Merci pour votre travail Smile

Je suis à disposition pour toutes demandes de complément d'informations.


RE: Prise en main API - Keyyo QA - 07/01/2019 18:40

Bonjour,

La lib PHP est encore plus simple à utiliser, puisque vous instanciez la classe services en sécifiant un CSI, vous pouvez directement appeler ses membres en spécifiant les arguments en array :

Code PHP :
$services_details $keyyo_manager->services($service->csi);
$calls $services_details->outgoing_call_detail(['date_start' => '2019-01-02''date_end' => '2017-01-03 12:00']); 


Cordialement,


RE: Prise en main API - tobeweb - 07/01/2019 18:43

Merci pour votre réactivité,
Je vais appliquer les indications que vous m'avez fournies et je reviens vers vous avec des résultats concluant je l'espère.

Cordialement Smile

Je reviens vers vous suite à l'execution du code suivant dans mon programme :
Code PHP :
$calls $services_details->outgoing_call_detail(['date_start' => '2018-12-01''date_end' => '2018-12-31']);
var_dump($calls); 

Et j'obtiens le résultat suivant :

Code PHP :
object(Keyyo\Manager\Resource)#10 (5) {
  
["client":protected]=>
  
object(Keyyo\Manager\Client)#2 (7) {
    
["access_token":protected]=>
    
string(248"Mon TOKEN"
    
["options":protected]=>
    array(
1) {
      [
"localized_numbers"]=>
      
bool(false)
    }
    [
"client":protected]=>
    *
RECURSION*
    [
"url":protected]=>
    
string(33"https://api.keyyo.com/manager/1.0"
    
["is_collection":protected]=>
    
bool(false)
    [
"contents":protected]=>
    
NULL
    
["properties":protected]=>
    
NULL
  
}
  [
"url":protected]=>
  
string(144"https://api.keyyo.com/manager/1.0/services/monCSI/outgoing_call_detail/?filters%5Bdate_start%5D=2018-12-01&filters%5Bdate_end%5D=2018-12-31"
  
["is_collection":protected]=>
  
bool(true)
  [
"contents":protected]=>
  
NULL
  
["properties":protected]=>
  
NULL


Est ce normal ?

Lors de l'exécution de mon code décrit dans mon premier Post, j'obtenais le détails des appels avec les paramètres par défaut.


RE: Prise en main API - Keyyo QA - 08/01/2019 10:53

Bonjour,

Pour récupérer les appels, il est préférable de parcourir le tableau avec foreach :

Code PHP :
foreach ($calls as $call) {
                
var_dump($call);
        }