Contact Center AI Platform (CCAI Platform) fournit le point de terminaison SMS sortants pour le canal SMS.
SMS sortants
| Paramètre | Obligatoire | Type de données | Définition | |
|---|---|---|---|---|
| chat_type | TRUE | Chaîne | Type de chat à créer. Les options "Messagerie (API)" et "SMS" (obsolète) sont disponibles pour le moment. | Messagerie (API) |
| end_user_number | TRUE | Chaîne | Numéro de téléphone auquel le message doit être envoyé | `{end_user_number}` |
| outbound_number | TRUE | Chaîne | Numéro de téléphone sortant à utiliser pour envoyer le message SMS | `{outbound_number}` |
| message | TRUE | Chaîne | Message SMS à envoyer au client | `{message}` |
| ticket_id | FALSE | Chaîne | ID de la demande CRM qui sera associée à la session. | `{ticket_id}` |
Point de terminaison :
Method: POST
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/sms
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Exemples de requêtes et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Créer un chat par SMS sortant avec un numéro de ticket
Cet exemple montre comment créer un SMS sortant destiné à un utilisateur final associé à un numéro de demande.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Crée un chat par SMS sortant avec ticket_id
{
"id": 114,
"lang": "en",
"chat_type": "Messaging (SMS)",
"status": "selecting",
"created_at": "2021-10-04T17:20:51.000Z",
"queued_at": null,
"assigned_at": null,
"ends_at": null,
"wait_duration": 0,
"chat_duration": 0,
"rating": null,
"has_feedback": false,
"out_ticket_id": null,
"out_ticket_url": null,
"verified": false,
"disconnected_by": "disconnected_by_unknown",
"fail_reason": null,
"selected_menu": null,
"menu_path": null,
"agent_info": null,
"end_user": {
"id": 87,
"identifier": null,
"out_contact_id": null
},
"photos": [],
"videos": [],
"transfers": [],
"participants": [
{
"id": 205,
"type": "end_user",
"status": "connected",
"chat_id": 114,
"user_id": null,
"end_user_id": 87,
"chat_duration": null,
"connected_at": "2021-10-04T17:20:51.000Z",
"ended_at": null,
"fail_reason": "nothing"
}
],
"offer_type": null,
"offer_events": [],
"answer_type": "manual",
"outbound_number": "+16285550199"
}
Code d'état : 200
Créer une discussion SMS sortante et l'attribuer à un agent à l'aide de son ID
Cet exemple montre comment créer un SMS sortant qui est attribué à un agent en fonction de l'ID d'agent fourni.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"agentId": 1
}
Réponse : Créez une conversation SMS sortante et attribuez-la à un agent à l'aide de l'agentId.
{
"id": 114,
"lang": "en",
"chat_type": "Messaging (SMS)",
"status": "assigned",
"created_at": "2021-10-04T17:20:51.000Z",
"queued_at": null,
"assigned_at": "2021-10-04T17:20:53.000Z",
"ends_at": null,
"wait_duration": 0,
"chat_duration": 0,
"rating": null,
"has_feedback": false,
"out_ticket_id": null,
"out_ticket_url": null,
"verified": false,
"disconnected_by": "disconnected_by_unknown",
"fail_reason": null,
"selected_menu": null,
"menu_path": null,
"agent_info": {
"id": 1,
"agent_number": 9,
"email": "john.doe@foo.com",
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"avatar_url": "https://foobar.com/johndoe"
},
"end_user": {
"id": 87,
"identifier": null,
"out_contact_id": null
},
"photos": [],
"videos": [],
"transfers": [],
"participants": [
{
"id": 205,
"type": "end_user",
"status": "connected",
"chat_id": 114,
"user_id": null,
"end_user_id": 87,
"chat_duration": null,
"connected_at": "2021-10-04T17:20:51.000Z",
"ended_at": null,
"fail_reason": "nothing"
},
{
"id": 206,
"type": "agent",
"status": "connected",
"chat_id": 114,
"user_id": 1,
"end_user_id": null,
"chat_duration": null,
"connected_at": "2021-10-04T17:20:53.000Z",
"ended_at": null,
"fail_reason": "nothing"
}
],
"offer_type": null,
"offer_events": [],
"answer_type": "manual",
"outbound_number": "+16285550199"
}
Code d'état : 200
Créer un chat par SMS sortant et l'attribuer à une adresse e-mail d'agent
Cet exemple montre comment créer une session de chat SMS sortant et l'associer à un agent en fournissant son adresse e-mail.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"agentEmail": "john.doe@foo.com"
}
Réponse : Créez une conversation SMS sortante et attribuez-la à un agent à l'aide de l'agentId.
{
"id": 114,
"lang": "en",
"chat_type": "Messaging (SMS)",
"status": "assigned",
"created_at": "2021-10-04T17:20:51.000Z",
"queued_at": null,
"assigned_at": "2021-10-04T17:20:53.000Z",
"ends_at": null,
"wait_duration": 0,
"chat_duration": 0,
"rating": null,
"has_feedback": false,
"out_ticket_id": null,
"out_ticket_url": null,
"verified": false,
"disconnected_by": "disconnected_by_unknown",
"fail_reason": null,
"selected_menu": null,
"menu_path": null,
"agent_info": null,
"end_user": {
"id": 87,
"identifier": null,
"out_contact_id": null
},
"photos": [],
"videos": [],
"transfers": [],
"participants": [
{
"id": 205,
"type": "end_user",
"status": "connected",
"chat_id": 114,
"user_id": null,
"end_user_id": 87,
"chat_duration": null,
"connected_at": "2021-10-04T17:20:51.000Z",
"ended_at": null,
"fail_reason": "nothing"
},
{
"id": 206,
"type": "agent",
"status": "connected",
"chat_id": 114,
"user_id": 1,
"end_user_id": null,
"chat_duration": null,
"connected_at": "2021-10-04T17:20:53.000Z",
"ended_at": null,
"fail_reason": "nothing"
}
],
"offer_type": null,
"offer_events": [],
"answer_type": "manual",
"outbound_number": "+16285550199"
}
Code d'état : 200
Créer une discussion SMS sortante sans ID de demande
Cet exemple montre comment créer un SMS sortant sans l'associer à un numéro de demande.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Créer un chat par SMS sortant sans ticket_id
{
"id": 114,
"lang": "en",
"chat_type": "Messaging (SMS)",
"status": "selecting",
"created_at": "2021-10-04T17:20:51.000Z",
"queued_at": null,
"assigned_at": null,
"ends_at": null,
"wait_duration": 0,
"chat_duration": 0,
"rating": null,
"has_feedback": false,
"out_ticket_id": null,
"out_ticket_url": null,
"verified": false,
"disconnected_by": "disconnected_by_unknown",
"fail_reason": null,
"selected_menu": null,
"menu_path": null,
"agent_info": null,
"end_user": {
"id": 87,
"identifier": null,
"out_contact_id": null
},
"photos": [],
"videos": [],
"transfers": [],
"participants": [
{
"id": 205,
"type": "end_user",
"status": "connected",
"chat_id": 114,
"user_id": null,
"end_user_id": 87,
"chat_duration": null,
"connected_at": "2021-10-04T17:20:51.000Z",
"ended_at": null,
"fail_reason": "nothing"
}
],
"offer_type": null,
"offer_events": [],
"answer_type": "manual",
"outbound_number": "+16285550199"
}
Code d'état : 200
Erreur : Vous devez indiquer le type de chat
Cet exemple illustre le scénario d'échec dans lequel le paramètre "chat_type" n'a pas été fourni, mais est obligatoire.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : chat_type doit être fourni
{
"message": "chat_type needs to be provided"
}
Code d'état : 400
Erreur : Vous devez indiquer un type de chat valide
Cet exemple illustre le scénario d'échec dans lequel le type de chat doit être fourni, mais est manquant.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "In-app",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : vous devez fournir un type de chat valide
{
"message": "valid chat type needs to be provided"
}
Code d'état : 400
Erreur : Les SMS ne sont pas activés
Cet exemple illustre le scénario d'échec dans lequel un SMS sortant est initié, mais les SMS ne sont pas activés.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : Les SMS ne sont pas activés
{
"message": "SMS is not enabled"
}
Code d'état : 400
Erreur : Les SMS sortants ne sont pas activés
Cet exemple illustre le scénario d'échec dans lequel une session SMS est lancée, mais échoue, car le canal SMS n'est pas activé.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : Les SMS sortants ne sont pas activés
{
"message": "Outbound SMS is not enabled"
}
Code d'état : 400
Erreur : Vous devez indiquer le numéro de l'utilisateur final
Cet exemple illustre le scénario d'échec dans lequel le numéro de l'utilisateur final n'a pas été fourni, mais est requis.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : end_user_number est obligatoire
{
"message": "end_user_number is required"
}
Code d'état : 400
Erreur : Le numéro de l'utilisateur final n'est pas valide
Cet exemple illustre le scénario d'échec dans lequel le numéro de l'utilisateur final fourni n'est pas valide.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "12345",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : end_user_number n'est pas valide
{
"message": "end_user_number is invalid"
}
Code d'état : 400
Erreur : Numéro de téléphone non américain non autorisé
Cet exemple illustre le scénario d'échec dans lequel le numéro fourni n'est pas un numéro de téléphone américain et est interdit.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+82 000-000-0000",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : Numéro de téléphone non américain non autorisé
{
"message": "Non-US phone number not allowed"
}
Code d'état : 400
Erreur : Le numéro sortant est obligatoire
Cet exemple illustre le scénario d'échec dans lequel le numéro sortant n'a pas été fourni, mais est obligatoire.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : outbound_number est obligatoire
{
"message": "outbound_number is required"
}
Code d'état : 400
Erreur : Le numéro sortant n'est pas valide
Cet exemple illustre le scénario d'échec dans lequel le numéro sortant fourni n'est pas valide.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "12345",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : outbound_number is invalid
{
"message": "outbound_number is invalid"
}
Code d'état : 400
Erreur : outbound_number introuvable
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : outbound_number introuvable
{
"message": "outbound_number is not found"
}
Code d'état : 400
Erreur : Vous devez indiquer un message
Cet exemple illustre le scénario d'échec dans lequel le message n'a pas été fourni dans les exigences, mais est obligatoire.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : message obligatoire
{
"message": "message is required"
}
Code d'état : 400
Erreur : Échec de l'envoi du SMS. Le consommateur est déjà dans une session SMS active.
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Réponse : Erreur : Échec de l'envoi du SMS sortant. Le consommateur est déjà dans une session SMS active.
{
"message": "Outbound SMS failed. Consumer is already in an active SMS session."
}
Code d'état : 400