Tentukan URL HTTP untuk menerima pesan Mobile Originated (MO).
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 overview and configuration of message receipts serta memahami mode, jenis, dan proses konfigurasinya. Selanjutnya, konfigurasikan tanda terima pesan sesuai kebutuhan.
Format permintaan
Satu permintaan dapat berisi beberapa pesan MO.
Contoh permintaan ketika Type bernilai TEXT:
[
{
"MessageId": "1000000000000001",
"From": "861388888****",
"To": "86137888****",
"DisplayName": "Mr Liu",
"Type": "TEXT",
"Message": "hello,it's me",
"Timestamp": 1662104191973,
"Name": "jack"
},
{
"MessageId": "1000000000000002",
"From": "861388888****",
"To": "86139123****",
"DisplayName": "Mr Wang",
"Type": "TEXT",
"Message": "hello,it's me",
"Timestamp": 1662104191973,
"Name": "Jones"
}
]Contoh permintaan ketika Type bernilai AUDIO:
[
{
"MessageId": "1000000000000003",
"CustSpaceId": "cams-83m8j9xxxxadc",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"NoticeType": "inbound",
"To": "+861378886****",
"Type": "AUDIO",
"Message":
"{
\"filename\":\"File.ogg\",
\"animated\":false,
\"id\":\"3214520xxxx75431\",
\"mimeType\":\"audio/ogg\",
\"url\":\"https://whatsapp-prod-oss-bucket.oss-ap-southeast-1.aliyuncs.com/1161931534xxxx19904.ogg\"
}",
"Timestamp ": 1662104191973,
"Name": "jack",
"WabaId": "95271863xxxx233",
},
{
"MessageId": "1000000000000004",
"CustSpaceId": "cams-83m8j9xxxxadc",
"From": "+861388888****",
"DisplayName": "Mr Wang",
"NoticeType": "inbound",
"To": "+861378886****",
"Type": "AUDIO",
"Message":
"{
\"filename\":\"File.ogg\",
\"animated\":false,
\"id\":\"3214520xxxx75431\",
\"mimeType\":\"audio/ogg\",
\"url\":\"https://whatsapp-prod-oss-bucket.oss-ap-southeast-1.aliyuncs.com/1161931534xxxx19904.ogg\"
}",
"Timestamp ": 1662104191973,
"Name": "John",
"WabaId": "95271863xxxx233",
}
]Contoh permintaan ketika Type bernilai DOCUMENT:
[
{
"MessageId": "1000000000000005",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"NoticeType": "inbound",
"To": "+861378889****",
"Type": "DOCUMENT",
"Message":
"{
\"filename\":\"eventlog_20251211_155722_GMT.jsonl\",
\"animated\":false,
\"id\":\"275171383xxxx878\",
\"mimeType\":\"application/octet-stream\",
\"url\":\"https://bucket-chatapp-file-internal.oss-ap-southeast-1.aliyuncs.com/1161931xxxxx8375296.jsonl\"
}",
"Timestamp ": 1662104191973,
"Name": "jack",
"WabaId": "212506738xxxx650",
"CustSpaceId": "cams-85sglhxxxxkw"
},
{
"MessageId": "1000000000000006",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"NoticeType": "inbound",
"To": "+861378882****",
"Type": "DOCUMENT",
"Message":
"{
\"filename\":\"eventlog_20251211_155722_GMT.jsonl\",
\"animated\":false,
\"id\":\"275171383xxxx878\",
\"mimeType\":\"application/octet-stream\",
\"url\":\"https://bucket-chatapp-file-internal.oss-ap-southeast-1.aliyuncs.com/1161931xxxxx8375296.jsonl\"
}",
"Timestamp ": 1662104191973,
"Name": "Jone",
"WabaId": "212506738xxxx650",
"CustSpaceId": "cams-85sglhxxxxkw"
}
]Contoh permintaan ketika Type bernilai REPLY:
[
{
"MessageId": "1000000000000007",
"From": "861388888****",
"DisplayName": "Mr Liu",
"To": "861378886****",
"Type": "REPLY",
"Message": "{ \"text\": \"click me\",\"payload\": \"1000000\" }" ,
"Timestamp ": 1662104191973
},
{
"MessageId": "1000000000000008",
"From": "861388888****",
"DisplayName": "Mr Wang",
"To": "861378883****",
"Type": "REPLY",
"Message": "{ \"text\": \"click me\",\"payload\": \"1000000\" }" ,
"Timestamp ": 1662104191973
}
]Contoh permintaan ketika Type bernilai LOCATION:
[
{
"MessageId": "1000000000000009",
"From": "861388888****",
"DisplayName":"Mr Liu",
"To": "861378868****",
"Type": "LOCATION",
"Message":
"{
\"address \": \"changsha yuelu street \",
\"latitude \": \"39.999137107913\",
\"longitude \": \"116.48074005043\",
\"name \": \"this is firest location message\"
}",
"Timestamp ": 1662104191973,
"Name": "jack"
},
{
"MessageId": "1000000000000010",
"From": "861388888****",
"DisplayName":"Mr Wang",
"To": "861378168****",
"Type": "LOCATION",
"Message":
"{
\"address \": \"changsha yuelu street \",
\"latitude \": \"39.999137107913\",
\"longitude \": \"116.48074005043\",
\"name \": \"this is firest location message\"
}",
"Timestamp ": 1662104191973,
"Name": "Jone"
}
]Deskripsi field
Field | Type | Required | Description |
MessageId | String | Yes | Identifier unik dari pesan. |
CustSpaceId | String | Yes | ID channel. |
WabaId | String | Yes | WhatsApp Business Account ID. |
From | String | Yes | Nomor telepon pengirim. |
To | String | Yes | Nomor telepon penerima. |
Timestamp | Long | Yes | Unix timestamp saat pesan dikirim, dalam milidetik. |
DisplayName | String | Yes | Nama tampilan pengirim. |
Type | String | Yes | Jenis pesan. Nilai yang valid:
|
Message | String | Yes | Konten pesan.
|
Name | String | Yes | Nama pengguna. |
LOCATION object
Field | Type | Required | Description |
address | String | Yes | Informasi alamat. |
latitude | String | Yes | Lintang. |
longitude | String | Yes | Bujur. |
name | String | Yes | Deskripsi lokasi. |
VIDEO object
Field | Type | Required | Description |
name | String | Yes | Deskripsi file video. |
id | String | Yes | ID file video. |
mimeType | String | Yes | Nilai tetap: ogg. Catatan Parameter ini dapat diabaikan jika |
url | String | Yes | URL file video. Catatan URL berlaku selama 7 hari. |
AUDIO object
Field | Type | Required | Description |
name | String | Yes | Deskripsi file audio. |
id | String | Yes | ID file audio. |
mimeType | String | Yes | Nilai tetap: audio. Catatan Parameter ini dapat diabaikan jika |
url | String | Yes | URL file audio. Catatan URL berlaku selama 7 hari. |
IMAGE object
Field | Type | Required | Description |
caption | String | No | Deskripsi citra. |
id | String | Yes | ID citra. |
mimeType | String | Yes | MIME type citra. |
url | String | Yes | URL citra. Catatan URL berlaku selama 7 hari. |
DOCUMENT object
Field | Type | Required | Description |
name | String | Yes | Deskripsi dokumen. |
id | String | Yes | ID dokumen. |
filename | String | Yes | Nama file dokumen. |
mimeType | String | Yes | Nilai tetap: |
url | String | Yes | URL dokumen. Catatan URL berlaku selama 7 hari. |
REPLY object
Field | Type | Required | Description |
text | String | Yes | Label teks tombol yang diklik pengguna. |
payload | String | Yes | Payload yang terkait dengan tombol yang diklik, yang telah Anda definisikan saat mengirim pesan. |
SYSTEM object
Field | Type | Required | Description |
body | String | Yes | Menjelaskan perubahan identitas atau nomor telepon pengguna. |
wa_id | String | Yes | WhatsApp ID baru pengguna setelah nomor teleponnya diperbarui. |
type | String | Yes | Jenis pembaruan sistem. Nilai yang valid:
|
Respons
Untuk mengonfirmasi penerimaan callback, titik akhir Anda harus mengembalikan kode status HTTP 200 dalam waktu 3 detik. Badan respons harus berupa objek JSON dengan format berikut. Jika tidak, platform menganggap pengiriman gagal dan akan mencoba mengirim ulang permintaan.
Contoh respons
{
"code": 0,
"msg": "Success"
}Deskripsi field
Field | Type | Required | Description |
code | Number | Yes | Kode respons. |
msg | String | No | Pesan deskriptif. |
Kebijakan Coba Lagi
Jika upaya dorong awal gagal, layanan akan mencoba mengirim 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 mengalami timeout. Setelah tiga kali upaya gagal, layanan berhenti mencoba mengirim ulang.