Webhook-uri pentru funnel-uri
Un webhook de funnel permite magazinului tău online sau instrumentului tău de formulare să anunțe RestartiX Webinars când se întâmplă ceva — o comandă este plasată sau plătită, un chestionar este completat —, astfel încât contactul să fie numărat în pasul corespunzător din funnel-urile tale. WooCommerce, MerchantPro și Tally sunt acceptate din start, iar orice alt sistem care poate trimite o cerere JSON poate folosi tipul Generic.
Acces: utilizatorii cu rolul admin sau marketer pot crea și șterge webhook-uri, le pot copia adresele și le pot folosi în pașii funnel-urilor. Oricine din echipa ta poate vedea livrările în Analytics → Webhooks.
Cum funcționează
Un webhook este o adresă web care aparține organizației tale, nu unui anumit funnel. O lipești o singură dată în magazinul online sau în instrumentul de formulare, apoi o alegi în pașii Webhook din oricâte funnel-uri vrei.
De fiecare dată când furnizorul tău trimite o livrare la acea adresă:
- Secretul din adresă identifică webhook-ul.
- Adresa de email este citită din livrare, în formatul specific tipului de webhook.
- Platforma caută în organizația ta un contact cu acel email. Dacă nu există, nu se înregistrează nimic — webhook-urile nu creează niciodată contacte.
- Fiecare pas Webhook care folosește acest webhook, din orice funnel, își verifică filtrul de status. Fiecare pas care acceptă livrarea înregistrează o intrare pentru contact.
- Livrarea este înregistrată în jurnalul din Analytics → Webhooks.
Platforma nu ține cont de evenimentul pe care furnizorul spune că îl trimite. Toate livrările sunt tratate la fel, așa că etapele — comandă plasată, comandă plătită — le separi prin filtrele de status ale pașilor.
O intrare este înregistrată doar dacă sunt îndeplinite toate aceste condiții:
- Emailul corespunde unui contact. Nu contează dacă e scris cu majuscule sau minuscule, dar un cumpărător care folosește altă adresă decât cea pe care ți-a dat-o nu este recunoscut.
- Contactul nu este deja în pas. Un contact intră într-un pas o singură dată pe sesiune sau o singură dată în total, într-un funnel independent. Livrările repetate — evenimente „order updated", o a doua comandă — nu adaugă nici intrări, nici venituri.
- Într-un funnel de webinar, contactul este înscris la acel webinar. Intrarea este atribuită sesiunii la care a participat live sau, dacă nu există, uneia pe care a urmărit-o în replay, apoi uneia în care a intrat doar în pre-show și, în ultimă instanță, celei mai recente înscrieri a contactului.
- Sesiunea respectivă și funnel-ul sunt încă active. Nu se înregistrează nimic pentru o sesiune arhivată — de exemplu, o comandă care sosește după încheierea replay-ului sesiunii (vezi Sesiuni și ciclul de viață) — și nici într-un funnel arhivat.
Tipuri de webhook-uri
| Tip | De unde se citește emailul | Statusul verificat de filtrul pasului | Ce se păstrează împreună cu intrarea |
|---|---|---|---|
| WooCommerce | billing.email | Câmpul status al comenzii | ID-ul comenzii, totalul și moneda |
| MerchantPro | customer_email | Câmpul payment_status al comenzii | ID-ul comenzii, totalul, moneda și statusul plății |
| Tally | Câmpul de tip email al formularului sau un câmp cu eticheta Email, E-mail, Adresa email ori Adresa de email (indiferent de majuscule) | — | Toate datele trimise prin formular |
| Generic | Un câmp email la primul nivel | — | Întregul corp al cererii |
Tipul îl alegi când creezi webhook-ul și nu mai poate fi schimbat ulterior.
Creează un webhook
- Mergi la Funnels și apasă Webhooks. Panoul Funnel Webhooks îți afișează webhook-urile.
- Apasă New Webhook.
- Completează Name — de exemplu, „Magazinul WooCommerce principal" — și alege Type.
- Apasă Create.
- Pe cardul noului webhook, apasă Copy ca să-i copiezi adresa.
Adresa se termină cu /v1/webhooks/funnel?secret=, urmat de un secret lung. Adresa nu se schimbă niciodată. Nu poți redenumi un webhook din dashboard; ca să schimbi numele sau tipul, creează un webhook nou.
Configurează furnizorul
Lipește adresa acolo unde furnizorul îți cere un URL de webhook. Platforma acceptă cereri POST al căror corp este JSON.
MerchantPro
- Creează un webhook pentru evenimentele de comandă pe care vrei să le urmărești, de exemplu crearea unei comenzi și finalizarea plății ei.
- Trimite payload-ul complet, implicit, al comenzii. Un payload minimal, doar cu ID-ul comenzii, nu conține adresa de email, așa că este respins.
- Pașii filtrează după câmpul
payment_statusdin MerchantPro:temporary,awaiting,partially_paid,paid,failed,cancelled,refundedșirejected.
WooCommerce
- Creează webhook-uri pentru crearea și actualizarea comenzilor, astfel încât un pas să poată prinde o comandă atunci când statusul ei devine cel dorit.
- Pașii filtrează după câmpul
statusal comenzii:pending,processing,on-hold,completed,cancelled,refundedșifailed.
Tally
- Adaugă adresa ca webhook în formularul tău Tally.
- Include o întrebare pentru email și roagă-i pe respondenți să folosească adresa cu care s-au înscris.
Generic
Trimite o cerere POST cu un corp JSON care are un câmp email la primul nivel. Ca să raportezi venituri, adaugă și câmpurile amount și currency, tot la primul nivel:
{
"email": "[email protected]",
"amount": 49.90,
"currency": "EUR",
"product": "Masterclass replay"
}Trimite amount ca număr simplu
Scrie amount ca număr, de exemplu 49.90. O valoare precum "49,90 lei" nu poate fi adunată: pasul nu afișează deloc venituri ori de câte ori acea intrare se încadrează în filtrele paginii funnel-ului.
Folosește un webhook într-un funnel
- Deschide funnel-ul și apasă Edit Funnel.
- Adaugă un pas Webhook din grupul Conversions sau dă click pe unul existent.
- În Webhook, alege webhook-ul.
- Pentru webhook-urile WooCommerce și MerchantPro, setează Status filter:
- Accept all înregistrează orice livrare.
- Only specific înregistrează doar livrările cu statusurile pe care le bifezi. Când treci pe această opțiune, se bifează
completedșiprocessingpentru WooCommerce saupaidpentru MerchantPro.
- Apasă Save Changes.
O livrare care nu conține niciun status trece de orice filtru. Mai mulți pași pot folosi același webhook, fiecare cu propriul filtru: template-ul Sales, de exemplu, are Order Created (toate statusurile) și Purchase (processing și completed). Template-urile Sales și Questionnaire îți cer un webhook când creezi funnel-ul și îl folosesc în toți pașii lor Webhook, așa că creează mai întâi webhook-ul.
Verifică filtrul pașilor MerchantPro
Pașii Webhook noi, precum și pasul Purchase din template-ul Sales, pornesc cu statusurile WooCommerce completed și processing bifate. MerchantPro nu le trimite niciodată, așa că pasul nu înregistrează nimic. După ce alegi un webhook MerchantPro, cele două statusuri nu apar în listă, așa că Only specific pare să nu aibă nimic bifat. Apasă Accept all; dacă vrei un filtru, apasă din nou Only specific — revine la paid — și bifează statusurile de care ai nevoie.
Venituri
Un pas Webhook adună sumele din intrările lui: totalul comenzii WooCommerce, suma totală MerchantPro sau amount dintr-o livrare Generic. Totalul apare sub pas, pe pagina funnel-ului, și într-un card KPI Revenue, care folosește ultimul pas Webhook al funnel-ului. Se aplică filtrele de sesiune și de dată de pe pagina funnel-ului.
- Contează doar livrarea care a creat intrarea. A doua comandă a unui contact în aceeași sesiune nu se adaugă la venituri.
- Sumele în monede diferite sunt adunate fără conversie și este afișat un singur cod de monedă.
Securitate
Secretul din adresă este singura verificare: dacă furnizorul tău își semnează cererile, platforma nu verifică semnătura. Oricine are adresa poate trimite livrări către ea, așa că trateaz-o ca pe o parolă și nu o include în pagini, chat-uri sau tichete de suport.
Dacă adresa a fost divulgată, creează un webhook nou, configurează furnizorul și pașii Webhook să-l folosească pe acesta, apoi șterge-l pe cel vechi.
Verifică livrările în jurnalul de webhook-uri
Mergi la Analytics → Webhooks (Webhook Activity; vezi Analytics). Alege o sursă de funnel — Funnel — WooCommerce, Funnel — MerchantPro, Funnel — Tally sau Funnel — Generic — și un status, ca să restrângi lista. Cardurile numără livrările: Total, Success, Errors și Skipped. Dă click pe un rând din Webhook Log ca să deschizi Webhook Details, cu statusul HTTP, durata, mesajul de eroare și metadatele. Apasă Load More pentru livrări mai vechi.
| Status | Mesaj de eroare | Ce s-a întâmplat |
|---|---|---|
success | — | S-a găsit un contact. Metadata arată ID-ul contactului și created, numărul de intrări noi. |
skipped | contact not found | Niciun contact din organizația ta nu are această adresă de email. |
error | email not found in payload | Livrarea nu avea email acolo unde îl așteaptă tipul webhook-ului sau corpul ei nu era JSON. |
error | alt mesaj | Căutarea contactului a eșuat. |
Furnizorul tău primește un răspuns de succes pentru livrările success și skipped, deci nu le va retrimite. Livrările fără adresă de email primesc un răspuns de eroare, iar furnizorul le poate raporta ca eșuate.
Un success cu created egal cu 0 înseamnă că nu s-a înregistrat nicio intrare nouă, pentru că:
- niciun pas de funnel nu folosește acest webhook;
- filtrul de status al pasului nu a acceptat statusul livrării;
- contactul avea deja o intrare în pas pentru acea sesiune;
- într-un funnel de webinar, contactul nu este înscris la acel webinar sau sesiunea căreia i-ar fi atribuită intrarea este arhivată;
- funnel-ul este arhivat.
Livrările trimise cu un secret greșit sau fără secret sunt respinse înainte ca platforma să afle cărei organizații îi aparțin, așa că nu apar niciodată în jurnal.
Rezolvarea problemelor
| Problemă | Ce verifici |
|---|---|
| Nu apare nimic în jurnal | Adresa introdusă la furnizor este incompletă sau greșită. Copiaz-o din nou de pe cardul webhook-ului, inclusiv partea ?secret=. |
email not found in payload | Tipul webhook-ului trebuie să corespundă furnizorului, iar livrarea trebuie să conțină un email: payload-ul complet al comenzii la MerchantPro, o întrebare pentru email la Tally, un câmp email la primul nivel la Generic. Și ping-urile de test fără email apar la fel. |
contact not found | Cumpărătorul sau respondentul a folosit altă adresă de email ori nu este încă un contact — de exemplu, a cumpărat fără să se fi înscris vreodată. |
success, dar created este 0 | Motivele enumerate mai sus. La MerchantPro, verifică mai întâi filtrul de status. |
| Jurnalul arată intrări noi, dar numărul pasului nu se schimbă | Selectorul de sesiune sau intervalul de date de pe pagina funnel-ului le exclude ori intrările au ajuns în alt funnel care folosește același webhook. |
| Nu apar venituri | Livrările nu au sumă, una dintre sume nu este un număr simplu sau cardul KPI Revenue ia în calcul alt pas Webhook (îl folosește pe ultimul). |
Șterge un webhook
Apasă pictograma cu coșul de gunoi de pe cardul webhook-ului și confirmă. Poți șterge doar un webhook pe care nu îl folosește niciun pas de funnel — altfel vezi mesajul Failed to delete. It may be referenced by funnel steps. Mai întâi alege alt webhook în acei pași sau golește-le câmpul Webhook, inclusiv la pașii din funnel-urile arhivate. Intrările înregistrate deja de webhook rămân în funnel-urile tale.
Crearea și ștergerea webhook-urilor sunt înregistrate în jurnalul de audit.