Nomor Telepon

Panduan ini menentukan bagaimana Anda dapat memverifikasi nomor telepon Anda dan format yang diperlukan untuk Cloud API.

Ada kriteria untuk jenis nomor telepon yang dapat Anda tambahkan ke akun WhatsApp Business (WABA) Anda. Lihat Nomor Telepon untuk informasi selengkapnya.

Beberapa panggilan API yang terdaftar mewajibkan Anda untuk mengetahui ID nomor telepon Anda. Lihat Mendapatkan Semua Nomor Telepon tentang cara mendapatkan nomor telepon yang terkait dengan WABA Anda. Tanggapan panggilan API mencakup ID untuk setiap nomor telepon yang terhubung ke akun WhatsApp Business Anda. Simpan ID untuk telepon yang ingin Anda gunakan dengan panggilan /PHONE_NUMBER_ID.

Memverifikasi Nomor Telepon

Anda perlu memverifikasi nomor telepon yang ingin Anda gunakan untuk mengirim pesan ke pelanggan Anda. Nomor telepon harus diverifikasi menggunakan kode yang dikirim melalui SMS/panggilan suara. Proses verifikasi dapat dilakukan melalui panggilan Graph API yang ditentukan di bawah ini.

Untuk memverifikasi nomor telepon menggunakan Graph API, buat permintaan POST ke PHONE_NUMBER_ID/request_code. Dalam panggilan Anda, sertakan metode verifikasi dan bahasa yang Anda pilih.

EndpointAutentikasi

/PHONE_NUMBER_ID/request_code

Autentikasi diri Anda dengan token akses pengguna sistem.


Jika Anda meminta kode atas nama bisnis lain, token akses harus memiliki Akses Lanjutan ke izin whatsapp_business_management.

Parameter

Nama Deskripsi (Klik panah di kolom kiri untuk opsi yang didukung.)

code_method

string

Wajib.

Metode yang dipilih untuk verifikasi.

Opsi yang Didukung

  • SMS
  • VOICE

language

string

Wajib.

Kode dua karakter dari kode bahasa tersebut. Contoh: "en".

Contoh

Contoh permintaan:

curl -X POST \
  'https://graph.facebook.com/v13.0/FROM_PHONE_NUMBER_ID/request_code' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -F 'code_method=SMS' 
  -F 'locale=en_US'

Setelah panggilan API, Anda akan menerima kode verifikasi melalui metode yang Anda pilih. Untuk menyelesaikan proses verifikasi, sertakan kode Anda dalam permintaan POST ke PHONE_NUMBER_ID/verify_code.

Endpoint Autentikasi

/PHONE_NUMBER_ID/verify_code

Autentikasi diri Anda dengan token akses pengguna sistem.


Jika Anda meminta kode atas nama bisnis lain, token akses harus memiliki Akses Lanjutan ke izin whatsapp_business_management.

Parameter

NamaDeskripsi

code

string numerik

Wajib.

Kode yang Anda terima setelah memanggil FROM_PHONE_NUMBER_ID/request_code.

Contoh

Contoh permintaan:

curl -X POST \
  'https://graph.facebook.com/v13.0/FROM_PHONE_NUMBER_ID/verify_code' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -F 'code=000000'

Tanggapan yang berhasil akan terlihat seperti ini:

{
  "success": true
}

WhatsApp User Phone Number Formats

Plus signs (+), hyphens (-), parenthesis ((,)), and spaces are supported in send message requests.

We highly recommend that you include both the plus sign and country calling code when sending a message to a customer. If the plus sign is omitted, your business phone number's country calling code is prepended to the customer's phone number. This can result in undelivered or misdelivered messages.

For example, if your business is in India (country calling code 91) and you send a message to the following customer phone number in various formats:

Number In Send Message RequestNumber Message Delivered ToOutcome

+16315551234

+16315551234

Correct number

+1 (631) 555-1234

+16315551234

Correct number

(631) 555-1234

+916315551234

Potentially wrong number

1 (631) 555-1234

+9116315551234

Potentially wrong number

Pemeriksaan Perubahan Identitas

Anda mungkin ingin kami memverifikasi identitas pelanggan sebelum kami menyampaikan pesan Anda kepada mereka. Anda dapat meminta kami melakukan ini dengan mengaktifkan pengaturan pemeriksaan perubahan identitas pada nomor telepon bisnis Anda.

Jika pelanggan melakukan tindakan di WhatsApp yang kami anggap sebagai perubahan identitas, kami akan membuat hash identitas baru untuk pengguna tersebut. Anda bisa mendapatkan hash ini kapan saja ketika Anda mengirim pesan kepada pelanggan, dengan cara mengaktifkan pengaturan pemeriksaan perubahan identitas pada nomor telepon bisnis Anda. Setelah diaktifkan, kapan saja pelanggan mengirimkan pesan kepada Anda, atau Anda mengirimkan pesan kepada pelanggan tanpa identitas hash, kami akan menyertakan hash mereka ke Webhooks pesan masuk atau Webhooks status penyampaian. Anda kemudian dapat mengambil gambar dan menyimpan hash ini untuk penggunaan di masa mendatang.

