Integrările trimit evenimentele companiei către alt serviciu imediat ce apar: o conversație nouă, o programare, cererea unui membru al echipei, o solicitare de asistență. Cu Zapier sau Make puteți, de exemplu, să adăugați un rând într-un tabel, să trimiteți un mesaj într-un chat sau să creați o fișă în CRM fără să copiați datele manual.
Unde le găsiți
Deschideți „Module” din meniul de sus, conectați modulul „Integrări” (implicit este dezactivat) și faceți clic pe „Deschide integrările” pe cardul lui. Se deschide fila „Webhook-uri”, iar alături este fila „Jurnal de evenimente”. Secțiunea poate fi deschisă doar de Proprietar și Administrator: adresa unui destinatar poate conține un token privat. Cât timp modulul este dezactivat, nu se livrează nimic, iar evenimentele din acest interval nu vor fi retrimise ulterior. Destinatarii rămân configurați, iar jurnalul de evenimente continuă să fie ținut.
Cum adăugați un destinatar
- În Zapier creați un Zap cu declanșatorul „Webhooks by Zapier” și evenimentul „Catch Hook”, apoi copiați adresa primită. În Make adăugați modulul „Custom webhook” și copiați adresa lui.
- Pe pagina de integrări completați „Nume” (de exemplu, numele Zapului) și „Adresa destinatarului” (adresa copiată).
- În „Evenimente de trimis” bifați ce se trimite.
- Faceți clic pe „Adăugați destinatarul”.
- Secretul de semnare apare o singură dată. Copiați-l și păstrați-l în siguranță. Zapier și Make nu au nevoie de el; serverul dvs. îl folosește pentru a verifica semnătura. Dacă îl pierdeți, creați unul nou cu „Schimbați secretul”.
- Pe fișa destinatarului faceți clic pe „Trimiteți un test”. Rezultatul este Livrat sau Nelivrat, cu motivul.
Adresa trebuie să fie publică și să înceapă cu https. Sunt refuzate, cu motivul indicat: adresele http, adresele IP în loc de domeniu, porturile personalizate, adresele cu utilizator și parolă, adresele interne și adresele de pe domeniile ReceptionWorks. Pagina arată doar domeniul și calea adresei: partea de după semnul întrebării poate conține tokenul destinatarului dvs.
Ce evenimente se trimit
- „Conversație nouă” (
conversation.started): un client a început o conversație nouă pe orice canal. Conversațiile de test și clienții blocați nu se trimit. - „Se solicită un membru al echipei” (
conversation.handoff_requested): angajatul AI sau sistemul a cerut un membru al echipei. Evenimentul conține motivul: cererea angajatului AI, răspunsuri automate oprite, modul manual, angajat AI indisponibil, limită de răspunsuri epuizată sau plan inactiv. - „Conversație transferată unui membru al echipei” (
conversation.handed_off): un membru al echipei a preluat conversația. Se trimite de fiecare dată. - „Programare nouă”, „Programare modificată” și „Programare anulată” (
booking.created,booking.changed,booking.cancelled): o rezervare a fost creată, modificată sau anulată de un angajat AI, de dvs. în calendar sau de asistentul afacerii. - „Solicitare de asistență nouă” (
support_case.created) și „Solicitare de asistență modificată” (support_case.updated): o solicitare de asistență a fost creată sau i s-au schimbat starea, prioritatea ori descrierea. Notițele interne ale echipei nu se trimit. - „Mesaj nou” (
message.created): fiecare mesaj pe care îl vede clientul, trimis imediat ce este scris: de la client, de la angajatul AI, de la un membru al echipei sau de la sistem (o notificare în conversație). Textul mesajului este inclus. - „Conversație completă” (
conversation.transcript): întreaga conversație, trimisă când au trecut 30 de minute fără mesaje. Dacă conversația continuă, se trimite din nou după fiecare pauză următoare.
Evenimentele din chatul de test nu se trimit. Un destinatar primește doar evenimentele petrecute după adăugare și cât este activ: ce se întâmplă în timpul unei pauze sau dezactivări nu se trimite ulterior.
„Mesaj nou” și „Conversație completă” conțin textul integral al conversațiilor, inclusiv ce scriu clienții. Textul părăsește ReceptionWorks și ajunge la destinatarul ales de dumneavoastră, deci bifați-le doar pentru destinatari în care aveți încredere. Un destinatar nou începe cu aceste două nebifate. Se trimit doar cât timp un destinatar le are bifate și nu apar în jurnalul de evenimente, nici în exportul lui: conversația în sine este în Inbox. Conversațiile de test și clienții blocați nu se trimit.
Ce primește destinatarul
Fiecare eveniment este o cerere POST cu un corp JSON. Exemplu pentru cererea unui membru al echipei făcută de un angajat AI:
{
"schema_version": "business-webhook.v1",
"id": "5b0c5e2e-0000-4000-8000-000000000001",
"type": "conversation.handoff_requested",
"occurred_at": "2026-10-07T09:30:00.000Z",
"business": { "name": "Example Studio" },
"actor": { "kind": "ai_employee" },
"channel": "telegram",
"employee": { "name": "Anna" },
"conversation": { "url": "https://app.example.com/businesses/studio/inbox?conversation=example" },
"customer": { "name": "Maria", "email": "maria@example.com", "phone": "+1 555 0100" },
"booking": null,
"handoff": { "reason": "ai_request", "reason_text": "The customer wants to discuss a discount" },
"support_case": null
}
id: identificatorul evenimentului. Rămâne același la fiecare reîncercare, deci ignorați un id deja procesat.type: tipul evenimentului din lista de mai sus;occurred_at: ora în UTC.business: numele companiei dvs.actor: cine a provocat evenimentul.kindestecustomer,ai_employee,team_member(un membru al echipei sau asistentul afacerii) orisystem.channel:web,telegram,instagram,whatsappsaumessenger, orinulldacă evenimentul nu are conversație.employee: numele angajatului AI saunulldacă a acționat echipa ori asistentul afacerii.conversation.url: un link către conversație; se deschide pentru membrii echipei autentificați.nulldacă nu există conversație.customer: numele, e-mailul și telefonul la momentul trimiterii saunull. Datele de contact se trimit integral, deci adăugați doar destinatari în care aveți încredere.booking: doar la evenimentele de rezervare:service,starts_at,ends_at,statusșilocation.handoff: doar pentru „Se solicită un membru al echipei”:reason(ai_request,automation_stopped,manual_mode,ai_unavailable,quota_exhaustedsauplan_inactive) șireason_text, explicația angajatului AI saunull.support_case: doar la evenimentele solicitărilor de asistență:subject,status(open,in_progress,waiting_customer,resolvedsauclosed) șipriority(low,normal,highsauurgent).message: doar pentru „Mesaj nou”:id,sequence(poziția mesajului în conversație),author(customer,ai_employee,team_membersausystem),text,created_atșiattachments: o listă cukind(întotdeaunaimage),nameșimedia_type. Se trimit doar numele și tipul atașamentului, nu fișierul.transcript: doar pentru „Conversație completă”:message_count(mesajele conversației),truncatedșimessages: mesaje în aceeași formă camessage. O transcriere conține cel mult cele mai recente 500 de mesaje și 512 KiB de text;truncatedestetruedacă mesajele mai vechi au fost omise.
Secțiunile care nu se aplică evenimentului sunt null. Evenimentul din „Trimiteți un test” are tipul webhook.test, iar toate secțiunile în afară de business sunt null. Datele nu conțin text tradus: numele sunt cele salvate, codurile sunt cuvinte englezești fixe, iar orele sunt în UTC.
"message": {
"id": "6c1d0f52-0000-4000-8000-000000000002",
"sequence": 12,
"author": "customer",
"text": "Hello, can I book for Friday?",
"created_at": "2026-10-07T09:29:41.000Z",
"attachments": [{ "kind": "image", "name": "photo.jpg", "media_type": "image/jpeg" }]
}
Mesajele și transcrierile pot sosi în altă ordine și se pot repeta, deci nu vă bazați pe ordinea sosirii. Folosiți sequence pentru a reface ordinea mesajelor dintr-o conversație și ignorați o livrare al cărei webhook-id l-ați procesat deja. Transcrierea repetă mesaje pe care este posibil să le fi primit deja unul câte unul: folosiți-o pentru a verifica sau reconstrui întreaga conversație.
Cum verificați semnătura
Fiecare cerere are trei antete ale standardului Standard Webhooks: webhook-id, webhook-timestamp și
webhook-signature. Zapier și Make nu le verifică. Pe serverul dvs. folosiți biblioteca oficială Standard Webhooks
pentru limbajul dvs.: dați-i secretul exact cum este afișat (începe cu whsec_), corpul brut nemodificat al cererii
și cele trei antete. Verificare manuală:
signed_content = webhook-id + "." + webhook-timestamp + "." + raw request body
signature = "v1," + base64( HMAC-SHA256( key, signed_content ) )
key = base64-decoded part of the secret after "whsec_"
Antetul webhook-signature conține v1, și semnătura. După „Schimbați secretul” conține două semnături separate prin spațiu:
acceptați cererea dacă oricare se potrivește. Respingeți cererile al căror marcaj de timp diferă de ceasul dvs. cu mai
mult de cinci minute.
Reîncercări și dezactivare automată
Destinatarul trebuie să răspundă cu un cod 2xx în 10 secunde. Redirecționările nu sunt urmate: o adresă care
redirecționează este considerată eroare. Altfel, ReceptionWorks încearcă din nou: imediat, apoi după 1 minut, 5 minute,
30 de minute, 2 ore, 6 ore și 12 ore. Sunt 7 încercări în aproximativ 21 de ore. Dacă toate eșuează, livrarea apare în
„Jurnal de livrări” ca Nelivrat și puteți face clic pe „Trimiteți din nou”. Reîncercările poartă același webhook-id, deci destinatarul
poate ignora duplicatele.
Un destinatar este dezactivat automat dacă răspunde că adresa nu mai există (cod 410) sau dacă cinci evenimente la rând nu sunt livrate. Fișa arată atunci „Dezactivat automat” cu motivul, iar echipa dvs. primește o notificare. Corectați adresa și faceți clic pe „Activați”: evenimentele ratate între timp nu se trimit.
Pauză, secret nou, ștergere
- „Pauză” oprește trimiterea fără a șterge destinatarul; faceți clic pe „Activați” pentru a continua.
- „Schimbați secretul” și apoi „Creați un secret nou”: un secret nou este afișat o singură dată. Cel vechi rămâne valabil 24 de ore, ca să puteți actualiza destinatarul fără a pierde evenimente.
- „Ștergeți” și apoi „Ștergeți destinatarul” șterg definitiv destinatarul.
Bine de știut
- Doar Proprietar și Administrator gestionează integrările. O companie poate avea până la 5 destinatari.
- Jurnalul de livrări arată evenimentul, destinatarul, ora, starea, încercările și următoarea încercare. Nu păstrează textul cererilor.
- Testul cu „Trimiteți un test” nu creează o intrare în jurnal și nu are nevoie de un eveniment real.