Flow JSON

Flow JSON, Meta'nın bir WhatsApp Flow'u tanımlamak için kullandığı formattır: flow'un hangi ekranlardan oluştuğunu, bu ekranlarda hangi alanların ve metinlerin yer aldığını ve her düğmenin ne yaptığını belirtir. WhatsApp bu tanımı okur ve formu sohbetin içinde gösterir.

Flow JSON nedir?

Her WhatsApp Flow'un arkasında JSON formatında bir tanım bulunur: Flow JSON. Bu tanım, flow'un hangi ekranlardan oluştuğunu, ekranlarda hangi bileşenlerin yer aldığını ve bir düğmeye dokunulduğunda ne olacağını belirler: sonraki ekrana geçmek, bir sunucuya veri göndermek veya flow'u tamamlamak. Bileşenler arasında başlıklar, metinler, giriş alanları, seçim listeleri, tarih seçici, opt-in onay kutuları ve fotoğraf ya da belge yükleme yer alır.

En üst düzeydeki başlıca bölümler:

  • version: format sürümü. Hangi bileşenlerin kullanılabileceğini belirler.
  • screens: ekranların ve bileşenlerinin listesi.
  • routing_model: ekranlar arasındaki izinli yollar. Veri endpoint'i olan flow'lar için zorunludur.
  • data_api_version: veri API'sinin sürümü; bu da yalnızca endpoint'li flow'lar için geçerlidir.

Örnek: tek ekranlı bir flow

Bu Flow JSON bir geri arama talebini tanımlar. Zorunlu bir telefon numarası alanı olan tek bir ekran vardır; alt bilgideki düğme flow'u tamamlar ve girilen değeri geri döndürür:

{
  "version": "7.3",
  "screens": [
    {
      "id": "GERI_ARAMA",
      "title": "Geri arama",
      "terminal": true,
      "layout": {
        "type": "SingleColumnLayout",
        "children": [
          {
            "type": "TextInput",
            "name": "telefon",
            "label": "Telefon numarası",
            "input-type": "phone",
            "required": true
          },
          {
            "type": "Footer",
            "label": "Gönder",
            "on-click-action": {
              "name": "complete",
              "payload": { "telefon": "${form.telefon}" }
            }
          }
        ]
      }
    }
  ]
}

Gerçek bir flow'da genellikle birkaç ekran, seçim alanları ve bir onay kutusu bulunur. İlke aynı kalır: her ekran screens içinde bir giriştir ve her düğme bir eylem taşır.

Sürümler ve sınırlar

Meta formatı sürekli geliştirir ve yeni bileşenler yeni sürümlerle gelir. Örneğin fotoğraf ve belge yükleme için 4.0 veya üzeri, zengin metin için 5.1 sürümü gerekir. Eski sürümler bir noktada dondurulur: bu sürümleri kullanan flow'lar artık yayınlanamaz veya güncellenemez, ancak gönderilmeye devam edebilir. Bir sürümün süresi dolduğunda müşteriler bu sürümle oluşturulan flow'ları artık açamaz.

Sabit sınırlar da vardır. Bir Flow JSON dosyası en fazla 10 MB olabilir, bir routing modelinde en fazla 10 dal bulunur ve her ekranın üst sınırları vardır; örneğin 50 bileşen ve düğmeyi taşıyan tek bir alt bilgi.

Flow JSON, builder'lar ve mesajlar

  • Flow JSON formun kendisini, yapısını ve mantığını tanımlar.
  • Görsel bir builder bu JSON'u üretir, böylece kimsenin onu elle yazması gerekmez.
  • Flow'u ileten mesaj ise başka bir şeydir: yalnızca yayınlanmış flow'a yönlendiren bir etkileşimli mesaj veya Flow düğmeli bir şablon.

Flow JSON, bir flow builder'daki otomasyonlarla da aynı şey değildir. Onlar sohbet içindeki bir formu değil, arka planda çalışan adımları tanımlar.

Flow JSON neden önemli?

  • Sınırları bilmek: formatın neye izin verdiğini bilirseniz, Meta'nın sonradan reddedeceği formlar planlamazsınız.
  • Sorun giderme: Meta bir flow'u reddettiğinde sebep çoğu zaman JSON'dadır, örneğin seçilen sürümün henüz desteklemediği bir bileşen.
  • Sürümleri takip etmek: Meta bir sürümü dondurduğunda, bu sürümü kullanan flow'ların bir sonraki değişiklikten önce daha yeni bir sürüme geçmesi gerekir.

SendSeven'da Flow JSON

SendSeven'ın WhatsApp Flows builder'ında (Beta) Flow JSON'u elle yazmazsınız. Flow'u görsel bir editörde oluşturursunuz; SendSeven da Meta'nın şu anda önerdiği 7.3 sürümünde Flow JSON üretir. JSON sekmesi iki sürüm gösterir: düzenleyebileceğiniz Builder JSON ve ondan üretilen, salt okunur WhatsApp JSON. API de Builder JSON'u kabul eder.

Başka kaynaklardan hazır Flow JSON yapıştırmazsınız. Meta'nın kendi builder'ında oluşturduğunuz flow'ları içe aktarabilirsiniz. Bir flow'un veri endpoint'ine ihtiyaç duyup duymadığı builder'da ayarlanır: statik flow'lar Basic planından, dinamik flow'lar Scale planından itibaren kullanılabilir.

WhatsApp Flows Beta aşamasındadır. Gönderilen ve tamamlanan bir flow'un maliyeti WhatsApp Flows maddesinde açıklanır.

KVKK ve GDPR uyumlu, AB'de barındırılır. 14 gün ücretsiz deneyin.