Webhooks en REST API

Channels & Integrations

Webhooks en REST API

Conviro biedt webhooks voor realtime meldingen van events en een REST API voor programmatische toegang tot alle functies van het platform.

Webhooks

Wat zijn webhooks?

Webhooks sturen een HTTP POST-verzoek naar je server zodra er een bepaald event plaatsvindt in Conviro. Zo reageer je in realtime, zonder te pollen.

Beschikbare events

EventWordt geactiveerd wanneer
message.newEr een nieuw bericht wordt verstuurd (door bezoeker of bot)
session.startedEr een nieuwe gesprekssessie begint
session.closedEen gesprek wordt gesloten
session.escalatedEen gesprek wordt geëscaleerd
lead.capturedEr een nieuwe lead wordt vastgelegd
lead.createdEr een leadrecord wordt aangemaakt
lead_form.submittedEr een leadformulier wordt ingediend
handoff.requestedEr een overdracht naar een menselijke agent wordt aangevraagd
csat.submittedEr een CSAT-beoordeling wordt gegeven
csat.receivedEr een CSAT-resultaat wordt vastgelegd
ai.failedDe AI geen antwoord kan produceren
ticket.createdEr een supportticket wordt geopend
ticket.resolvedEr een supportticket wordt opgelost
contact.createdEr een nieuw contact wordt aangemaakt
contact.updatedEen contact wordt bijgewerkt
contact.mergedTwee contacten worden samengevoegd
contact.deletedEen contact wordt verwijderd

Het webhookformulier biedt ook Alle events, waarmee je je abonneert op elk event hierboven (opgeslagen als wildcard *); één webhook accepteert daarnaast een door komma's gescheiden lijst met eventnamen.

Instellen

  1. Ga naar Dashboard -> Developers -> Webhooks.
  2. Klik op Add Webhook.
  3. Voer de URL van je endpoint in (moet HTTPS zijn).
  4. Selecteer de events die je wilt ontvangen.
  5. Klik op Save.

Beveiliging: ondertekening met HMAC-SHA256

Elke webhook-payload wordt ondertekend met HMAC-SHA256 op basis van je webhook secret. Controleer de handtekening op je server om de echtheid vast te stellen:

X-Webhook-Signature: t=<unix_timestamp>,v1=<hex_digest>
X-Webhook-Event: <event_name>
X-Webhook-Retry: <attempt>          # only on a retried delivery

De digest wordt berekend over <unix_timestamp>.<ruwe_request_body>; wie alleen de body controleert, krijgt nooit een match. Splits de header op ,, lees de waarden t= en v1=, herbereken de HMAC-SHA256 van t + '.' + rawBody met je webhook secret en vergelijk beide digests in constante tijd. Weiger een levering waarvan de timestamp ouder is dan enkele minuten, zodat een onderschepte payload niet opnieuw kan worden afgespeeld. Let op: Test verzenden naar een URL die geen opgeslagen webhook is, wordt ongetekend afgeleverd — er is geen secret om mee te ondertekenen; test je verificatie tegen een opgeslagen endpoint.

Herhaalbeleid

Als je endpoint een statuscode buiten de 2xx-reeks teruggeeft, probeert Conviro het maximaal 3 keer opnieuw met exponentiële backoff (1 min, 5 min, 30 min).


REST API

Authenticatie

  1. Genereer een API-sleutel via Dashboard -> Developers -> API-sleutels -> API-sleutel maken.
  2. Voeg deze toe aan de Authorization-header:
Authorization: Bearer sk_your_api_key_here

> De sleutel wordt één keer getoond. Een sleutel aanmaken vereist minstens één scope — Aanmaken blijft uitgeschakeld tot je er een kiest — en de volledige sk_-waarde verschijnt precies één keer, in een dialoog die bewust niet sluit met Escape of een klik op de achtergrond. Daarna blijft alleen het voorvoegsel leesbaar; de rest is een bcrypt-hash en is niet te herstellen. Kopieer hem voordat je de dialoog sluit. Ben je hem kwijt, maak dan een nieuwe sleutel aan en trek de oude in.

Belangrijkste endpoints

MethodeEndpointOmschrijving
GET/api/chatbotsAlle chatbots weergeven
GET/api/chatbots/:idDetails van een chatbot opvragen
GET/api/sessionsSessies weergeven (met filters)
GET/api/sessions/:id/messagesBerichten van een sessie opvragen
POST/api/sessions/:id/messagesEen bericht naar een sessie sturen
GET/api/contactsContacten weergeven
POST/api/contactsEen contact aanmaken
GET/api/leadsLeads weergeven
POST/api/leadsEen lead aanmaken
GET/api/analytics/overviewSamenvatting van de analytics opvragen

Rate limits

  • Free-abonnement: 60 verzoeken/minuut
  • Starter: 120 verzoeken/minuut
  • Pro: 300 verzoeken/minuut
  • Growth+: 600 verzoeken/minuut

De rate limit-headers zitten in elke response:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 298
X-RateLimit-Reset: 1672531200

Volledige documentatie

Ga naar /developers voor de volledige API-referentie met voorbeelden van requests en responses.

webhookapiresthmacintegrationendpointsdeveloper

Was dit artikel nuttig?