Dokumen ini sudah diperbarui.
Terjemahan ke Bahasa Indonesia belum selesai.
Bahasa Inggris diperbarui: 15 Nov

Penyimpanan Lokal Cloud API

Penyimpanan Lokal Cloud API memberi Anda opsi untuk mengontrol tempat penyimpanan data pesan saat tidak aktif. Jika perusahaan Anda berada dalam industri yang teregulasi seperti keuangan, pemerintah, atau layanan kesehatan, Anda mungkin lebih memilih data pesan disimpan di negara tertentu saat tidak aktif karena peraturan dan kebijakan perusahaan.

Cloud API menyediakan lapisan perlindungan data ekstra dengan menerapkan kontrol pengelolaan data tambahan. Fitur Penyimpanan Lokal terdiri dari dua batasan tambahan di lingkungan runtime Cloud API:

  • TTL (Time-to-Live atau masa berlaku) data yang sedang digunakan: Batasan retensi data baru diterapkan, yang memberlakukan durasi akses isi pesan oleh Cloud API di luar yurisdiksi target saat sedang diproses. Cloud API akan secara otomatis menghapus isi pesan dari penyimpanan “data yang sedang digunakan” (misalnya cache, antrean) setelah 60 menit. Tidak akan ada isi pesan sensitif di server Cloud API AS setelah TTL.
  • Lokasi data tidak aktif: Batasan penempatan data baru diterapkan, yang memberlakukan lokasi fisik yang mengizinkan penggunaan Cloud API sebagai penyimpanan persisten untuk isi pesan sensitif. Payload teks dan media dari pesan masuk maupun keluar akan disimpan dalam penyimpanan data Cloud API di dalam negeri (non-AS).

Setelah mengaktifkan Penyimpanan Lokal untuk nomor telepon bisnis, Cloud API menggunakan penyimpanan lokal di negara yang ditentukan untuk menyimpan isi pesan secara persisten, alih-alih menggunakan penyimpanan default yang berlokasi di AS.

Fitur Penyimpanan Lokal melengkapi kontrol privasi dan keamanan Cloud API lainnya, serta memungkinkan pelanggan untuk memastikan tingkat kepatuhan yang lebih tinggi terhadap peraturan perlindungan data lokal.

Data yang Dilokalkan

Cloud API menerapkan pelokalan isi pesan. Alur pesan berikut ini tercakup dalam fitur Penyimpanan Lokal:

  • Pesan keluar: pesan yang Anda kirim ke penerima dengan Cloud API
  • Pesan masuk: pesan yang Anda terima kembali melalui Cloud API

Jenis pesan berikut ini tercakup dalam fitur Penyimpanan Lokal:

  • Pesan teks: payload tekstual (isi pesan) dilokalkan
  • Pesan media: payload media (audio, dokumen, gambar, atau video) dilokalkan
  • Pesan template: komponen dengan payload teks/media dilokalkan

Selain itu, sejumlah atribut metadata disertakan dalam set data yang dilokalkan, untuk mengaitkan secara benar payload pesan yang terenkripsi dan dilokalkan dengan pesan yang diproses sebelumnya serta untuk mengaudit fakta pelokalan. Metadata dilindungi dengan tokenisasi dan enkripsi.

Tujuan dari fitur Penyimpanan Lokasi Cloud API adalah agar bisnis Anda dapat mengontrol secara langsung tempat penyimpanan data sensitif Anda yang sedang tidak aktif melalui pengaturan Cloud API, sekaligus memberikan fleksibilitas untuk memilih lokasi penempatan data secara global.

Wilayah yang Tersedia

Berikut ini wilayah yang saat ini didukung oleh Penyimpanan Lokal Cloud API serta dapat dipilih pada saat aktivasi fitur Penyimpanan Lokal:

  • APAC: India, Singapura, Indonesia, Korea Selatan, Jepang, Australia
  • LATAM: Brasil
  • MEA: Afrika Selatan, Bahrain, UEA
  • Eropa: UE (Jerman), Inggris, Swiss
  • NORAM: Kanada

Persyaratan

