Contact Center AI Platform (CCAI Platform) menyediakan endpoint Outbound SMS untuk saluran SMS.
SMS keluar
| Parameter | Wajib | Jenis Data | Definisi | |
|---|---|---|---|---|
| chat_type | TRUE | String | Jenis chat yang akan dibuat. "Messaging (API)", "SMS" (tidak digunakan lagi) tersedia untuk saat ini | Pesan (API) |
| end_user_number | TRUE | String | Nomor telepon yang akan dikirimi SMS | `{end_user_number}` |
| outbound_number | TRUE | String | Nomor telepon keluar yang akan digunakan untuk mengirim pesan SMS | `{outbound_number}` |
| pesan | TRUE | String | Pesan SMS yang akan dikirim ke konsumen | `{message}` |
| ticket_id | FALSE | String | ID tiket CRM yang akan dikaitkan dengan sesi | `{ticket_id}` |
Endpoint:
Method: POST
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/sms
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Contoh permintaan dan respons
Bagian berikut memberikan contoh permintaan ke endpoint.
Membuat chat SMS keluar dengan ID tiket
Contoh ini menunjukkan cara membuat SMS keluar ke pengguna akhir yang terkait dengan ID tiket.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Buat chat SMS keluar dengan 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"
}
Kode Status: 200
Membuat percakapan SMS keluar dan menetapkannya ke agen menggunakan ID agen
Contoh ini menunjukkan cara membuat SMS keluar yang ditetapkan ke agen berdasarkan ID agen yang diberikan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"agentId": 1
}
Respons: Buat percakapan SMS keluar dan tetapkan ke agen menggunakan 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"
}
Kode Status: 200
Membuat chat SMS keluar dan menetapkannya ke email agen
Contoh ini menunjukkan cara membuat sesi chat SMS keluar dan mengaitkannya dengan agen berdasarkan penyediaan alamat email agen.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"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"
}
Respons: Buat percakapan SMS keluar dan tetapkan ke agen menggunakan 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"
}
Kode Status: 200
Membuat chat SMS keluar tanpa ID tiket
Contoh ini menunjukkan cara membuat SMS keluar tanpa mengaitkannya dengan ID tiket.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Membuat chat SMS keluar tanpa 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"
}
Kode Status: 200
Error : chat_type harus diberikan
Contoh ini menunjukkan skenario kegagalan saat 'chat_type' tidak disediakan, tetapi diperlukan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : chat_type harus diberikan
{
"message": "chat_type needs to be provided"
}
Kode Status: 400
Error : jenis chat yang valid harus diberikan
Contoh ini menunjukkan skenario kegagalan saat jenis chat perlu diberikan, tetapi tidak ada.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "In-app",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : jenis chat yang valid harus diberikan
{
"message": "valid chat type needs to be provided"
}
Kode Status: 400
Error : SMS tidak diaktifkan
Contoh ini menunjukkan skenario kegagalan saat SMS keluar dimulai, tetapi SMS tidak diaktifkan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : SMS tidak diaktifkan
{
"message": "SMS is not enabled"
}
Kode Status: 400
Error : SMS keluar tidak diaktifkan
Contoh ini menunjukkan skenario kegagalan saat sesi SMS dimulai, tetapi gagal karena saluran SMS tidak diaktifkan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : SMS keluar tidak diaktifkan
{
"message": "Outbound SMS is not enabled"
}
Kode Status: 400
Error : Nomor pengguna akhir wajib diisi
Contoh ini menunjukkan skenario kegagalan saat nomor pengguna akhir tidak diberikan, tetapi diperlukan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : end_user_number wajib diisi
{
"message": "end_user_number is required"
}
Kode Status: 400
Error : Nomor pengguna akhir tidak valid
Contoh ini menunjukkan skenario kegagalan saat nomor pengguna akhir yang diberikan tidak valid.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "12345",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : end_user_number tidak valid
{
"message": "end_user_number is invalid"
}
Kode Status: 400
Error : Nomor telepon non-AS tidak diizinkan
Contoh ini menunjukkan skenario kegagalan saat nomor yang diberikan bukan nomor telepon AS dan dilarang.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+82 000-000-0000",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : Nomor telepon di luar AS tidak diizinkan
{
"message": "Non-US phone number not allowed"
}
Kode Status: 400
Error : Nomor keluar wajib diisi
Contoh ini menunjukkan skenario kegagalan saat nomor keluar tidak diberikan, tetapi diperlukan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : outbound_number wajib diisi
{
"message": "outbound_number is required"
}
Kode Status: 400
Error : Nomor keluar tidak valid
Contoh ini menunjukkan skenario kegagalan saat nomor keluar yang diberikan tidak valid.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "12345",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : outbound_number tidak valid
{
"message": "outbound_number is invalid"
}
Kode Status: 400
Error : outbound_number tidak ditemukan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : outbound_number tidak ditemukan
{
"message": "outbound_number is not found"
}
Kode Status: 400
Error : pesan wajib diisi
Contoh ini menunjukkan skenario kegagalan saat pesan tidak disediakan dalam memerlukan tetapi diperlukan.
Permintaan
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : pesan wajib diisi
{
"message": "message is required"
}
Kode Status: 400
Error : SMS keluar gagal. Konsumen sudah berada dalam sesi SMS aktif.
Header:
| Kunci | Nilai | Deskripsi |
|---|---|---|
| Content-Type | application/json |
Isi:
{
"chat_type": "Messaging (SMS)",
"end_user_number": "+1 415-555-0100",
"outbound_number": "+1 628-555-0199",
"message": "lorem ipsum",
"ticket_id": "5006x00000XXxxxXXX"
}
Respons: Error : SMS keluar gagal. Konsumen sudah berada dalam sesi SMS aktif.
{
"message": "Outbound SMS failed. Consumer is already in an active SMS session."
}
Kode Status: 400