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
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.
URL : https://www.ab-plus.com/espace-client.htm
User : testplanitel5
Password : 40006
NumeroPlanitel : 0805123456 - 0180207033 (numéro noir associé)
Le token devra être utilisé pour toutes les requêtes sur les autres fonctions de l’API
{
"login":"user_login",
"password":"user_password",
}
{
"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”
}
}
{
"numero":"numero de telephone"
}
*numero : Peut être au format international ou format français
{
"success":true/false,
"message":”resultat_de_la_requete”,
"telephone":
{
"numero": "0147457878",
"indicatif": 33,
"national": "0147457878",
"international": "33147457878",
"code": "FR",
"pays": "France"
}
}
{
"success":true/false,
"message":”resultat_de_la_requete”,
"authorizedCountry": [
{
"code": "FR",
"pays": "France",
"indicatif": 33
},
{
"code": "GB",
"pays": "United Kingdom",
"indicatif": 44
}
]
}
{
"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
{
"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
{
"success":true/false,
"message":”resultat_de_la_requete”
}
{
"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”
{
“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”
{
"success":true/false,
"message":”resultat_de_la_requete”
}
{
"debut":"date_debut",
"fin":"date_fin"
}
*Les dates doivent être au format “YY-MM-DD HH:mm:ss”
{
"success":true/false,
"message":”resultat_de_la_requete”,
"idPeriode": idPeriode
}
*idPeriode : identifiant de la nouvelle tranche horaire
{
“idPeriode":idPeriode,
}
*idPeriode : identifiant récupérer lors d’un GET ou POST sur planning
{
"success":true/false,
"message":”resultat_de_la_requete”
}
{
"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
{
"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
{
"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,
},
}
{
"idStat":"id_stat",
"rappel":0/1,
“traite”: 0/1/2
}
{
"success":true/false,
"message":”resultat_de_la_requete”,
}
{
"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é
{
"success":true/false,
"message":”resultat_de_la_requete”,
}
*idStat : Id de la stat de l’appel entrant
{
"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
},…
]
}
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
}
]
}
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
}
}
{
“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
}
}
{
“name_customer”: nom du client,
“phone_number”: numéro téléphone du client
}
{
"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
}
}
{
"success":true/false,
"message":”resultat_de_la_requete”,
}
{
id: idStat,
commentaire: “message”,
}
{
"success":true/false,
}
Description : Permet de modifier un commentaire.
{
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,
}
{
"success":true/false,
"message":”resultat_de_la_requete”,
}
Ci-dessous une liste exhaustive des erreurs de l'API
Method 'xxx' not supported: la méthode xxx n’est pas autorisé
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.
page: "statistique",
"token":"token_generer par api",
numeroPlanitel: "0805123456"
}
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
}
}