Sign inGet started

Menerima lokasi WhatsApp

Pin yang dibagikan kontak tiba sebagai pesan masuk yang membawa location. Arm yang sama menjawab permintaan lokasi yang Anda kirim, yaitu satu-satunya tipe interaktif yang balasannya masuk di sini, bukan di interactive_reply.

Apa yang dibawa lokasi masuk

Contoh kode
{
  "id": "wam_01kyf8u2shzx0v6m9q3bag8tje",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "location": {
    "latitude": 37.7793,
    "longitude": -122.4193,
    "name": "Embarcadero Plaza",
    "address": "1 Market St, San Francisco, CA 94105"
  },
  "created_at": "2026-08-25T09:23:14Z"
}
FieldIsi
latitudeLintang dalam derajat desimal
longitudeBujur dalam derajat desimal
nameNama tempat; tidak ada jika kontak membagikan pin biasa
addressAlamat jalan, yang WhatsApp kirim hanya bersama name
urlTautan ke tempat tersebut, terutama pada lokasi bisnis, jika klien pengirim menyediakannya
Pin biasa yang dijatuhkan di peta hanya membawa dua koordinat, jadi perlakukan name, address, dan url sebagai dekorasi yang Anda tampilkan jika ada, bukan field yang dijadikan kunci. Baca koordinat sebagai angka JSON, dan perkirakan nilai negatif di belahan bumi selatan dan barat.

Lokasi yang menjawab permintaan lokasi

Ketika pin menjawab permintaan lokasi yang Anda kirim, WhatsApp melaporkan permintaan tersebut sebagai target balasan dan in_reply_to_message_id menyebutkan pesan yang membawa tombol. Itulah yang menghubungkan jawaban ke pertanyaan, dan itulah perbedaannya dengan permintaan info kontak, yang balasannya tidak membawa tautan semacam itu.
Tidak ada hal lain yang menandai pin sebagai jawaban. Kontak yang membagikan lokasinya tanpa diminta menghasilkan arm yang sama tanpa in_reply_to_message_id, jadi integrasi yang memantau jawaban memeriksa field tersebut, bukan arm-nya. Field ini bukan jaminan ke arah sebaliknya: WhatsApp tidak menandai setiap balasan, dan resolusi bisa meleset, sehingga jawaban asli bisa tiba tanpanya. Halaman quoted replies di hub membahas kapan itu terjadi dan apa yang harus dilakukan jika klasifikasi harus akurat.

Payload webhook

whatsapp.received membawa arm location pada event envelope:
Contoh kode
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:23:14.507Z",
  "data": {
    "whatsapp_id": "wam_01kyf8u2shzx0v6m9q3bag8tje",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
    "location": {
      "latitude": 37.7793,
      "longitude": -122.4193,
      "name": "Embarcadero Plaza",
      "address": "1 Market St, San Francisco, CA 94105"
    },
    "tags": null,
    "metadata": null
  }
}

Hal yang perlu diperhatikan

  • Berbagi lokasi langsung tidak dimodelkan sebagai konten. Yang tiba adalah satu lokasi tetap pada satu momen, sehingga tampilan pelacakan tidak punya data untuk diperbarui. Jangan bangun tampilan pelacakan dari field ini.
  • Integrasi yang hanya memantau interactive_reply melewatkan ini. Jawaban permintaan lokasi tiba di sini, dan jawaban permintaan info kontak tiba di contact_cards, jadi handler yang hanya membaca tap akan kehilangan keduanya.
  • Koordinat adalah apa yang dilaporkan perangkat kontak. Koordinat tidak membawa radius akurasi maupun ketinggian, dan pin yang diseret kontak berada di mana pun mereka menyeretnya. Konfirmasikan alamat dalam kata-kata jika harus tepat.

Langkah selanjutnya