Penyimpanan Lokal hanya dapat diaktifkan atau dinonaktifkan pada nomor telepon bisnis ketika nomor tersebut dalam status tidak terdaftar.

Mengaktifkan Penyimpanan Lokal

Ikuti langkah-langkah di bawah untuk mengaktifkan penyimpanan lokal untuk nomor telepon bisnis yang tidak terdaftar menggunakan API versi 21.0 atau yang lebih baru. Jika Anda menggunakan versi API yang lebih lama, lihat Mengaktifkan Penyimpanan Lokal (v20 dan yang lebih lama).

Langkah 1: Aktifkan penyimpanan lokal pada nomor tersebut

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/pengaturan untuk mengaktifkan penyimpanan lokal pada nomor telepon bisnis yang tidak terdaftar:

Sintaksis Permintaan

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/settings

{
  "storage_configuration": {
    "status": "IN_COUNTRY_STORAGE_ENABLED", 
    "data_localization_region": "<COUNTRY_CODE>"
  }
}

Atur <COUNTRY_CODE> ke kode negara tempat data yang tidak digunakan harus disimpan.

Sintaksis Tanggapan

{
  "success": <SUCCESS>
}

Setelah berhasil, <SUCCESS> akan diatur ke true.

Contoh Permintaan

curl 'https://graph.facebook.com/v21.0/106540352242922/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "storage_configuration": {
    "status": "IN_COUNTRY_STORAGE_ENABLED", 
    "data_localization_region": "BR"
  }
}'

Contoh Tanggapan

{
  "success": true
}

Langkah 2: Daftarkan nomor

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register untuk mendaftarkan nomor telepon bisnis.

Sintaksis Permintaan

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register

{
  "messaging_product": "whatsapp",
  "pin": "<TWO_STEP_PIN>"
}

Atur <TWO_STEP_PIN> ke PIN verifikasi dua langkah yang diinginkan untuk nomor telepon bisnis.

Sintaksis Tanggapan

{
  "success": <SUCCESS>
}

Setelah berhasil, <SUCCESS> akan diatur ke true.

Contoh Permintaan

curl 'https://graph.facebook.com/v21.0/v21.0/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "pin": "123456"
}'

Contoh Tanggapan

{
  "success": true
}

Mendapatkan Pengaturan Penyimpanan Lokal

Gunakan endpoint GET /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/pengaturan untuk mendapatkan pengaturan penyimpanan lokal pada Nomor Telepon WhatsApp Business. Contoh:

curl 'https://graph.facebook.com/v21.0/179776755229976/settings' \
-H 'Authorization: Bearer EAAJB...'

Ini mengembalikan node yang mewakili pengaturan penyimpanan lokal pada nomor telepon bisnis. Contoh:

{
  "storage_configuration": {
    "status": "IN_COUNTRY_STORAGE_ENABLED",
    "data_localization_region": "BR"
  }
}

Menonaktifkan Penyimpanan Lokal

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/pengaturan untuk menonaktifkan penyimpanan lokal pada nomor telepon bisnis yang tidak terdaftar menggunakan API versi 21.0 atau yang lebih baru. Jika Anda menggunakan versi API yang lebih lama, lihat Menonaktifkan Penyimpanan Lokal (v20 dan yang lebih lama).

Sintaksis Permintaan

POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID/>settings

{
  "storage_configuration": {
    "status": "IN_COUNTRY_STORAGE_DISABLED"
  }
}

Atur <COUNTRY_CODE> ke kode negara tempat data yang tidak digunakan harus disimpan.

Sintaksis Tanggapan

{
  "success": <SUCCESS>
}

Setelah berhasil, <SUCCESS> akan diatur ke true.

Contoh Permintaan

curl 'https://graph.facebook.com/v21.0/106540352242922/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "storage_configuration": {
    "status": "IN_COUNTRY_STORAGE_DISABLED"
  }
}'

Contoh Tanggapan

{
  "success": true
}

Mengaktifkan Penyimpanan Lokal (v20 dan yang lebih lama)