Untuk menggunakan hash, sertakan dalam permintaan kirim pesan. Kami akan membandingkan hash dalam permintaan dengan hash pelanggan saat ini. Jika hash cocok, pesan akan disampaikan. Jika ada yang tidak cocok, itu berarti pelanggan telah mengubah identitas mereka sejak terakhir Anda mengirimkan pesan kepada mereka dan kami tidak akan menyampaikan pesan. Sebagai gantinya, kami akan mengirimi Anda Webhooks status pesan yang berisi kode kesalahan 137000, memberi tahu Anda tentang kegagalan dan ketidakcocokan.

Ketika Anda menerima hash Webhooks yang tidak cocok, anggap nomor telepon pelanggan tidak bisa dipercaya lagi. Untuk membangun kembali kepercayaan, verifikasikan identitas pelanggan lagi menggunakan saluran non-WhatsApp lainnya. Setelah Anda membangun kembali kepercayaan, kirimkan ulang pesan yang gagal ke identitas baru (jika ada), tanpa hash. Kemudian simpan hash baru pelanggan yang disertakan dalam Webhooks penyampaian status pesan.

Sintaksis Permintaan

Kirim permintaan POST ke endpoint Nomor Telepon WhatsApp Business > Pengaturan untuk mengaktifkan atau menonaktifkan pengaturan pemeriksaan perubahan identitas.

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER>/settings

Isi Postingan

{
  "user_identity_change" : {
    "enable_identity_key_check": <ENABLE_IDENTITY_KEY_CHECK>
}

Atur <ENABLE_IDENTITY_KEY_CHECK> ke true untuk mengaktifkan pemeriksaan identitas, atau false untuk menonaktifkannya.

Contoh Permintaan Aktifkan

curl 'https://graph.facebook.com/v21.0/106850078877666/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "user_identity_change": {
    "enable_identity_key_check": true
  }
}'

Contoh Tanggapan Aktifkan

{
  "success": true
}

Contoh Kirim Pesan dengan Pemeriksaan

Contoh pesan ini hanya akan disampaikan jika nilai hash recipient_identity_key_hash cocok dengan hash pelanggan saat ini.

curl 'https://graph.facebook.com/v21.0/106850078877666/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
    "messaging_product": "whatsapp",
    "recipient_type": "individual",
    "to": "+16505551234",
    "recipient_identity_key_hash": "DF2lS5v2W6x=",
    "type": "text",
    "text": {
        "preview_url": false,
        "body": "Your latest statement is attached. See... "
    }
}'

Contoh Webhooks Pesan Masuk

Di Webhooks pesan masuk, hash pelanggan ditetapkan ke properti identity_key_hash.

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "102290129340398",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "15550051310",
              "phone_number_id": "106540352242922"
            },
            "contacts": [
              {
                "profile": {
                  "name": "Pablo Morales"
                },
                "wa_id": "16505551234",
                "identity_key_hash": "DF2lS5v2W6x="
              }
            ],
            "messages": [
              {
                "from": "16505551234",
                "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUMyNTA4M0VGN0Q4RjdDNDVCMAA=",
                "timestamp": "1686591695",
                "text": {
                  "body": "Your latest statement is attached. See... "
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Contoh Webhooks Status Penyampaian

Di Webhooks status penyampaian, hash pelanggan ditetapkan ke properti recipient_identity_key_hash.

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "102290129340398",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "15550051310",
              "phone_number_id": "106540352242922"
            },
            "statuses": [
              {
                "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJGODlDQjZBNjUxMUQ5NEU0MEUA",
                "status": "delivered",
                "timestamp": "1686591922",
                "recipient_id": "16505551234",
                "recipient_identity_key_hash": "DF2lS5v2W6x=",
                "conversation": {
                  "id": "6c84493f3de086c7c68d5a39248f72c0",
                  "origin": {
                    "type": "service"
                  }
                },
                "pricing": {
                  "billable": true,
                  "pricing_model": "CBP",
                  "category": "service"
                }
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Contoh Webhooks Status Penyampaian Gagal

Di Webhooks status penyampaian, hash pelanggan ditetapkan ke properti recipient_identity_key_hash.

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "102290129340398",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "15550051310",
              "phone_number_id": "106540352242922"
            },
            "statuses": [
              {
                "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJDQzA0OEU4OTdEQUE5REVCQTgA",
                "status": "failed",
                "timestamp": "1686594665",
                "recipient_id": "16505551234",
                "errors": [
                  {
                    "code": 137000,
                    "title": "Confirm the correct Recipient Identity Key Hash or send without any identity key hash"
                  }
                ]
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Mendapatkan Level Throughput

Gunakan endpoint Nomor Telepon WhatsApp Business untuk mendapatkan level throughput nomor telepon saat ini:

GET /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>?fields=throughput