Flow JSON
Flow JSON to format, w którym Meta opisuje WhatsApp Flow: jakie ma ekrany, jakie pola i teksty się na nich pojawiają i co robi każdy przycisk. WhatsApp odczytuje ten opis i wyświetla formularz w czacie.
Czym jest Flow JSON?
Za każdym WhatsApp Flow stoi opis w formacie JSON, czyli Flow JSON. Określa on, jakie ekrany ma flow, jakie komponenty się na nich znajdują i co się dzieje po naciśnięciu przycisku: przejście do następnego ekranu, wysłanie danych do serwera albo zakończenie flow. Wśród komponentów są nagłówki, teksty, pola do wpisywania, listy wyboru, selektor daty, pola wyboru opt-in oraz przesyłanie zdjęć lub dokumentów.
Najważniejsze elementy najwyższego poziomu:
version: wersja formatu. Decyduje, które komponenty są dostępne.screens: lista ekranów i ich komponentów.routing_model: dozwolone ścieżki między ekranami. Wymagany dla flowów z endpointem danych.data_api_version: wersja Data API, również tylko dla flowów z endpointem.
Przykład: flow z jednym ekranem
Ten Flow JSON opisuje prośbę o oddzwonienie. Jeden ekran z obowiązkowym polem na numer telefonu; przycisk w stopce kończy flow i zwraca wpisaną wartość:
{
"version": "7.3",
"screens": [
{
"id": "ODDZWONIENIE",
"title": "Oddzwonienie",
"terminal": true,
"layout": {
"type": "SingleColumnLayout",
"children": [
{
"type": "TextInput",
"name": "telefon",
"label": "Numer telefonu",
"input-type": "phone",
"required": true
},
{
"type": "Footer",
"label": "Wyślij",
"on-click-action": {
"name": "complete",
"payload": { "telefon": "${form.telefon}" }
}
}
]
}
}
]
}Prawdziwy flow ma zwykle kilka ekranów, pola wyboru i pole zgody. Zasada pozostaje ta sama: każdy ekran to jeden wpis w screens, a każdy przycisk ma przypisaną akcję.
Wersje i limity
Meta stale rozwija format, a nowe komponenty pojawiają się wraz z nowymi wersjami. Przesyłanie zdjęć i dokumentów wymaga na przykład wersji 4.0 lub nowszej, a tekst sformatowany wersji 5.1. Starsze wersje są w pewnym momencie zamrażane: flowów, które z nich korzystają, nie można już publikować ani aktualizować, ale nadal można je wysyłać. Gdy wersja wygaśnie, klienci nie mogą już otwierać zbudowanych na niej flowów.
Obowiązują też stałe limity. Plik Flow JSON może mieć maksymalnie 10 MB, model routingu ma najwyżej 10 gałęzi, a każdy ekran ma swoje limity, na przykład 50 komponentów i jedną stopkę z przyciskiem.
Flow JSON, kreatory i wiadomości
- Flow JSON opisuje sam formularz, jego strukturę i logikę.
- Wizualny kreator generuje ten JSON, żeby nikt nie musiał pisać go ręcznie.
- Wiadomość, która dostarcza flow, to coś innego: wiadomość interaktywna albo szablon z przyciskiem Flow, który tylko wskazuje opublikowany flow.
Flow JSON to też nie to samo co automatyzacje w flow builderze. Opisują one kroki działające w tle, a nie formularz w czacie.
Dlaczego Flow JSON ma znaczenie
- Znajomość limitów: jeśli wiesz, na co pozwala format, nie zaplanujesz formularzy, które Meta później odrzuci.
- Rozwiązywanie problemów: gdy Meta odrzuca flow, przyczyna często tkwi w JSON-ie, na przykład w komponencie, którego wybrana wersja jeszcze nie obsługuje.
- Kontrola wersji: gdy Meta zamraża wersję, korzystające z niej flowy potrzebują nowszej wersji przed kolejną zmianą.
Flow JSON w SendSeven
W kreatorze WhatsApp Flows SendSeven (beta) nie piszesz Flow JSON ręcznie. Budujesz flow w wizualnym edytorze, a SendSeven generuje Flow JSON w wersji 7.3, którą Meta obecnie zaleca. Zakładka JSON pokazuje dwie wersje: Builder JSON, który możesz edytować, oraz wygenerowany z niego WhatsApp JSON, tylko do odczytu. API również przyjmuje Builder JSON.
Nie wklejasz gotowego Flow JSON z innych źródeł. Flowy zbudowane we własnym kreatorze Meta możesz zaimportować. To, czy flow potrzebuje endpointu danych, ustawiasz w kreatorze: flowy statyczne są dostępne od planu Basic, dynamiczne od planu Scale.
WhatsApp Flows jest w wersji beta. Ile kosztuje wysłany i ukończony flow, wyjaśnia hasło WhatsApp Flows.
Zgodne z RODO, hostowane w UE. 14 dni bezpłatnego testu.