Kami akan menghentikan On-Premises API. Lihat Proses Penghentian On-Premises API dokumen untuk detailnya, dan untuk mempelajari cara bermigrasi ke Cloud API generasi berikutnya.
Template pesan interaktif memperluas konten yang dapat Anda kirim ke penerima di luar template pesan standar dan jenis template pesan media untuk menyertakan tombol interaktif menggunakan objek components.
Ada dua jenis tombol standar yang ditawarkan:
Tombol-tombol ini dapat dilampirkan ke pesan teks atau pesan media. Setelah template pesan interaktif Anda dibuat dan disetujui, Anda dapat menggunakannya dalam pesan notifikasi serta pesan layanan pelanggan.
Anda perlu:
Setelah template pesan disetujui, Anda dapat menggunakan API untuk mengirim pesan.
POST ke /messages
POST /v1/messages
{
"to": "recipient_wa_id",
"type": "template",
"template": {
"namespace": "your-namespace",
"language": {
"policy": "deterministic",
"code": "your-language-and-locale-code"
},
"name": "your-template-name",
"components": [
{
"type" : "header",
"parameters": [
{
"type": "text",
"text": "replacement_text"
}
]
# end header
},
{
"type" : "body",
"parameters": [
{
"type": "text",
"text": "replacement_text"
},
{
"type": "currency",
"currency" : {
"fallback_value": "$100.99",
"code": "USD",
"amount_1000": 100990
}
},
{
"type": "date_time",
"date_time" : {
"fallback_value": "February 25, 1977",
"day_of_week": 5,
"day_of_month": 25,
"year": 1977,
"month": 2,
"hour": 15,
"minute": 33, #OR
"timestamp": 1485470276
}
},
{
...
# Any additional template parameters
}
]
# end body
},
# The following part of this code example includes several possible button types,
# not all are required for an interactive message template API call.
{
"type": "button",
"sub_type" : "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
# Business Developer-defined payload
"payload":"aGlzIHRoaXMgaXMgY29vZHNhc2phZHdpcXdlMGZoIGFTIEZISUQgV1FEV0RT"
}
]
},
{
"type": "button",
"sub_type" : "url",
"index": "1",
"parameters": [
{
"type": "text",
# Business Developer-defined dynamic URL suffix
"text": "9rwnB8RbYmPF5t2Mn09x4h"
}
]
},
{
"type": "button",
"sub_type" : "url",
"index": "2",
"parameters": [
{
"type": "text",
# Business Developer-defined dynamic URL suffix
"text": "ticket.pdf"
}
]
}
]
}
}
Tanggapan yang berhasil mengandung objek messages dengan id.
{
"messages": [{
"id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
}]
}
Tanggapan yang gagal berisi objek kesalahan dengan string kesalahan, kode kesalahan, dan informasi lainnya.
Jika template dikirim ke akun yang tidak dapat menerima template tersebut, kesalahan 1026 (ReceiverIncapable) akan dikirim dalam objek kesalahan ke server Webhooks yang dikonfigurasi.
Lihat Kode Kesalahan dan Status untuk informasi selengkapnya tentang kesalahan.
Ketika pengguna mengeklik tombol balasan cepat, tanggapan dikirim kembali ke bisnis. Lihat Panggilan Balik dari Klik Tombol Balasan Cepat untuk informasinya. Pengguna juga dapat memilih untuk tidak mengeklik tombol dan hanya mengirimi Anda pesan formulir gratis.
{
"contacts": [
{
"profile": {
"name": "Kerry Fisher"
},
"wa_id": "16505551234"
}
],
"messages": [
{
"button": {
"payload": "No-Button-Payload",
"text": "No"
},
"context": {
"from": "16315558007",
"id": "gBGGFmkiWVVPAgkgQkwi7IORac0"
},
"from": "16505551234",
"id": "ABGGFmkiWVVPAgo-sKD87hgxPHdF",
"timestamp": "1591210827",
"type": "button"
}
]
# If there are any errors, an errors field (array) will be present
"errors": [ { ... } ]
}
Contoh ini menunjukkan proses menyiapkan template pesan interaktif yang dimulai dengan pembuatan template di Pengelola Bisnis Anda dan mengirimkan template pesan dengan panggilan API ke endpoint messages.
Contoh ini menunjukkan pembuatan template pesan interaktif dengan tombol balasan cepat.

messages ditambahkan dalam informasi parameter.
POST /v1/messages
{
"to": "your-test-recipient-wa-id",
"recipient_type": "individual",
"type": "template",
"template": {
"namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2",
"name": "upcoming_trip_reminder",
"language": {
"code": "en",
"policy": "deterministic"
},
"components": [
{
"type": "header",
"parameters": [
{
"type": "text",
"text": "12/26"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "*Ski Trip*"
},
{
"type": "date_time",
"date_time" : {
"fallback_value": "29th July 2019, 8:00am",
"day_of_month": "29",
"year": "2019",
"month": "7",
"hour": "8",
"minute": "00"
}
},
{
"type": "text",
"text": "*Squaw Valley Ski Resort, Tahoe*"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": 0,
"parameters": [
{
"type": "payload",
"payload": "Yes-Button-Payload"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": 1,
"parameters": [
{
"type": "payload",
"payload": "No-Button-Payload"
}
]
}
]
}
}

Contoh ini menunjukkan pembuatan template pesan media interaktif dengan tombol URL dan nomor telepon.
messages ditambahkan dalam informasi parameter.
POST /v1/messages
{
"to": "your-test-recipient-wa-id",
"recipient_type": "individual",
"type": "template",
"template": {
"namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2",
"name": "oculus_shipment_update",
"language": {
"code": "en",
"policy": "deterministic"
},
"components": [
{
"type": "header",
"parameters": [{
"type": "image",
"image": {
"link": "link-to-your-image"
}
}]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "Anand"
},
{
"type": "text",
"text": "Quest"
},
{
"type": "text",
"text": "113-0921387"
},
{
"type": "date_time",
"date_time" : {
"fallback_value": "23rd Nov 2019",
"day_of_month": "20",
"year": "2019",
"month": "9"
}
}
]
},
{
"type": "button",
"index": "0",
"sub_type": "url",
"parameters": [
{
"type": "text",
"text": "1Z999AA10123456784"
}
]
}
]
}
}
