Close

Planitel API Smartphone

À SAVOIR

Chaque fonction de l’API renvoi, dans leur réponse, les variables success (true/false), message, et éventuellement des données supplémentaires en fonction de la fonction appelée.

Les requêtes devront avoir dans leur header la valeur apiKey avec comme valeur la clé qui sera fournie. Et aussi apiToken le cas échéant. 

Pour chaque requête, en cas de succès le code HTTP 200 est retourné, sinon le code HTTP retourné sera de type 4XX ou 5XX

 

DONNÉES TESTS

apiKey : 12345

Utilisateur :

Login : test1@test.fr

Password : 12345

 

Le numéro sur lequel il faut envoyer les appels, pour un rappel, est le 01 76 69 35 30.

 

INTERFACE PLANITEL

URL : https://www.ab-plus.com/espace-client.htm

User : testplanitel5

Password : 40006

NumeroPlanitel : 0805123456 - 0180207033 (numéro noir associé)

 

POST CONNECT

  • Description : Permet d’identifier un utilisateur. L’api renvoie un token de connexion et les informations sur l’utilisateur.

 

Le token devra être utilisé pour toutes les requêtes sur les autres fonctions de l’API

 

  • URL : https://api.ab-plus.com/planitel/smartphone/connect
  • Method : POST
  • Data model à envoyer :

{

   "login":"user_login", 

   "password":"user_password",

}

  • Data model retourné :

{     

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "data":

   {

      "token":"token_generer",
      "astreinteID": Id utilisateur,

      "droitActivation":1/0,

      "droitNumero":1/0,

      "droitPlanning":1/0,

      "numeroPlanitel":”0805123456”,

      "nom":”Nom utilisateur”

   }

}

 

POST CALLER

  • Description : permet de vérifier la validité d’un numéro de téléphone.
    Le numéro est valide s’il est au bon format et si le pays de destination est autorisé sur le compte Planitel 

 

  • URL : https://api.ab-plus.com/planitel/smartphone/caller
  • Method : POST
  • Data model à envoyer :

{

   "numero":"numero de telephone"

}
*numero : Peut être au format international ou format français
 

  • Data model retourné :

{     

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "telephone": 

    {

       "numero": "0147457878",

       "indicatif": 33,

       "national": "0147457878",

       "international": "33147457878",

       "code": "FR",

       "pays": "France"

    }

}

 

GET CALLER

  • Description : permet de récupérer la liste des destinations autorisées sur le compte Planitel.
  • URL : https://api.ab-plus.com/planitel/smartphone/caller
  • Method : GET
    Data model retourné :

{     

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "authorizedCountry": [

        {

            "code": "FR",

            "pays": "France",

            "indicatif": 33

        },

        {

            "code": "GB",

            "pays": "United Kingdom",

            "indicatif": 44

        }

   ]

}

 

GET PHONE

  • Description : Permet de récupérer la liste des numéros de téléphones de l’utilisateur.
  • URL : https://api.ab-plus.com/planitel/smartphone/phone
  • Method : GET
  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "telephones":

   [

      {"numero":"numero1","etoile":1/0,"sonnerie":"30"},

      {"numero":"numero2","etoile":1/0,"sonnerie":"30"},

      {"numero":"numero3","etoile":1/0,"sonnerie":"30"}

   ]

}

 

*numero : Numéro de téléphone au format 0102030405

*etoile : 1 ou 0, 1 = actif, 0 = non actif

*sonnerie : Temps de sonnerie en seconde

 

PUT PHONE

  • Description : Permet de mettre à jour les numéros de téléphones d’un utilisateur.
  • URL : https://api.ab-plus.com/planitel/smartphone/phone
  • Method : PUT
  • Data model à envoyer :

{

   "telephones":

   [

      {"numero": "numero1","etoile": 1,"sonnerie": "30"},

      {"numero": "numero2","etoile": 1,"sonnerie": "30"},

      {"numero": "numero3","etoile": 1,"sonnerie": "30"}

   ]

}

 

*numero : Numéro de téléphone au format 0102030405

*etoile : 1 ou 0, 1 = actif, 0 = non actif

*sonnerie: Temps de sonnerie en seconde

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”

}

 

GET PLANNING

  • Description : Permet de récupérer le planning d’un utilisateur.
  • URL : https://api.ab-plus.com/planitel/smartphone/planning
  • Method : GET

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "telephones":

   [

      {"idPeriode":"idPeriode1","debut":"date debut1","fin":"date fin1"},

      {"idPeriode":"idPeriode2","debut":"date debut2","fin":"date fin2"},

      {"idPeriode":"idPeriode3","debut":"date debut3","fin":"date fin3"},

   ]

}

 

