İçeriğe geç
Veri MerkeziVeri MerkeziAPI

Başlarken

vmk_test_ anahtarıyla Meta'ya mesaj göndermeden, kredi harcamadan entegrasyonunuzu ve webhook alıcınızı deneyin; hangi uçların simüle edildiğini öğrenin.

Test anahtarı, entegrasyonunuzu gerçek müşterilere dokunmadan geliştirmenizi sağlar. Bu sayfa test modunun neyi simüle ettiğini ve neyi etkilemediğini anlatır.

#Test anahtarı nedir?

vmk_test_ ile başlayan anahtarlar test modundadır. Panelde API → Anahtarlar sayfasından anahtar oluştururken modu test seçin.

Test modunda:

  • POST /messages Meta'ya istek göndermez. Mesaj gerçek alıcıya gitmez.
  • Yanıtta mode: "test", simulated: true ve credits_used: 0 döner.
  • wamid sahtedir ve test. ile başlar.
  • POST /media Meta'ya dosya yüklemez; test.media. önekli bir kimlik döner.
  • Arama eylemleri Meta'ya gitmeden simüle edilir; arama kimliği test.wacid. ile başlar.
  • Okuma uçları (GET) canlı anahtarla aynı veriyi döner.
  • Kapsam, hız sınırı ve idempotency kuralları canlı anahtardaki gibi çalışır.
  • Test mesajları raporlara (GET /reports/summary) dahil edilmez.
Uyarı Test anahtarıyla gönderilen sahte wamid için Meta durum olayı (message.status.*) gelmez. Teslim akışını uçtan uca görmek için canlı anahtar ve kendi numaranızla deneyin.

#Uç bazında davranış

Hiçbir yazma ucu test anahtarıyla gerçek veriye ya da Meta'ya dokunmaz. İstek normal doğrulanır (aynı 4xx hataları döner), sonra ya gerçekçi bir başarı yanıtı simüle edilir (simulated: true, mode: "test") ya da 403 test_mode_unsupported döner. İki durumda da yanıtta X-Test-Mode: 1 başlığı bulunur.

UçTest anahtarıyla
POST /messages, POST /media, POST /messages/read, arama eylemleri, POST /calls/permission-request, PATCH /numbers/{phone_number_id}/callingSimüle edilir.
POST /templates (202, PENDING, id: 0), PATCH /templates/{id}, DELETE /templates/{id}Simüle edilir; kayıt ve Meta'ya gönderim yok.
PATCH /profile/{phone_number_id}, PATCH /numbers/{phone_number_id}/settings, PATCH /account/settings, PATCH /account/retentionSimüle edilir; istenen değerler mevcutlarla birleştirilip döner, kaydedilmez.
POST /contacts (id: 0), POST /contacts/bulkSimüle edilir; mükerrer kontrolü gerçek rehbere göre yapılır.
POST /webhooks/redeliverSimüle edilir; teslimatlar sayılır, kuyruğa alınmaz.
POST, PATCH, DELETE /webhooks, POST /webhooks/{id}/rotate-secret403 test_mode_unsupported — abonelikleri canlı anahtarla yönetin. POST /webhooks/{id}/test çalışır.
POST /privacy/erasure403 test_mode_unsupported (doğrulama hataları yine döner).
POST /numbers/{phone_number_id}/history-import, POST /numbers/{phone_number_id}/detach, form yazma uçları403 test_mode_unsupported
POST /templates/syncÇalışır; yalnız Meta'daki şablon durumlarını yerel listeye okur.
POST /templates/{id}, POST /templates/{id}/copy (202, id: 0), DELETE /templates?name=…, POST /templates/media (201, header_handle: "4::test…", header_media_ref: null)Simüle edilir; kayıt ve Meta'ya gönderim yok. Doğrulama, sahiplik ve durum kuralları (404 / 409 / 422) canlıdaki gibi çalışır. POST /templates/media multipart girişinde tür ve boyut denetimi yapılır; url ve media_id girişinde indirme yapılmaz.

#Sahte gelen mesaj oluşturun

Webhook alıcınızı denemek için POST /test/inbound kullanın. Bu uç yalnız test anahtarıyla çalışır; sahte mesajı gerçek gelen mesaj hattından geçirir ve imzalı olayı aktif webhook aboneliklerinize gönderir.

curl -X POST https://api.verimerkezi.app/wa/test/inbound \
  -H "Authorization: Bearer $VM_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "phone_number_id": "1234567890", "type": "text", "from": "905550000000", "text": "Merhaba, bu bir test mesajıdır." }'

type alanı dört değer alır:

  • text: message.received olayı üretir. text zorunludur.
  • edit: message.edited olayı üretir. text ve original_message_id gönderin.
  • revoke: message.revoked olayı üretir. original_message_id gönderin.
  • app_contact_sync: add, update ve remove içeren örnek bir contact.synced olayı üretir. Rehbere kayıt yazılmaz. Bkz. Uygulama rehberi.

Başarılı istek 202 Accepted döner. Canlı anahtarla çağrılırsa 403 test_only alırsınız.

#Webhook bağlantısını sınayın

Abonelik oluşturduktan sonra POST /webhooks/{id}/test ile anında imzalı bir test.ping olayı gönderebilirsiniz. Bu uç test ve canlı anahtarla çalışır. Ayrıntı: Webhooklar.

#Canlıya geçiş

  1. Panelden vmk_live_ anahtarı oluşturun ve yalnız gereken kapsamları seçin.
  2. Ortam değişkenini canlı anahtarla değiştirin. Kodda başka değişiklik gerekmez.
  3. Kredi bakiyenizi GET /credit/balance ile kontrol edin ve credit.low olayına abone olun.
Bu sayfa işinize yaradı mı?

Sorunuz mu var? Destek talebi açın ya da [email protected] adresine yazın.