Bu kontrol listesi, üretimde sorunsuz çalışan bir entegrasyon için önerilerimizi toplar.
#Güvenlik
- API anahtarını yalnız sunucuda, ortam değişkeninde saklayın. Tarayıcıya ya da mobil uygulamaya koymayın.
- Her ortam (geliştirme, test, üretim) için ayrı anahtar kullanın; geliştirmede
vmk_test_anahtarı tercih edin. - Anahtarlara yalnız gereken kapsamları verin ve mümkünse IP izin listesi tanımlayın.
- Webhook isteklerinde imzayı her zaman doğrulayın ve 5 dakikadan eski zaman damgalarını reddedin. Bkz. Webhooklar.
- Webhook imza anahtarını kesintisiz yenilemek için
POST /webhooks/{id}/rotate-secretkullanın.
#Güvenilir gönderim
- Her
POST /messagesisteğindeIdempotency-Keygönderin. Bkz. Idempotency. 409 meta_outcome_unknownaldığınızda isteği tekrarlamayın; durum olayını bekleyin.5xxve429yanıtlarında üstel bekleme ile yeniden deneyin;retryable: falsehatalarını tekrar denemeyin.- Gönderim sonucunu yalnız HTTP yanıtına değil,
message.status.*olaylarına göre işaretleyin.201yanıtı mesajın Meta'ya kabul edildiğini gösterir; teslim ve okunma olaylarla gelir.
#Webhook alıcısı
2xxyanıtını hızlı döndürün (zaman aşımı 10 saniye); işi bir kuyruğa alın.event_id(ya daX-VeriMerkezi-Event-Id) değerini saklayıp yinelenen teslimleri ayıklayın. Yeniden denemeler aynı kimlikle gelir.- Olayların sırayla geleceğini varsaymayın; zaman damgalarına ve durum önceliğine göre birleştirin.
- Yeni olaylar
*aboneliğine kendiliğinden eklenmez; ihtiyaç duyduğunuz olayları açıkça seçin. - Sunucunuz kesintiye uğradıysa
GET /messagesile kayıtları geri alın vePOST /webhooks/redeliverile ölü teslimleri yeniden kuyruğa alın. - Webhook gecikmesini
GET /healthile izleyin.
#Meta kuralları
- Müşteri size son 24 saat içinde yazmadıysa yalnız onaylı şablon gönderebilirsiniz.
- Pazarlama mesajlarını yalnız açık rıza vermiş kişilere gönderin.
GET /contacts/opted-outlistesini vecontact.opt_out_changedolayını kullanarak reddedenleri gönderim listenizden çıkarın. - Numara kalitesini (
quality.changed,GET /numbersiçindekiquality_rating) izleyin.REDdurumunda gönderimi durdurup içeriği gözden geçirin. - Şablonları işletme hesabı (WABA) düzeyinde yönetin; bir WABA'daki tüm numaralar aynı şablonları kullanır.
#Kredi ve maliyet
credit.lowvecredit.exhaustedolaylarına abone olun; kampanya ortasında kredinin bitmesini önleyin.- Bakiyeyi
GET /credit/balance, kullanımıGET /credit/usageile izleyin. - Okundu işareti (
POST /messages/read) ve uç yönetim işlemleri kredi düşmez.
#Veri koruma (KVKK)
- Silme talebi gelen kişi için
POST /privacy/erasureçağırın; işlem idempotenttir ve tamamlanıncaprivacy.erasure_completedolayı gelir. - Abonelikten çıkış (opt-out) kanıtları yasal gereklilik olduğu için silinmez.
- Gelen medyayı yalnız gerektiğinde indirin; dosyalar API anahtarı olmadan erişilemez.
#Uyumluluk
- Bilmediğiniz yanıt alanlarını ve yeni enum değerlerini yok sayın; API geriye dönük uyumlu olarak yeni alanlar ekler.
- Zaman damgalarını saat dilimi ofsetiyle işleyin (şu an
+03:00); sabitZvarsaymayın. - Değişiklikleri Değişiklik günlüğü üzerinden izleyin.
