Per le aziende con una soluzione di assistenza telefonica esistente o con esigenze di telefonia sofisticate, Talk Partner Edition consente di scegliere il software per call center e integrarlo con la soluzione omnicanale di Zendesk.
Con l’ API Talk Partner Edition puoi configurare le richieste di telefonia per attivare azioni in Zendesk Support, ad esempio:
- Identificazione di un agente in base al dispositivo telefonico
- Creazione di un ticket e visualizzazione a un agente
- Apertura di un ticket esistente per un agente
- Visualizzazione del profilo di un utente a un agente
- Aggiunta di una registrazione o trascrizione a un ticket
- Creazione di un ticket di posta vocale
Per maggiori dettagli ed esempi, consulta la Guida per gli sviluppatori di Talk Partner Edition.
Quali sono le funzioni di Talk Partner Edition?
Le API Talk Partner Edition (TPE) hanno due funzioni per aiutare con le integrazioni di telefonia computerizzata (CTI): Oggetto chiamata standard e Commento vocale. Puoi usare l’oggetto chiamata standard per memorizzare in Zendesk i dati delle chiamate standard di terzi. Il commento vocale è per le app basate su Talk Partner Edition ed è l’ideale per i messaggi di posta vocale. Ad esempio, per visualizzare informazioni come il numero dell’utente finale, il nome dell’agente che ha risposto alla chiamata o la durata della chiamata.
ESEMPIO DI INTEGRAZIONE
Premessa
Scopo del presente documento è fare un esempio di integrazione tra il centralino del cliente (CTI) e la sua istanza Zendesk usata.
Negli esempi di chiamate API, abbiamo definito dei tag che possiamo ri-valutare insieme.
ASSUNZIONE al funzionamento di queste specifiche, è che nel profilo utente dell’agente Zendesk , ci siamo un campo custom denominato “CallCenterAgentID” che contenga l’id dell’agente che risponderà così come lo identifica il centralino.
Con [zendeskURL] si intende l'url del portale zendesk usato dal cliente
1. Obiettivo
Obiettivo di questo flusso integrativo è la creazione e visualizzazione di un ticket nello schermo dell’operatore che risponde ad una chiamata in ingresso tramite la barra telefonica
Per raggiungere questo obiettivo dobbiamo seguire questi passi:
- Il CTI deve interrogare Zendesk per conoscere lo userID (id univoco di Zendesk) del chiamante (se conosciuto) e dell’agente che risponde
- Eseguire l’opportuna richiesta API a Zendesk per creare e mostrare il ticket all’agente del supporto che risponde
Per accedere all'api di zendesk, bisogna autenticarsi: https://developer.zendesk.com/api-reference/introduction/security-and-auth/
1.1 Richiedere lo USERID dell’agente che risponde
Usiamo la API search per cercare l’utente in zendesk desiderato
Esempio:
GET [zendeskURL]/api/v2/search.json?query=type:user+CallCenterAgentID:1234
“1234” rappresenta l’id utente o interno telefonico dell’agente che ha risposto così come lo identifica il CTI
Viene resituito un JSON come quello qui sotto, dal quale va tenuto il campo ID
{
"results": [
{
"id": 16683078940561,
"url": "https://**********.zendesk.com/api/v2/users/16683078940561.json",
"name": "be-simple dev",
"email": "dev@be-simple.it",
"created_at": "2023-07-03T13:55:02Z",
"updated_at": "2023-10-26T15:31:50Z",
"time_zone": "Rome",
"iana_time_zone": "Europe/Rome",
"phone": null,
"shared_phone_number": null,
"photo": null,
"locale_id": 22,
"locale": "it",
"organization_id": null,
"role": "admin",
"verified": true,
"external_id": null,
"tags": [],
"alias": "",
"active": true,
"shared": false,
"shared_agent": false,
"last_login_at": "2023-10-26T15:19:05Z",
"two_factor_auth_enabled": null,
"signature": "",
"details": "",
"notes": "",
"role_type": 4,
"custom_role_id": 14365597534097,
"moderator": true,
"ticket_restriction": null,
"only_private_comments": false,
"restricted_agent": false,
"suspended": false,
"default_group_id": 19590873254545,
"report_csv": false,
"user_fields": {
"callcenteragentid": "1234",
"gdpr_user_filters": null,
"gdpr_user_filters_fields": null
},
"result_type": "user"
}
],
"facets": null,
"next_page": null,
"previous_page": null,
"count": 1
}
1.2 Richiedere lo USERID del chiamante
Usiamo la API search per cercare l’utente in zendesk desiderato usando il numero di telefono
Esempio:
GET [zendeskURL]/api/v2/search.json?query=role%3Aend-user%20phone%3A*5135557611
“5135557611” rappresenta il numero di telefono dell’utente chiamante (l’asterisco davanti indica formati diversi del numero salvati nel profilo utente zendesk. Ese:
- +1 513.555.7611
- (513) 555-7611
- 513 555 7611
- 513-555-7611
- 513.555.7611
Il numero da cercare NON deve contenere caratteri NON numerici come spazi, sbarre o parentesi.
SE ESISTE un utente salvato con quel numero di telefono, viene resituito un JSON come quello del punto 2.1 del quale va tenuto il campo ID.
SE NON ESISTE viene restiuito:
{
"results": [],
"facets": null,
"next_page": null,
"previous_page": null,
"count": 0
}
1.3 Creazione profilo utente chiamante (se non esiste)
Nel caso in cui il punto 1.2 NON restituisca un ID utente valido vuol dire che l'utente non esiste, bisogna procedere a crearlo
POST [zendeskURL]/api/v2/users.json
Body { "user": { "name": "+15551234567", "phone": "+15551234567" ... }
La proprietà "phone" deve essere conforme al piano di numerazione telefonica internazionale E.164. Ad esempio, "+15551234567". I numeri E164 sono numeri internazionali con un prefisso di composizione del paese, di solito un prefisso e un numero di abbonato. Un numero di telefono E.164 valido deve includere il prefisso telefonico del paese.
L’esito della post, resituisce l’ID dell’utente creato da salvarsi per le successive chiamate
1.4 Creazione ticket e visualizzazione
Per creare il ticket si usa questa API
POST [zendeskURL]/api/v2/channels/voice/tickets.json
Body (esempio):
{
"display_to_agent": 1234,
"ticket": {
"comment": {
"body": "Chiamata ricevuta"
},
"via_id": 45,
"subject": "Chiamata ricevuta da nome cognome/numero telefono",
"assignee_id":1234,
"requester_id": 20978392,
"tags": ["incoming_call"],
"custom_fields": [{"id": 21938362, "value": "hd_3000"}]
}
}
DISPLAY_TO_AGENT = USERID agente che ha risposto recuperato al punto 1.1
ASSIGNEE_ID = USERID agente che ha risposto recuperato al punto 1.1
VIA_id = Si noti che è necessario specificare manualmente un valore per 44 (segreteria telefonica), 45 (chiamata in entrata) o 46 (chiamata in uscita)
REQUESTER_ID = USERID dell’utente chiamante come recuperato al puno 1.2 o 1.3
CUSTOM_FIELDS = campi da valorizzare in base alla selezione utente nell’IVR (SE PREVISTI)
Ulteriori letture
Per ulteriori informazioni su Talk Partner Edition, consulta le seguenti risorse:
Commenti
0 commenti
Questo articolo è chiuso ai commenti.