Webhook-uri de ieșire

Trimiteți evenimentele FreeMaint către sistemele externe în timp real

5 min citire
Tipărește această secțiune

Webhook-urile fac FreeMaint să trimită un POST către un URL pe care îl controlați, în momentul în care se întâmplă ceva, astfel încât alt sistem (ERP, facturare, stocuri, contabilitate, un canal de chat) să rămână aliniat fără reintroducere manuală. Se configurează din /company-settings/webhooks. Starter este plafonat la 100 livrări/zi; Business și superioare sunt nelimitate. Pentru referința completă a payload-urilor, vedeți API & GraphQL > Webhook-uri.

Evenimente disponibile

  • work_order.created — a fost creată o comandă de lucru
  • work_order.completed — o comandă de lucru a trecut în Finalizată
  • work_order.status_changed — o comandă de lucru a trecut în orice stare; work_order.completed se declanșează în continuare
  • request.created — a fost trimisă o cerere de mentenanță
  • request.status_changed — o cerere a fost aprobată, respinsă sau anulată
  • part.low_stock — o piesă a scăzut la pragul de reaprovizionare sau sub acesta
  • part.out_of_stock — o piesă a ajuns la zero
  • part.low_stock_summary — o dată pe zi, piesele aflate la pragul de reaprovizionare sau sub acesta, inclusiv cele care nu s-au mișcat niciodată
  • part.out_of_stock_summary — o dată pe zi, piesele aflate la zero
  • part.consumed — consumată pe o comandă de lucru sau returnată de pe aceasta
  • compliance.chain_divergence — lanțul de hash-uri de audit s-a rupt (Enterprise)
  • asset.downtime_started — a fost deschisă o oprire de mașină
  • asset.downtime_ended — a fost închisă o oprire de mașină
  • report.daily_summary — lucrările finalizate ale zilei, o dată pe zi, la ora pe care o alegeți
  • purchase_order.created — a fost creată o comandă de achiziție
  • purchase_order.status_changed — o comandă de achiziție a trecut în altă stare (aprobată, comandată, anulată…)
  • purchase_order.received — a fost recepționată o livrare pe o comandă de achiziție, inclusiv livrările parțiale

Semantica livrării

  • POST cu corp JSON: { event, timestamp, data }
  • Antetul X-FreeMaint-Signature — t=<secunde unix>,v1=<hex>, unde v1 este HMAC-SHA256 al șirului «<t>.<corp brut>» cu cheia egală cu secretul webhook-ului dvs. Verificați-l la fiecare cerere, față de corpul brut
  • Se trimit și X-FreeMaint-Event și X-FreeMaint-Delivery-Id
  • Erorile de rețea și 5xx se reîncearcă de până la 3 ori cu retragere exponențială (aproximativ 2 s, 4 s, 8 s); un 4xx este refuz definitiv și nu se reîncearcă
  • Fiecare încercare este consemnată sub webhook cu starea, codul de răspuns și numărul de încercări — iar orice livrare încheiată poate fi retrimisă de acolo
  • Fotografii opționale: cu „Include fotografii” activat, evenimentele "work_order" și "request" conțin până la 4 linkuri către imagini în câmpul "photos", valabile 7 zile pentru oricine le are — activați doar pentru un endpoint pe care îl controlați

Configurare

  1. Deschideți /company-settings/webhooks — Necesită permisiunea pentru setările companiei sau permisiunea „Gestionarea integrărilor”.
  2. Apăsați «Adaugă webhook» — Dați-i un nume, un URL https:// și bifați evenimentele dorite.
  3. Copiați secretul de semnătură — Este afișat O SINGURĂ dată la creare. Ulterior puteți genera altul cu «Rotește secretul», ceea ce îl invalidează pe cel vechi.
  4. Urmăriți livrările — Deschideți istoricul de livrări al webhook-ului pentru a confirma sosirea evenimentelor și a retrimite ce a eșuat.

Plafoane pe plan

  • Starter — 100 livrări/zi per companie (contorul se resetează la 00:00 UTC)
  • Business — nelimitat
  • Enterprise — nelimitat
  • Contorul numără ÎNCERCĂRILE: trei webhook-uri pe același eveniment consumă trei unități

Sfat

Verificați întotdeauna X-FreeMaint-Signature pe server, față de corpul brut al cererii — fără el nu puteți deosebi un eveniment FreeMaint autentic de unul falsificat, iar un part.consumed contrafăcut ar putea mișca stocul în ERP-ul dvs.

A fost utilă această pagină?