All Products
Search
Document Center

Chat App Message Service:ChatAppStatus

Last Updated:Dec 25, 2025

Tentukan URL HTTP untuk menerima tanda terima pengiriman (ChatAppStatus) pesan Mobile Terminated (MT).

Spesifikasi protokol

Parameter

Description

Protocol

HTTP + JSON

Encoding

UTF-8

Prasyarat

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:

  • Sent: Pesan telah dikirim.

  • Tersampaikan: Pesan telah berhasil disampaikan ke perangkat penerima.

  • Read: Pesan telah dibaca oleh penerima.

  • Failed: Pengiriman pesan gagal.

  • Deleted: Pesan telah dihapus.

    Catatan

    Status Deleted tidak tersedia. WhatsApp tidak mendorong status ini ke Chat App Message Service.

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:

  • service: Percakapan yang diprakarsai pengguna.

  • utility: Pesan transaksional.

  • marketing: Pesan pemasaran.

  • authentication: Pesan autentikasi.

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:

  • message: Pesan bebas. Anda hanya dapat mengirim jenis pesan ini dalam waktu 24 jam sejak pesan terakhir dari pengguna.

  • template: Templat pesan yang telah disetujui sebelumnya melalui Konsol. Anda dapat mengirim jenis pesan ini kapan saja.

Type

String

No

Jenis media konten pesan. Nilai yang valid:

  • image

  • video

  • document

  • audio

  • none: Teks biasa

TaskId

String

No

ID task kustom.

Catatan

Jika TaskId tidak ditentukan, nilai default-nya adalah nilai dari MessageId .

OriginPhoneNumber

String

No

Nomor telepon asli pengirim.

TemplateCode

String

No

Kode templat pesan.

Catatan

Bidang ini hanya tersedia ketika MsgFrameType bernilai template .

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.