Krok „Zapytanie HTTP” w Chat Flows
Zapytaj zewnętrzny system przez HTTPS z poziomu flow i wykorzystaj odpowiedź w kolejnych krokach. Skąd wysyłane jest zapytanie, co może wywoływać i jak zmapować odpowiedź.
Chat Flow może zadać zewnętrznemu systemowi pytanie przez HTTPS i wykorzystać odpowiedź w rozmowie: sprawdzić zamówienie, zweryfikować saldo, pobrać termin dostawy. Krok nazywa się HTTP request (grupa w palecie Integrate) w edytorze Chat Flows w aplikacji WASync w Bitrix24.
Co robi ten krok
- Buduje zapytanie na podstawie ustawień kroku: metody (GET lub POST), adresu URL, nagłówków
oraz, dla POST, treści zapytania. Wartości
{{VARIABLES}}z wcześniejszych kroków oraz z leada lub deala są podstawiane: w adresie URL są kodowane jako URL, w treści JSON są poprzedzane znakami ucieczki JSON. - Wysyła zapytanie i czeka na odpowiedź do 10 sekund.
- Mapuje odpowiedź JSON na zmienne flow za pomocą response mapping: ścieżka JSON
(
data.order.status,items[0].id) po lewej stronie, nazwa zmiennej (ESTADO) po prawej. Kolejne kroki używają ich jak każdej odpowiedzi:{{ESTADO}}w wiadomości, warunek w kroku Branch, wartość w kroku Fill in a field.
Każde wywołanie ustawia również trzy zmienne:
| Variable | Value |
|---|---|
HTTP_STATUS | Kod statusu HTTP, którym odpowiedział system (200, 404, …); pusty, jeśli nic nie odpowiedziało. |
HTTP_OK | true dla odpowiedzi 2xx, w przeciwnym razie false. |
HTTP_ERROR | Pusty w razie powodzenia; w przeciwnym razie krótki kod: http_404, timeout, blocked_url, upstream_unreachable, budget_exceeded, breaker_open. |
Dwie krawędzie wyjściowe
Węzeł ma zwykłą krawędź (powodzenie) oraz czerwoną krawędź error. Krawędź błędu
jest wybierana, gdy upłynie limit czasu wywołania, adres URL zostanie odrzucony, system odpowie kodem 4xx lub 5xx
albo wystąpi awaria sieci. Jeśli krawędź błędu nie jest połączona, flow kontynuuje
po zwykłej krawędzi z HTTP_OK = false, więc krok Branch na HTTP_OK nadal może zareagować.
Skąd wysyłane jest zapytanie
Zapytanie nie jest wysyłane z serwerów WASync. Wykonuje je dedykowany
Cloudflare Worker (egress.wasync.app), który nie ma dostępu do wewnętrznych
systemów WASync. Z tego wynikają dwie konsekwencje:
- Wywołanie dociera do Państwa systemu z zakresów adresów IP Cloudflare, a nie ze stałego adresu WASync. Jeśli Państwa API dopuszcza tylko adresy z listy, należy zastosować API key lub podpis; nie istnieje adres IP WASync, który można by dodać do listy dozwolonych.
- Wolne lub niedziałające API nigdy nie opóźni ani nie zduplikuje wiadomości WhatsApp: wywołanie odbywa się poza potokiem wiadomości, a flow czeka w tym kroku do otrzymania odpowiedzi lub upływu limitu czasu.
Co krok może wywoływać
| Rule | Value |
|---|---|
| Schemat i port | wyłącznie https na porcie 443 |
| Host | Publiczna nazwa domeny. Adresy IP, localhost, .local, .internal, nazwy jednoczłonowe oraz własne domeny WASync są odrzucane. |
| Metody | GET, POST |
| Nagłówki | Do 16. Nagłówki transportowe i proxy (Host, Transfer-Encoding, Proxy-*, Cookie, X-Forwarded-*, …) są odrzucane; Authorization, X-Api-Key, Content-Type, Accept i podobne są dozwolone. |
| Treść zapytania | Do 64 KB |
| Odpowiedź | Odczytywane jest do 256 KB; dłuższe treści są obcinane, a w Test zgłaszane jest truncated. |
| Limit czasu | 10 sekund |
| Przekierowania | Maksymalnie 2, każde sprawdzane według tych samych reguł |
| Budżet | 600 wywołań na workspace na godzinę. Host, który zawiedzie 5 razy z rzędu, jest wstrzymywany na 5 minut (w tym czasie wybierana jest krawędź błędu). |
| Licencja | Licencja numeru musi być aktywna; krok nie działa w okresie trial. |
Agent użytkownika (user agent) to zawsze WASync-Flows/1.0 (+https://wasync.app).
Sekrety
Oznacz nagłówek jako secret (klucz API, token bearer), a WASync zapisze go w postaci zaszyfrowanej. Nigdy nie jest on ponownie wyświetlany w edytorze, nigdy nie jest eksportowany razem z flow i nigdy nie trafia do logów ani do dziennika audytu. Aby go zmienić, wpisz nową wartość; aby go zachować, zostaw pole puste podczas zapisu.
Przetestuj przed zapisaniem
Test request w panelu kroku wykonuje prawdziwe wywołanie z przykładowymi wartościami zmiennych i pokazuje status, czas odpowiedzi, zmapowane zmienne oraz treść odpowiedzi. Use as sample response zapisuje tę treść w kroku: symulator używa jej zamiast wywoływać system, dzięki czemu cały flow można obejrzeć w podglądzie offline.
Przykład: status zamówienia
- Question: "¿Cuál es tu número de pedido?" (zapisane jako
PEDIDO) - HTTP request:
GET https://erp.example.com/api/orders/{{PEDIDO}}, nagłówekX-Api-Key(secret), mapowaniedata.status→ESTADO,data.eta→ENTREGA - Branch na
HTTP_OK:true→ MessageTu pedido está {{ESTADO}}, llega el {{ENTREGA}}.·false→ MessageNo pude consultar tu pedido ahora, un asesor te escribe en breve.→ Hand to a person
Czego nie ma w tej wersji
PUT, PATCH i DELETE; OAuth w kierunku systemu zewnętrznego; automatyczne ponowienia; pobieranie plików; oczekiwanie na callback z systemu. W takich przypadkach należy użyć rozwiązania siostrzanego: flow zapisuje pole CRM, reguła automatyzacji Bitrix24 powiadamia Państwa system, system zapisuje wynik z powrotem przez Bitrix24 REST API, a reguła WASync: Send WhatsApp Message go wysyła.
Każde wywołanie jest zapisywane w dzienniku audytu workspace (host i ścieżka, status, czas trwania, które zmienne zostały ustawione; nigdy treść ani nagłówki).
Przenieś numer od innego dostawcy
Przenieś numer WhatsApp Business API, który obsługuje u Państwa inny dostawca, do WASync za pomocą kreatora w aplikacji i zachowaj swoją reputację w Meta.
Leady z czatów WhatsApp
Jak WASync zamienia nową rozmowę na WhatsApp w lead w Bitrix24, do kogo trafia lead, co się dzieje, gdy numer jest już w Państwa CRM, oraz okno ponownego kontaktu, dzięki któremu klient piszący po zamknięciu leada wraca do tego samego rekordu.