Global Contact Center

- onecontact reporting rest api

15 minutes de lecture imprimer

Cette API permet la récupération des CDR d’interaction historiques (Inbound, Outbound et Manual) ainsi que les informations, les enregistrements qui leurs sont associés(appel, email et chat) . D’autres opérations sont aussi possibles sur les enregistrements disponibles telles que la mise à jour de certaines informations, leur suppression, ou le déploiement d’un rapport de statistique.

Dans cet article, nous allons présenter les blocs ci-dessous.

Inbound: plusieurs webservices sont disponibles pour recupérer les CDRs interaction entrantes du tenant

Outbound: plusieurs webservices sont disponibles pour demander des statistiques sur les agents d’une campagne ou demander des statistiques de toutes les campagnes pour un agent

POST /api/tenants/{tenantId}/Outbound:Search                                                                                     Get all outbound interactions

POST /api/tenants/{tenantId}/Outbound/Recordings:Search                                                                 Get recording information about all interactions

POST/api/tenants/{tenantId}/Outbound/{serviceID}/{contactID}/{contactListID}:Search                          Get interaction details

POST /api/tenants/{tenantId}/Outbound/{serviceID}/{contactID}/{contactListID}/Recording:Search        Get recording information about an outbound interactiontails

POST /api/tenants/{tenantId}/Outbound/Recordings:Export                                                                    Export outbound recordingsn

Manual: pour avoir des statistiques sur une campagne ou toutes campagnes entrantes:

  • POST /api/tenants/{tenantId}/Manual:Search                                                   Get all manual interactions
  • POST /api/tenants/{tenantId}/Manual/{interactionID}:Search                           Get interaction details
  • POST /api/tenants/{tenantId}/Manual/{interactionID}/Recordings:Search        Get recording information about an outbound interaction
  • POST /api/tenants/{tenantId}/Manual/Recordings:Search                                Get recording information about all interactions
  • POST /api/tenants/{tenantId}/Manual/Recordings:Export                                 Export manual recordings

Recording: pour avoir des statistiques sur une campagne ou toutes campagnes sortantes, ainsi que sur une list de contacts:

  • PUT /api/tenants/{tenantId}/Interactions/{interactionID}/Recordings                                       Update information about a recording
  • DELETE /api/tenants/{tenantId}/Interactions/{interactionID}/Recordings                                  Update information about a recording being deleted
  • GET /api/tenants/{tenantId}/AgentSessions/{agentSessionID}/Recordings                               Get recordings file location
  • PUT /api/tenants/{tenantId}/AgentSessions/{agentSessionID}/Recordings                               Update information about a recording
  • DELETE /api/tenants/{tenantId}/AgentSessions/{agentSessionID}/Recordings                          Update information about a recording being deleted
  • POST /api/tenants/{tenantId}/Interactions/{interactionID}/Recordings/:FileCopied                  Update information about a recording being copied
  • POST /api/tenants/{tenantId}/AgentSessions/{agentSessionID}/Recordings/:FileCopied          Update information about a recording being copied
  • POST /api/tenants/{tenantId}/StoreRecording                                                                            Create recording
  • GET /api/tenants/{tenantId}/GetRecordingByID/{id}                                                                   Get recording information
  • GET /api/tenants/{tenantId}/IMRecordingByID/{interactionId}                                                   Get IM recording information
  • GET /api/tenants/{tenantId}/GetRecordingURL/{id}                                                                    Get recording physical location
  • DELETE /api/tenants/{tenantId}/Interactions/{interactionId}/Recordings/Audio/{recordId}       Delete a audio recording
  • DELETE /api/tenants/{tenantId}/Interactions/{interactionId}/Recordings/Audio                         Delete all audio recordings
  • DELETE /api/tenants/{tenantId}/AgentSessions/{agentSessionId}/Recordings/Screen/{recordId}        Delete a screen recording
  • DELETE /api/tenants/{tenantId}/AgentSessions/{agentSessionId}/Recordings/Screen               Delete all screen recordings

Important

Le paramètre URL ApiVersion est une obligation. Souvent c’est la dernière version indiquée dans le swagger qu’il faut utiliser. Dans certains cas, la dernière version n’est pas supportée par certains webservice, il faut changer la version pour que cela fonctionne.

Exemple : Le webservice « /api/tenants/{tenantId}/Services/{id}/Agents » nécessite le version 1.1 (pas la version 1.16)

Note 1 :

Filtres

Un certain nombreS de WebServices supportent l’application des filtres dans la requête pour cibler les données à retourner. Pour cela il faut utiliser le paramètres « $filter » dans le body et se servir des filtres disponibles :

  • startDate: (date au format AAAA-MM-JJTHH24:MI:SS.000) date/heure début du filtre des enregistrements à retourner
  • endDate:(date au format AAAA-MM-JJTHH24:MI:SS.000) date/heure fin du filtre des enregistrements à retourner
  • mediaType: (entier de la liste des media type) id du mediaType à retourner.

En plus du paramètre « $filter » dans le body, d’autres paramètres peuvent aussi être utilisés pour adapter le résultat à retourner par le webservice, comme:

  • $includesubitems: (true / false):  Si les enregistrements retournés disposent de sous éléments et ce paramètre est positionné à true, ces sous éléments seront retournés.
  • $commandtimeout: (entier) : timeout d’exécution de la requête
  • $searchFirst: (true / false): ???

Note 2 :

Les retours des webServices

Globalement, en retour des WebServices, on obtient un objet entenant entre autre un tableau « values » qui contient de son tour une liste l’éléments. Les autres éléments retournés dans l’objet sont les suivants :

  • @pageIndex: le numéro de page parmi une liste de pages en retour du WebService, la page suivante se trouve dans l’url contenu dans le paramètre \@nextPage ( (la valeur par défaut est 0, il peut être modifiée ou spécifiée  en passant un paramètre [$pageIndex ] dans l’URL en envoyant la requête))
  • @pageSize: le nombre d’éléments retournés dans la page dans la page (la valeur par défaut est 25, il peut être modifiée ou spécifiée en passant un paramètre [$pageSize] dans l’URL en envoyant la requête)
  • @count: le nombre d’éléments disponibles globalement. Ce nombre sera répartiré par lot d’élements sur les pages retournées selon le nombre d’élements souhaité par page.
  • @previousPage: l’url de la page précedente (contient null pour la première page 0)
  • @nextPage: l’url de la page suivante (contient null pour la dernière page N)

Note 3

Pour tester l’API il faut avoir un token

Articles connexes :

Obtenir les CDRs des interactions entrantes

Obtenir le détail d’une interaction entrante

Obtenir les statistiques sur les agents d’une campagne

Ces informations vous ont-elles aidé ?


Hanane

Chargée de clientèle au Support Fonctionnel de SFR Business.