Untuk mengaktifkan penyimpanan lokal untuk nomor telepon bisnis yang tidak terdaftar menggunakan API versi 20.0 atau yang lebih lama):

Langkah 1: Periksa status verifikasi

Gunakan endpoint GET /<WHATSAPP_BUSINESS_PHONE_NUMBER> dan minta kolom code_verification_status. Jika status verifikasi kode adalah VERIFIED, lewati ke langkah 4. Jika tidak, lanjutkan ke langkah 2.

Langkah 2: Minta kode verifikasi

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/request_code untuk meminta kode verifikasi. Setelah berhasil, API akan menanggapi dengan true dan kode verifikasi akan dikirim ke nomor telepon bisnis melalui metode yang ditentukan dalam parameter code_method.

Sebagai contoh, kueri ini meminta kode verifikasi untuk dikirim melalui SMS dalam bahasa Inggris (locale AS).

curl -X POST 'https://graph.facebook.com/v21.0/110200345501442/request_code?code_method=SMS&language=en_US' \
-H 'Authorization: Bearer EAAJB...'

Gunakan kode dalam pesan yang dikirimkan pada langkah selanjutnya.

Langkah 3: Verifikasi nomor telepon bisnis

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/verify_code untuk memverifikasi nomor telepon bisnis menggunakan kode verifikasi yang disertakan dalam pesan yang Anda terima dari langkah sebelumnya.

Contoh:

curl -X POST 'https://graph.facebook.com/v21.0/110200345501442/verify_code?code=123830' \
-H 'Authorization: Bearer EAAJB...'

Langkah 4: Daftarkan ulang nomor telepon bisnis

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/register untuk mendaftarkan nomor telepon bisnis. Tentukan negara tempat data yang tidak aktif harus disimpan menggunakan parameter data_localization_region.

Sebagai contoh, permintaan ini memungkinkan penyimpanan lokal pada nomor telepon bisnis, dan menetapkan negara tempat data harus disimpan ke India:

curl 'https://graph.facebook.com/v21.0/110200345501442/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "pin": "123456",
  "data_localization_region": "IN"
}'

Menonaktifkan Penyimpanan Lokal (v20 dan yang lebih lama)

Gunakan endpoint POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/batalkan pendaftaran untuk menonaktifkan penyimpanan lokal pada nomor telepon bisnis menggunakan API versi 20.0 atau yang lebih lama.

Contoh:

curl -X POST 'https://graph.facebook.com/v21.0/110200345501442/deregister' \
-H 'Authorization: Bearer EAAJB...'

Perhatikan bahwa langkah ini akan membatalkan pendaftaran nomor telepon bisnis, sehingga tidak dapat digunakan dengan WhatsApp Cloud API. Jika Anda ingin terus menggunakannya dengan Cloud API tetapi tanpa mengaktifkan penyimpanan lokal, Anda harus mendaftarkan ulang tanpa menyertakan parameter data_localization_region.

Pertanyaan Umum

T. Apa saja jalur migrasi untuk memindahkan nomor telepon ke versi Cloud API dengan Penyimpanan Lokal?

Kami mendukung seluruh jalur migrasi ke versi Cloud API dengan Penyimpanan Lokal, yang mencakup:

  • Migrasi nomor On-Premise API yang ada ke versi Cloud API dengan Penyimpanan Lokal
  • Migrasi nomor Cloud API yang ada ke versi Cloud API dengan Penyimpanan Lokal
  • Nomor Cloud API baru yang mengaktifkan Penyimpanan Lokal

Dalam semua skenario ini, Anda perlu mengirim permintaan POST ke endpoint /register untuk nomor telepon yang dipilih, dengan menentukan negara target yang datanya akan dilokalkan dalam parameter baru data_localization_region.

T. Apakah ada risiko dalam migrasi? Adakah waktu henti terkait hal ini?

Tidak ada risiko dalam migrasi, proses ini serupa dengan migrasi dari On-Premise API ke Cloud API. Lihat dokumentasi developer di sini. Waktu henti biasanya kurang dari 5 menit, dan tidak diperlukan verifikasi ulang nomor telepon bisnis.