Apex Academy · 6 lépés
Webhook beállítási útmutató
Kösd össze az Apexet Zapierrel, Make-kel, n8n-nel vagy saját szerverrel, bizonyítsd teszteseménnyel a kapcsolatot, és csak utána kapcsold be az automatizációt.
- 01
Először hozz létre egy fogadó webhookot
Zapier: új Zap → Webhooks by Zapier → Catch Hook. Make: Webhooks → Custom webhook, majd Run once. n8n: Webhook node, POST metódus, majd indítsd el a Test URL figyelését.
Másold ki a szolgáltatás által adott HTTPS URL-t, és hagyd nyitva a fogadó képernyőt az első teszt alatt.
Ha elakadtál: Az Apex csak publikus HTTPS címet enged. A localhost, privát IP, sima HTTP és privát hálózatra átirányító URL biztonsági okból tiltott.
Kész, ha ezt a lépést a saját fiókodban elmentetted és ellenőrizted.
- 02
Add hozzá a végpontot és válaszd ki az eseményeket
Nyisd meg a Webhookok oldalt, illeszd be a fogadó URL-t, és adj érthető leírást, például: 'Új lead küldése Zapierbe'.
A lead.created elérhetőség rögzítésekor, a conversation.started minden új chat elején, a message.received minden látogatói üzenetnél fut. Csak azt hagyd bekapcsolva, amire szükséged van.
Kattints a Végpont hozzáadása gombra. A titkos kulcsot csak saját szerveres integrációnál kell biztonságosan elmentened.
Kész, ha ezt a lépést a saját fiókodban elmentetted és ellenőrizted.
- 03
Küldj valódi, aláírt teszteseményt
Az Aktív végpontoknál válaszd ki az eseményt, majd kattints a Teszt küldése gombra. Az Apex ugyanazzal a JSON-formátummal, HMAC-aláírással, SSRF-védelemmel és timeouttal küld, mint élesben.
Csak akkor lépj tovább, ha az Apex zöld HTTP sikert mutat, és a fogadó szolgáltatásban megjelent a minta payload.
Ha elakadtál: 404: hibás URL. 401/403: a fogadó elutasította a kérést. Timeout: öt másodpercen belül nem válaszolt. Javítsd a fogadó oldalt, majd küldd újra a tesztet.
Kész, ha ezt a lépést a saját fiókodban elmentetted és ellenőrizted.
- 04
Párosítsd a mezőket a következő művelethez
Párosítsd a data.name, data.email, data.phone, data.message és data.conversation_id mezőket, ha szerepelnek a payloadban. Az event mező mutatja, melyik eseményt kaptad.
Először ártalmatlan lépéssel tesztelj: írj sort egy táblázatba vagy küldj belső értesítést. Csak az adatok ellenőrzése után adj ügyféloldali műveletet.
{ "event": "lead.created", "tenant_id": "...", "data": { "name": "Apex teszt lead", "email": "test@example.com", "test": true }, "ts": 1783699200000 }Kész, ha ezt a lépést a saját fiókodban elmentetted és ellenőrizted.
- 05
Aktiváld és ellenőrizd egy valódi beszélgetéssel
Kapcsold be a Zapet, Make scenario-t vagy n8n workflow-t. Nyisd meg a chatbotot privát ablakban, indíts beszélgetést, küldj üzenetet és adj meg teszt email-címet.
Ellenőrizd, hogy minden bekapcsolt esemény egyszer érkezett meg, és a kívánt lépés lefutott. A Teszt küldése gomb mintájában data.test=true van; valódi ügyféleseményben nincs.
Kész, ha ezt a lépést a saját fiókodban elmentetted és ellenőrizted.
- 06
Saját szervernél ellenőrizd az aláírást
A szervered a nyers request bodyból és a végpont titkos kulcsából készítsen HMAC-SHA-256 digestet, majd hasonlítsa össze az X-Apex-Signature fejléccel.
Érvénytelen aláírásnál még a payload feldolgozása előtt adj 401 választ. Élesben timing-safe összehasonlítást használj.
const rawBody = await request.text(); const signature = request.headers.get('x-apex-signature') ?? ''; const expected = signWebhook(rawBody, process.env.APEX_WEBHOOK_SECRET); if (!timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) { return new Response('Invalid signature', { status: 401 }); }Kész, ha ezt a lépést a saját fiókodban elmentetted és ellenőrizted.
Most csináld meg a saját fiókodban
A dashboardon már a saját kódod és valódi beállításaid jelennek meg.