*idPeriode: Identifiant de la tranche horaire à renseigner pour la fonction PUT de planning

*Les dates doivent être au format “YY-MM-DD HH:mm:ss

 

PUT PLANNING

  • Description : Permet de modifier une tranche horaire.
  • URL : https://api.ab-plus.com/planitel/smartphone/planning
  • Method : PUT
  • Data model à envoyer :

{

   “idPeriode":idPeriode, 

   "debut":"date_debut", 

   "fin":"date_fin"

}

 

*idPeriode : identifiant récupérer lors d’un GET ou POST sur planning

*Les dates doivent être au format “YY-MM-DD HH:mm:ss

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”

}

 

POST PLANNING

  • Description : Permet d’ajouter une tranche horaire.
  • URL : https://api.ab-plus.com/planitel/smartphone/planning
  • Method : POST
  • Data model à envoyer :

{

   "debut":"date_debut", 

   "fin":"date_fin"

}

 

*Les dates doivent être au format “YY-MM-DD HH:mm:ss

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "idPeriode": idPeriode

}

 

*idPeriode : identifiant de la nouvelle tranche horaire

 

DELETE PLANNING

  • Description : Permet de supprimer une tranche horaire.
  • URL : https://api.ab-plus.com/planitel/smartphone/planning
  • Method : DELETE
  • Data model à envoyer :

{

   “idPeriode":idPeriode, 

}

 

*idPeriode : identifiant récupérer lors d’un GET ou POST sur planning

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”

}
 

POST STATISTIQUES

  • Description : Permet de récupérer les statistiques en fonction d’une plage de date.
  • URL : https://api.ab-plus.com/planitel/smartphone/statistiques
  • Method : POST
  • Data model à envoyer :

{

   "debutSearch":"date_debut_search",

   "finSearch":"date_fin_search",
   “typeAppel”: “type d’appel”,

   "page":1,

   "limit":10

}

 

*Les dates doivent être au format “YY-MM-DD HH:mm:ss
*typeAppel: 0/1/2. 0=appels manqué entrant, 1=appels émis, 2=appels entrant

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "statistiques":

   [

      {

         "id":"id_stat1",
         “appelEntrant”: 0/1

         "dateHeure":"date1",

         "etat":"transfert/non transfert",

         "dureeAppel":"dureeAppel1",

         "dureeTransfert":"dureeTransfert1",

         "numeroTransfert":"numeroTransfert1",

         "numeroAppelant":"numeroAppelant1",

         "traite": 0/1/2, 

         "eteRappele": 0/1, 

         "astreinte": {

            "id": Id utilisateur, 

            "nom": Nom utilisateur

         }, 
         “idStatEntrant”: id stat appel entrant,

         "rappels": [

                {

                    "id": "id stat emis",

                    "dateHeure": "date heure stat emis",

                    "dureeAppel": "duree de l’appel",

                    "dureeTransfert": "duree du tranfert",

                    "astreinteID": "id astreinte",

                    "nomAstreinte": "nom de l’astreinte",

                    "numeroAstreinte": "numero de l’astreinte"

                }

          ]

      },…

   ]

}

 

*id : Id de la stat qui devra être renseigné lors d’un POST
*appelEntrant : Indique si la statistique concerne un appel entrant ou sortant

*etat : Indique si il y a eu un transfert sur l’appel, valeurs possibles : transfert - non transfert

*dureeAppel : Durée de l’appel en seconde

*dureeTransfert : Durée de transfert en seconde

*numeroTransfert : Numéro sur lequel le transfert a été effectué

*numeroAppelant: Numéro de l’appelant ayant essayé d’appeler le numéro Planitel

*Les dates doivent être au format “YY-MM-DD HH:mm:ss
*astreinte: Peut être vide si l’appel n’a pas été répondu par une personne d’astreinte.

*idStatEntrant: Id de la statistique de l’appel entrant. Cette donnée existe que si appelEntrant vaut 0 
*astreinte: Indique l’astreinte qui a répondu ou émit l’appel (selon appelEntrant)

*rappels: Liste des appels émis. Existe que si la stat correspond à un appel entrant
 

