Ugrás a tartalomra
← Összes útmutató

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.

Beállítás megnyitása
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Beállítás megnyitása