Endpoint SMS

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