GET STATISTIQUES

  • Description : Permet de récupérer une statistique.
  • URL : https://api.ab-plus.com/planitel/smartphone/statistiques/{idStat}
  • Method : GET
  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "data":

   {

      "id":"id_stat1",

      “appelEntrant”: 0/1

      "dateHeure":"date1",

      "etat":"transfert/non transfert",

      "dureeAppel":"dureeAppel1",

      "dureeTransfert":"dureeTransfert1",

      "numeroTransfert":"numeroTransfert1",

      "numeroAppelant":"numeroAppelant1",

      "traite": 0/1/2, 

      "eteRappele": 0/1, 

      "astreinte": {

         "id": Id utilisateur, 

         "nom": Nom utilisateur

      }, 

     “idStatEntrant”: id stat appel entrant,

   },

}

 

PUT STATISTIQUES

  • Description : Permet de modifier une statistique.
  • URL : https://api.ab-plus.com/planitel/smartphone/statistiques
  • Method : PUT
  • Data model à envoyer :

{

   "idStat":"id_stat", 

   "rappel":0/1,

   “traite”: 0/1/2

}

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

}

 

POST CALLBACK

  • Description : Permet de créer la procédure de rappel (Pour un appel via le pavé numérique ne pas ajouter le champ idStat)
  • URL : https://api.ab-plus.com/planitel/smartphone/callback
  • Method : POST
  • Data model à envoyer :

{

   "idStat":"id_stat", 

   "numeroAppelant":"numeroAppelant",

   “numeroAppele”: “numeroAppele”

}

 

*idStat : Id de la stat concerné par le rappel (facultative)

*numeroAppelant : Numéro du mobile par lequel l’appel va être effectué.

*numeroAppele : Numéro du client a rappelé

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

}

 

GET CALLBACK

  • Description : Permet de récupérer la liste des appels sortant concernant un appel entrant.
  • URL : https://api.ab-plus.com/planitel/smartphone/callback/{idStat}
  • Method : GET

 

*idStat : Id de la stat de l’appel entrant

 

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   "statistiques": [

        {

           "id":"id_stat1",

           “appelEntrant”: 0/1

           "dateHeure":"date1",

           "etat":"transfert/non transfert",

           "dureeAppel":"dureeAppel1",

           "dureeTransfert":"dureeTransfert1",

           "numeroTransfert":"numeroTransfert1",

           "numeroAppelant":"numeroAppelant1",

           "traite": 0/1/2, 

           "eteRappele": 0/1, 

            "astreinte": {

               "id": Id utilisateur, 

               "nom": Nom utilisateur

            }, 

           “idStatEntrant”: id stat appel entrant

       },…

    ]

}

 

GET CUSTOMERS

  • Description : Permet de récupérer la liste des clients.
  • URL : https://api.ab-plus.com/planitel/smartphone/customers
  • Method : GET

Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   “customers”: [

      {

         “id”: id du client,

         “name_customer”: nom du client,

         “phone_number”: numéro téléphone du client

      }

  ]

}

 

GET CUSTOMERS/{ID}

  • Description : Permet de récupérer les informations d’un client.
  • URL : https://api.ab-plus.com/planitel/smartphone/customers/{id}
  • Method : GET

Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   “customers”: 

   {

      “id”: id du client,

      “name_customer”: nom du client,

      “phone_number”: numéro téléphone du client

   }

}

 

POST CUSTOMERS

  • Description : Permet de créer un client.
  • URL : https://api.ab-plus.com/planitel/smartphone/customers
  • Method : POST
  • Data model à envoyer :

{

   “nomClient”: nom du client,

   “numeroClient”: numéro téléphone du client

}

Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   “customers”: 

   {

      “id”: id du client,

      “name_customer”: nom du client,

      “phone_number”: numéro téléphone du client

   }

}

 

PUT CUSTOMERS/{ID}

  • Description : Permet de modifier les informations d’un client.
  • URL : https://api.ab-plus.com/planitel/smartphone/customers/{id}
  • Method : PUT
  • Data model à envoyer :

{

   “name_customer”: nom du client,

   “phone_number”: numéro téléphone du client

}

  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

   “customers”: 

   {

      “id”: id du client,

      “name_customer”: nom du client,

      “phone_number”: numéro téléphone du client

   }

}

 

DELETE CUSTOMERS/{ID}

  • Description : Permet de supprimer un client.
  • URL : https://api.ab-plus.com/planitel/smartphone/customers/{id}
  • Method : DELETE
  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

}

 

POST COMMENTARY

  • Description : Permet d’ajouter un commentaire.
  • URL : https://api.ab-plus.com/planitel/smartphone/commentary
  • Method : POST
  • Data model à envoyer :

{

   id: idStat,

   commentaire: “message”,

}

  • Data model retourné :

{

   "success":true/false,

}

 

PUT COMMENTARY

