Temel URL
https://api.flowella.io/v1/messages. Uygulama, Geliştirici merkezi içindeki API base URL gibi /api/v1 ile biten bir adres gösterse bile bunu kullanın.
Uygulama sunucusuna,
https://app.flowella.io/api/v1/... adresine yapılan istekler kalıcı olarak (308) https://api.flowella.io/v1/... adresine yönlendirilir. Birçok HTTP istemcisi, başka bir sunucuya yönlendirmeyi izlerken Authorization başlığını düşürür; bu nedenle yönlendirilen istek 401 ile başarısız olabilir. https://api.flowella.io/v1 adresini doğrudan çağırın.Kimlik doğrulama
Her isteğinAuthorization başlığında bir bearer token gönderin:
Kendi betikleriniz ve entegrasyonlarınız için bir API anahtarı kullanın. Entegrasyonunuzu diğer Flowella kuruluşları yüklediğinde bir OAuth uygulaması kullanın.
Kimlik bilgilerinizi kontrol edin
Bir anahtarın veya token’ın çalıştığını doğrulamak için ping uç noktasını çağırın:200 OK yanıtı, kimliğinizin doğrulandığı anlamına gelir. organizationId, kuruluşunuzun sayısal kimliğidir:
401 yanıtı UNAUTHORIZED koduna ve şu mesajlardan birine sahiptir: Missing bearer token, Invalid or expired API key, Invalid or expired access token veya Unsupported bearer token.
Kapsamlar
Her uç nokta bir kapsam gerektirir. Uygulamada oluşturulan API anahtarları tüm kapsamlara sahiptir. OAuth erişim token’ları yalnızca yetkilendirme sırasında verilen kapsamlara sahiptir.GET /v1/ping ve GET /v1/rate-limits kapsam gerektirmez. GET /v1/capabilities (kapsam account:read), token’ınızın sahip olduğu kapsamları listeler.
Gereken kapsama sahip olmayan bir istek, INSUFFICIENT_SCOPE koduyla 403 döndürür. details.required, eksik kapsamları listeler:
Hatalar
Hatalar aynı zarfı kullanır.requestId, destekle iletişime geçtiğinizde isteği tanımlar; details ise varsa doğrulama sorunları gibi ek bilgileri içerir:
error.code değeri kararlıdır, bu nedenle kodunuz ona güvenebilir. error.message metni insanlar içindir ve değişebilir.
Hız sınırları
Her API anahtarının ve her OAuth erişim token’ının dakika başına istekler için kendi sınırı vardır. Flowella, istekleri dakika başında (UTC) başlayan sabit bir dakikalık pencerelerde sayar. Kimlik doğrulama ve kapsam kontrollerinden geçen isteklerin yanıtları şu başlıkları içerir:
Sınırı aştığınızda Flowella,
RATE_LIMITED koduyla 429 ve beklemeniz gereken saniye sayısını içeren bir Retry-After başlığı döndürür. GET /v1/rate-limits, limit, remaining ve reset değerlerinizi JSON olarak döndürür.
Büyük gönderimler için tek bir istekte 50.000’e kadar alıcı kabul eden POST /v1/templates/send uç noktasını kullanın. İstek ayrıca 1 ile 100.000 arasında bir tam sayı olan isteğe bağlı bir throttlePerHour alanını kabul eder, ancak bu alan şu anda gönderimlerin hızını ayarlamaz; bu nedenle ona güvenmeyin. Büyük bir gönderimi zamana yaymak için alıcı listesini daha küçük gruplara bölün ve her grubu ayrı ayrı gönderin.
İstek kimlikleri
Yanıtlar birX-Request-Id başlığı içerir ve hata gövdeleri bunu error.requestId olarak tekrarlar. POST /v1/templates/send bunun istisnasıdır: Toplu şablon gönderimleri bölümüne bakın. Kendi kimliğinizi kullanmak için en fazla 128 karakterlik bir X-Request-Id başlığı gönderin; Flowella onu yeniden kullanır.
Destekle iletişime geçtiğinizde istek kimliğini iletin. Bir isteği kendiniz aramak için GET /v1/requests/{requestId} (kapsam account:read) çağrısını yapın: bu çağrı, kaydedilmiş isteği ona bağlı olaylar, işler ve webhook teslimatlarıyla birlikte döndürür. Geliştirici merkezi, son isteklerinizi ve kimliklerini listeler.
Eşgüçlülük
Eşgüçlülük (idempotency) anahtarları, bir zaman aşımı veya ağ hatasından sonra bir yazma isteğini, işi iki kez yapmadan yeniden denemenizi sağlar.POST /v1/templates/send aşağıda açıklanan kendi kurallarını izler.
Çoğu yazma isteği
POST, PATCH, PUT ve DELETE istekleri isteğe bağlı bir Idempotency-Key başlığını kabul eder:
- Anahtar 8 ile 255 karakter arasında olmalıdır. Diğer uzunluklar
400döndürür. - Flowella, her anahtarı kuruluşunuz için 24 saat boyunca hatırlar.
- Aynı anahtar, yöntem, yol ve gövdeyle yapılan bir tekrar, isteği yeniden çalıştırmadan saklanan yanıtı döndürür.
- Aynı anahtar ancak farklı bir yöntem, yol veya gövdeyle yapılan bir tekrar
409 IDEMPOTENCY_KEY_CONFLICTdöndürür. - İlk istek hâlâ çalışırken gönderilen bir tekrar
409 IDEMPOTENCY_KEY_IN_FLIGHTdöndürür. Bekleyip yeniden deneyin. - Yanıtlar, anahtarı bir
Idempotency-Keybaşlığında geri yansıtır.
Toplu şablon gönderimleri
Toplu şablon gönderimleri eşzamansızdır.POST /v1/templates/send, isteği doğrular, kalıcı olarak kuyruğa alır ve hemen 202 Accepted döndürür:
Idempotency-Key başlığı iletin:
- Anahtar en fazla 200 karakter olabilir. Daha uzun bir anahtar
400döndürür. - 7 gün içinde aynı anahtarla yapılan bir tekrar, gövde değişmiş olsa bile özgün
iddeğerini döndürür ve hiçbir şey göndermez. - Başlık olmadan Flowella, anahtar olarak istek gövdesinin bir karmasını kullanır. Bayt düzeyinde aynı bir gövdeyi 7 gün içinde yeniden gönderirseniz özgün
iddeğerini geri alırsınız ve hiçbir şey gönderilmez. Göndermek istediğiniz her grup için yeni bir anahtar kullanın.
- Bu uç noktayı bir API anahtarıyla çağırın. OAuth erişim token’ları
401ile reddedilir. - Yanıtları
X-Request-Id,API-VersionveyaX-RateLimit-*başlıklarını içermez. İstekleri yine de anahtarın hız sınırına dahil edilir.
Sürümleme
API sürümünüAPI-Version başlığıyla sabitleyebilirsiniz:
2026-08-11 desteklenen tek sürümdür ve başlığı eklemediğinizde varsayılan değerdir. Başka herhangi bir değer veya YYYY-MM-DD biçiminde tarih olmayan bir değer, Unsupported API-Version mesajıyla 400 döndürür. Yanıtlar sürümü API-Version ve X-Flowella-Api-Version başlıklarında geri yansıtır.
Sandbox
Sandbox, WhatsApp’a hiçbir şey göndermeden bir entegrasyonu test etmenizi sağlar. Gerçek kuruluşunuz üzerinde çalışır: ayrı bir test hesabı yoktur. İki şekilde kullanabilirsiniz:- Yalnızca o anahtarla yapılan istekleri etkileyen bir sandbox anahtarı. Sandbox anahtarları bölümüne bakın.
- Geliştirici merkezinde bir Owner veya Admin’in açabileceği, kuruluş genelindeki API sandbox. API sandbox bölümüne bakın.
POST /v1/messages, Meta ile iletişime geçmeden mesajı saklar ve "sandbox": true döndürür; şablon gönderimi ise anında sahte bir karar döndürür. /v1/test/ ve /v1/sandbox altındaki sandbox test araçları sandbox:manage kapsamını gerektirir.
Sayfalandırma
/v1/conversations, /v1/contacts ve /v1/templates gibi liste uç noktaları imleç tabanlı sayfalandırma kullanır:
limit(1 ile 100 arası, varsayılan 25) ve isteğe bağlı bircursoriletin.- Yanıt
itemsve daha fazla sonuç olduğunda birnextCursoriçerir. - Sonraki sayfayı almak için
nextCursordeğerinicursorparametresi olarak geri iletin. nextCursoreksik veyanullolduğunda sona ulaşmışsınızdır.
Tarih ve saat
Tüm zaman damgaları UTC cinsinden ISO 8601 dizeleridir, örneğin2025-01-15T14:30:00.000Z. API’nin tarih kabul ettiği yerlerde hem yalnızca tarih (2025-01-15) hem de tam ISO 8601 değerleri çalışır.
Telefon numaraları
Telefon numaralarını mümkün olduğunda E.164 biçiminde (+15551234567) iletin. Flowella yaygın varyasyonları normalleştirir, ancak en güvenli seçenek E.164’tür.
Kanallar
Birçok uç nokta birwhatsappChannelId kabul eder. Kuruluşunuzun tek bir kanalı varsa ve bunu atlarsanız Flowella varsayılan kanalınızı kullanır. Birden fazla kanalınız varsa yanlış numaradan gönderim yapmamak için kimliği açıkça iletin.
Tam URL kalıbı ve kanal değiştirme için Çoklu kanal sayfasına bakın.
OpenAPI belirtimi
Canlı, makine tarafından okunabilir belirtim herkese açıktır:Geliştirici kaynakları
Uygulamada daha fazla geliştirici materyali bulunur. Bu sayfalar herkese açıktır, bu nedenle oturum açmadan açabilirsiniz:
Settings içindeki Geliştirici merkezi, bu bağlantıları son API isteklerinizle ve API sandbox anahtarıyla bir araya getirir.

