OTP ve sipariş mesajlarını WhatsApp'a taşıyın
Login, kargo, teslimat ve ödeme bildirimlerini onaylı şablonlarla kuyruğa alın.
Teknik ekipler ve entegrasyon ortakları
Sendier API; OTP, sipariş, kargo, randevu, segment ve kampanya akışlarını resmi WhatsApp hattına taşır. Teknik detaylar hazır, ama önce işletmenin kazanacağı zamanı ve görünürlüğü netleştirir.
Canlı entegrasyon akışı
Sipariş, randevu, başvuru veya lead kaydı kendi sisteminizde tetiklenir.
Şablon mesaj, kişi güncelleme veya kampanya tetikleme isteği idempotency ile alınır.
Yanıt, teslim durumu ve temsilci ihtiyacı Sendier paneline geri düşer.
Siparişiniz hazır. Teslimat takibini bu WhatsApp konuşmasından görebilirsiniz.
Login, kargo, teslimat ve ödeme bildirimlerini onaylı şablonlarla kuyruğa alın.
Satın alma, başvuru veya müşteri adayı kaydı geldiğinde Sendier kişisini aynı anda güncelleyin.
ERP, e-ticaret veya belediye sistemi olay ürettiğinde onaylı kampanya akışını başlatın.
API istekleri Bearer API anahtarıyla yetkilendirilir. Mesaj, kişi, segment ve kampanya işlemleri için ayrı yetki kapsamları kullanılır. Tekrar gönderimi önlemek için her yazma isteğinde benzersiz bir Idempotency-Key gönderin.
Authorization: Bearer sk_live_your_api_key_here
Idempotency-Key: 4f6209a0-7892-48bf-a02b-450f7d9a7ef1
Content-Type: application/jsonÜstte işletme senaryosu, altta teknik sözleşme var. Bu uç noktalar mevcut public API yüzeyidir; URL ve yetki adları korunur.
Tek kullanımlık şifre şablonu gönderimi
Onaylı WhatsApp şablon mesajı gönderimi
Mesaj gönderim durum sorgulaması
Telefon numarası ile kişi kaydı ve güncelleme
Kişiye etiket veya segment ekleme-çıkarma
Tanımlanmış kampanyayı dış sistemden tetikleme
Sistem sağlık durumu kontrolü
Operasyonel mesajlarda aynı müşteriye iki kez OTP veya sipariş bildirimi gitmemesi gerekir. Idempotency, scope ve rate limit hatalarını uygulamanızda görünür ele alın.
API anahtarı eksik, hatalı veya geçerliliğini yitirmiş.
API anahtarı bu işlem için gerekli yetkiye sahip değil.
Aynı Idempotency-Key ile devam eden başka bir istek var.
Parametre sayısı onaylı şablondaki alanlarla uyuşmuyor.
API anahtarı için dakikalık istek limiti aşıldı.
Mesaj kuyruğu geçici olarak hizmet veremiyor.
Teslim, okundu, yanıt ve hata olaylarını kendi CRM, ERP veya destek sisteminize geri yazabilirsiniz. Gelen istekleri imza doğrulamasıyla kontrol edin ve başarısız işlemler için tekrar deneme stratejisi kullanın.
const expected = 'sha256=' + crypto
.createHmac('sha256', SENDIER_WEBHOOK_SECRET)
.update(rawBody)
.digest('hex');Örnekler satış demosundaki gerçek kullanım sırasını takip eder: mesaj gönder, kişiyi güncelle, segmenti değiştir.
curl -X POST https://sendier.com.tr/api/v1/messages/template \
-H "Authorization: Bearer $SENDIER_API_KEY" \
-H "Idempotency-Key: 4f6209a0-7892-48bf-a02b-450f7d9a7ef1" \
-H "Content-Type: application/json" \
-d '{
"to": "+905551234567",
"template_name": "siparis_bilgilendirme",
"language": "tr",
"parameters": ["Ada", "TR12345"],
"metadata": { "order_id": "TR12345" }
}'const response = await fetch('https://sendier.com.tr/api/v1/contacts', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SENDIER_API_KEY}`,
'Idempotency-Key': crypto.randomUUID(),
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone: '+905551234567',
contact_data: { ad: 'Ada', source: 'checkout' },
tags: ['vip', 'cart_abandoned']
})
});
if (!response.ok) throw new Error(await response.text());
const payload = await response.json();$response = Http::withToken(config('services.sendier.key'))
->withHeaders(['Idempotency-Key' => (string) Str::uuid()])
->post('https://sendier.com.tr/api/v1/segments/memberships', [
'phone' => '+905551234567',
'segment' => 'vip',
'operation' => 'add',
]);
throw_if($response->failed(), RuntimeException::class, $response->body());