Description : Permet de modifier un commentaire.

  • URL : https://api.ab-plus.com/planitel/smartphone/commentary/{id}
  • Method : PUT
  • Data model à envoyer :

{

   commentaire: “message”,

   dateHeure: Date et Heure de modification du commentaire au format “YY-MM-DD HH:mm:ss

}

Data model retourné :

{

   “id”: idCommentary,

   “message”: “Commentaire modifié”,

   "success":true/false,

}

 

DELETE COMMENTARY/{ID}

  • Description : Permet de supprimer un commentaire.
  • URL : https://api.ab-plus.com/planitel/smartphone/commentary/{id}
  • Method : DELETE
  • Data model retourné :

{

   "success":true/false,

   "message":”resultat_de_la_requete”,

}

 

LISTE DES ERREURS

Ci-dessous une liste exhaustive des erreurs de l'API

 

  • “Invalid parameter: login/password”: le paramètre login ou password est incorrect.
  • “User does not exists”: les identifiants n’ont aucune correspondance.
  • “Service not activated on your account”: Identifiants corrects mais l’option smartphone n’est pas activée
     
  • “Token not found”: le token est introuvable.
  • “Invalid parameter: numero: xxx”: le numero xxx est incorrect.
  • “Invalid parameter: etoile: x”: etoile incorrect. x n’est pas la valeur attendu
  • “Invalid parameter: sonnerie: x”: x est incorrect

 

  • “Invalid parameter: idPeriode: xxx”: l’id xxx n’existe pas
  • “Invalid parameter: debut: xxx”: la date xxx n’est pas une date valide
  • “Invalid parameter: fin: xxx”: la date xxx n’est pas une date valide
     
  • “Invalid parameter: numeroAppelant: xxx:” le numeroAppelant xxx est incorrect.
  • “Service not available for this call: xxx”: le numero xxx ne peut pas etre rappelé
  • “Invalid parameter: idStat: x not found”: l’id x n’existe pas
     
  • “Invalid parameter: debutSearch: xxx”: la date xxx n’est pas une date valide
  • “Invalid parameter: finSearch: xxx”: la date xxx n’est pas une date valide
  • “Invalid parameter: rappel: x”: rappel incorrect. x n’est pas la valeur attendu
  • “Invalid parameter: traite: x”: traite incorrect. x n’est pas la valeur attendu
     
  • “Number's country is refused: xxxx: {pays}”: xxx est un numéro du pays {pays}. Cette destination est bloquée.
  • “Invalid parameter: numero: xxx is not a valid phone number format”: le format xxx n’est pas correct
     
  • “Internal error”: erreur lié au serveur.

Method 'xxx' not supported: la méthode xxx n’est pas autorisé


WEBSOCKET

Permet un affichage des données statistiques et planning en temps réel.

Le client doit se connecter a l’URL suivante: wss://websocket.dialotel.io:44381


Il doit envoyer un premier message en JSON pour créer un filtre de connexion.
Le serveur transfère les messages uniquement aux connexions ayant le même filtre.

 

STATISTIQUES

  • Data à envoyer
    {

   page: "statistique",

   "token":"token_generer par api",

   numeroPlanitel: "0805123456"

}

 

  • 2 types de Datas peuvent être reçus:
  •  

une statistique qui a été modifiée
{

   "page": "statistique", 

   "method": "editStatistique",

   "numeroPlanitel": "0805123456", 

   "traite": 0/1/2,

   "eteRappele": 0/1,

   "idStat": "id de la stat",

   “astreinte: {

      "id": Id utilisateur, 

      "nom": Nom utilisateur

   }

}


*astreinte: Indique seulement l’astreinte qui est en train de rappeler l’appelant de la stat.

ATTENTION: cette donnée existe seulement en cas de rappel en cours.

une statistique qui a été ajoutée
{

   "page": "statistique", 

   "method": "addStatistique",

   "numeroPlanitel": "0805123456", 

   "traite": 0/1/2,
   "data":

   {

      "id":"id_stat1",

      “appelEntrant”: 0/1

      "dateHeure":"date1",

      "etat":"transfert/non transfert",

      "dureeAppel":"dureeAppel1",

      "dureeTransfert":"dureeTransfert1",

      "numeroTransfert":"numeroTransfert1",

      "numeroAppelant":"numeroAppelant1",

      "traite": 0/1/2, 

      "eteRappele": 0/1, 

      "astreinte": {

         "id": Id utilisateur, 

         "nom": Nom utilisateur

      }, 

      “idStatEntrant”: id stat appel entrant

   }

}