Áttekintés
Az automatizmusok felületen két féle futást kiváltó beállítás elérhető:
- Trigger
- A trigger típusú automatizmusok akkor futnak, ha egy rendeléssel történik valami (egy esemény bejegyzés kerül rögzítésre).
- Ez az alapértelmezett beállítás.
- Webhook
- Külső forrásból érkezik egy http hívás a megfelelő URL-re
Ez a cikk a webhook típusú automatizmusokkal fog részletesebben foglalkozni.
Mit csináljon az automatizmus?
A rendelésen tetszőleges mezőt szerkeszthet a szabályoknak, állapotoknak megfelelően. A felület lehetővé tesz néhány alapértelmezett opciót, de szöveges módban további lehetőségek érhetőek el, pl egyedi mezők módosítása.
Mikor fusson le az automatizmus?
Lehetőség van korlátozni a módosításokat további feltételekkel. Első sorban külső forrásból eredő hibák kiszűrésre alkalmas, a feltételeket a szokásos módon lehet megadni, pl csak bizonyos állapotokban legyen kívülről elérhető a módosítás.
Webhook URL
Minden automatizmusnak egyedi url-je van, ami az automatizmus adatlapján elérhető, onnan kimásolható. Ezt az URL-t kell címezni, hogy az "mit" megtörténjen, ha a "mikor" stimmel.
Ez az URL minden oldal újratöltésnél változik, de mindegyik ugyanoda mutat és működik.
Technikai specifikáció
Http kérés adatai
- Egy POST kérést kell küldeni a megadott webhook címre.
- A kérés URL-je mindenképpen tartalmazza az s={token} paramétert, ami az automatizmus egyedi azonosítója.
- A kérés tartalma JSON formátum-ban kell, hogy legyen, az alábbi schemával:
- order_id* - Kötelező, szám vagy szöveg
- Ez a mező azonosítja a rendelést, amire ki kell váltani az automatizmust
- Szám esetében a CloudERP-es rendelés adatbázis azonosítója (ID oszlop a lista nézetben/exportban).
- Szöveg esetében többféle is lehet:
- Rendelés azonosító, pl ORD-2024-000001
- Webáruház azonosító, pl 1234-98765
- Csomagazonosító, pl FOXHU987654321
- data - Tetszőleges json adat, ami elérhető a "mit" feltételben (lásd a példákat lejjebb)
- order_id* - Kötelező, szám vagy szöveg
Http válasz adatai
- Státusz kódok:
- 202 Accepted - Sikeres futás esetén a válasz. A válasz további adatot nem tartalmaz.
- 200 Ok - Minden rendben volt, de az automatizmuson megadott feltétel nem felelt meg, módosítás nem történt. A válasz további adatot nem tartalmaz.
- 400 Invalid - Több különböző esetben is előfordulhat, jellemzően hívó oldali hiba esetében. Néhány lehetőség. A válasz tartalmazza a konkrét hiba okot:
- invalid token - Az url-ben lévő s paramétert nem sikerült értelmezni, nem megfelelő url-re ment a hívás
- invalid automatism - A megadott automatizmus nem webhook típusú vagy nem engedélyezett
- invalid order_id - A megadott rendelés azonosító alapján nem sikerült megtalálni a rendelést
- invalid condition - Az automatizmus feltételében szintaktika/logika hiba van, nem sikerült értelmezni
- invalid action - Az automatizmus végrehajtási paraméterei hibát eredményeztek
Saját adatok beküldése és példák
- A kérésben küldött data egy az egyben elérhető request_data néven az automatizmus feltételében és végrehajtási paramétereiben is.
- Példa raktár felülírásra:
- Payload: {"order_id": 1, "data": 1}
- Végrehatjási paraméter: {"warehouse": request_data}
- Feltétel: true
- A fenti beállításokkal a hívás át fogja tenni a rendelést az 1-es azonosítójú raktárba (mert ez volt a data mezőben). További feltétel nem volt (true), így csak a belső vizsgálatok fognak megtörténni, például, hogy a rendelés még nem lett kiszedve, mert csak akkor lehet raktárat váltani.
- Példa komplexebb adatstruktúrára:
- Payload: {"order_id": 1, "data": {"warehouse_id": 1}}
- Végrehatjási paraméter: {"warehouse": request_data__warehouse_id}
- Példa egyedi mező módosításra:
- Payload: {"order_id": 1, "data": {"sajat_igazhamis_mezo": true}}
- Végrehatjási paraméter: {"custom_data": {"sajatigazhamismezo": request_data__sajat_igazhamis_mezo}}
- Az egyedi mezők nevei az adatlapjukról kimásolhatóak, a cf_ prefix nélkül.
- Példa raktár felülírásra:
Hozzászólások
0 hozzászólás
Hozzászólások írásához jelentkezzen be.