Tentukan URL HTTP untuk menerima tanda terima pengiriman (ChatAppStatus) pesan Mobile Terminated (MT).
Spesifikasi protokol
Parameter | Description |
Protocol | HTTP + JSON |
Encoding | UTF-8 |
Prasyarat
Anda telah mendaftarkan Akun Alibaba Cloud dan membuat pasangan Kunci Akses. Untuk informasi selengkapnya, lihat Create an AccessKey pair.
Anda telah meninjau ikhtisar dan konfigurasi tanda terima pengiriman pesan serta memahami mode, jenis, dan proses konfigurasinya. Selanjutnya, konfigurasikan tanda terima pengiriman pesan tersebut sesuai kebutuhan.
Format permintaan
Layanan mengirimkan pembaruan status ke URL callback Anda melalui permintaan HTTP POST. Satu permintaan dapat berisi array JSON yang terdiri dari satu atau beberapa objek laporan status.
Contoh permintaan ketika MsgFrameType bernilai template:
[
{
"Status":"Failed",
"ErrorDescription":"131026:Receiver is incapable of receiving this message(Message Undeliverable.)",
"MsgFrameType":"template",
"TaskId":"202307030171*******9",
"From":"86131*******8",
"Timestamp":1691043638000,
"OriginPhoneNumber":"86130*******8",
"TemplateCode":"820561547132813184",
"Type":"TEMPLATE",
"Language":"id",
"TemplateName":"wa_otp_v_0_0_3",
"To":"86138*******8",
"ErrorCode":"131026",
"MessageId":"2023078469463703*******3"
},
{
"Status":"Failed",
"ErrorDescription":"131026:Receiver is incapable of receiving this message(Message Undeliverable.)",
"MsgFrameType":"template",
"TaskId":"202307030171*******9",
"From":"86131*******8",
"Timestamp":1691043638000,
"OriginPhoneNumber":"86130*******8",
"TemplateCode":"820561547132813184",
"Type":"TEMPLATE",
"Language":"id",
"TemplateName":"wa_otp_v_0_0_3",
"To":"86137*******8",
"ErrorCode":"131026",
"MessageId":"2023078469463703*******3"
}
]Contoh permintaan ketika MsgFrameType bernilai message:
[
{
"Status":"Read",
"MsgFrameType":"message",
"Type":"INTERACTIVE",
"TaskId":"2023068473353098*******8",
"From":"86131*******8",
"To":"86138*******8",
"Timestamp":1691132091000,
"OriginPhoneNumber":"86131*******8",
"MessageId":"2023038470553398*******8",
"ConversationId":"72222201111****",
"ConversationType": "service"
},
{
"Status":"Read",
"MsgFrameType":"message",
"Type":"INTERACTIVE",
"TaskId":"2023068473353098*******8",
"From":"86131*******8",
"To":"86138*******1",
"Timestamp":1691132091000,
"OriginPhoneNumber":"86131*******8",
"MessageId":"2023038470553398*******8",
"ConversationId":"72222201111****",
"ConversationType": "service"
}
]Deskripsi bidang:
Parameter | Type | Required | Description |
MessageId | String | Yes | Pengidentifikasi unik pesan. |
From | String | Yes | Nomor telepon pengirim. |
To | String | Yes | Nomor telepon penerima. |
Timestamp | Long | Yes | Unix timestamp saat pesan dikirim, dalam milidetik. |
Status | String | Yes | Status pengiriman pesan. Nilai yang valid:
|
StatusDescription | String | Yes | Deskripsi status. |
ErrorCode | String | No | Kode kesalahan untuk kegagalan pengiriman. |
ErrorDescription | String | No | Deskripsi kode kesalahan. Untuk detailnya, lihat Error codes. |
ConversationType | String | No | Jenis percakapan. Nilai yang valid:
|
ConversationId | String | No | Pengidentifikasi unik percakapan. |
ConversationExpirationTime (deprecated) | Long | No | Waktu kedaluwarsa percakapan. Catatan Bidang ini sudah tidak digunakan dan tidak berpengaruh dalam model penagihan per-pesan yang baru. |
MsgFrameType | String | Yes | Jenis pesan. Nilai yang valid:
|
Type | String | No | Jenis media konten pesan. Nilai yang valid:
|
TaskId | String | No | ID task kustom. Catatan Jika |
OriginPhoneNumber | String | No | Nomor telepon asli pengirim. |
TemplateCode | String | No | Kode templat pesan. Catatan Bidang ini hanya tersedia ketika |
Format respons
Untuk mengonfirmasi penerimaan callback, titik akhir Anda harus mengembalikan kode status HTTP 200 dalam waktu 3 detik. Badan respons harus berupa objek JSON dalam format berikut. Jika tidak, sistem akan menganggap notifikasi tersebut gagal dan mencoba mendorong ulang.
Contoh respons
{
"code" : 0,
"msg" : "Success"
}Deskripsi bidang
Field | Type | Required | Description |
code | Number | Yes | Kode respons. |
msg | String | No | Pesan deskriptif. |
Kebijakan pengulangan
Jika upaya dorong awal gagal, layanan akan mencoba ulang permintaan setelah 1 menit dan sekali lagi setelah 5 menit. Upaya dianggap gagal jika titik akhir Anda mengembalikan kode status HTTP selain 200 atau jika permintaan melebihi batas waktu. Setelah tiga kali kegagalan berturut-turut, layanan akan berhenti mencoba ulang.