All Products
Search
Document Center

Chat App Message Service:ChatAppInbound

Last Updated:Apr 24, 2026

Tentukan URL HTTP untuk menerima pesan Mobile Originated (MO).

Spesifikasi protokol

Parameter

Description

Protocol

HTTP + JSON

Encoding

UTF-8

Prasyarat

Catatan

Untuk prosedur mengonfigurasi pesan MO, lihat Mengonfigurasi tanda terima pesan.

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

Parameter

Type

Required

Description

MessageId

String

Yes

Identifier unik untuk pesan tersebut.

CustSpaceId

String

Yes

ID channel.

WabaId

String

Yes

ID WhatsApp Business Account (WABA).

From

String

Yes

Nomor telepon pengirim.

To

String

Yes

Nomor telepon penerima.

FromUserId

String

No

BSUID

FromParentUserId

String

No

Parent BSUID (jika ada)

FromUserName

String

No

Akun pengguna (jika ada)

Timestamp

Long

Yes

Unix timestamp saat pesan dikirim, dalam milidetik.

DisplayName

String

Yes

Nama tampilan pengirim.

Type

String

Yes

Jenis pesan. Nilai yang valid:

  • TEXT

  • LOCATION

  • DOCUMENT

  • VIDEO

  • AUDIO

  • REPLY

  • IMAGE

  • CONTACTS

  • SYSTEM

Message

Object

Yes

Konten pesan.

Name

String

Yes

Nama pengguna.

LOCATION object

Parameter

Type

Required

Description

address

String

Yes

Informasi alamat.

latitude

String

Yes

Lintang.

longitude

String

Yes

Bujur.

name

String

Yes

Deskripsi lokasi.

VIDEO object

Parameter

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 codecs=opus.

url

String

Yes

URL file video.

Catatan

URL berlaku selama 7 hari.

IMAGE object

Parameter

Type

Required

Description

caption

String

No

Deskripsi gambar.

id

String

Yes

ID gambar.

mimeType

String

Yes

Tipe MIME gambar.

url

String

Yes

URL gambar.

Catatan

URL berlaku selama 7 hari.

AUDIO object

Parameter

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 codecs=opus.

url

String

Yes

URL file audio.

Catatan

URL berlaku selama 7 hari.

DOCUMENT object

Parameter

Type

Required

Description

name

String

Yes

Deskripsi dokumen.

id

String

Yes

ID dokumen.

filename

String

Yes

Nama file dokumen.

mimeType

String

Yes

Nilai tetap: application/pdf .

url

String

Yes

URL dokumen.

Catatan

URL berlaku selama 7 hari.

REPLY object

Parameter

Type

Required

Description

text

String

Yes

Label teks tombol yang diklik pengguna.

payload

String

Yes

Muatan yang dikembalikan saat pengguna mengklik tombol. Nilai ini sesuai dengan payload yang Anda definisikan dalam pesan terkirim.

SYSTEM object

Parameter

Type

Required

Description

body

String

Yes

Menjelaskan perubahan identitas atau nomor telepon pengguna.

wa_id

String

Yes

ID WhatsApp baru pengguna setelah nomor teleponnya diperbarui.

type

String

Yes

Jenis pembaruan sistem. Nilai yang valid:

  • customer_changed_number : Pengguna mengubah nomor teleponnya.

  • customer_identity_changed : Pengguna mengubah profilnya.

Respons

Untuk mengonfirmasi penerimaan callback, endpoint 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 ulang permintaan tersebut.

Contoh respons

{
  "code": 0,
  "msg": "Success"
}

Deskripsi field

Field

Type

Required

Description

code

Number

Yes

Kode respons.

msg

String

No

Pesan deskriptif.

Kebijakan percobaan ulang

Jika upaya dorong awal gagal, layanan akan mencoba ulang permintaan setelah 1 menit dan sekali lagi setelah 5 menit. Upaya dianggap gagal jika endpoint Anda mengembalikan kode status HTTP selain 200 atau jika permintaan mengalami timeout. Setelah tiga kali upaya gagal, layanan akan berhenti mencoba ulang.