Izdelek

Kanali in integracije

Stranka piše, kjer želi, agent odgovarja z enega samega zaslona. Izvorni kanal je ohranjen, da se odgovor vrne po isti poti.

E-pošta najprej

To je kanal, ki nosi večino prometa, zato ga najbolj negujemo: čisto razčlenjevanje, upravljanje neodgovorjenih sporočil, DKIM pri vaših pošiljkah.

Klepet in WhatsApp

Klepet vtičnika ustvari zahtevek takoj, ko nihče ni na voljo. WhatsApp Business poteka preko številke, ki jo posredujete.

API za ostalo

Vse, kar dela vmesnik, je dostopno prek REST: zahtevki, sporočila, stiki, članki, pravila, izvozi.

acme.open-helpdesk.com/app/settings/channels
Emailsupport@acme.fr · MX vérifié412 ce mois
Chatwidget web · 14 ko97 ce mois
WhatsApp+33 6 12 ** ** **58 ce mois
APIclé srv_live_… · lecture/écriture1 903 appels

POST /webhooks/acme · ticket.created

200 · 84 ms · signature vérifiée

200 · 91 ms · signature vérifiée

502 · nouvelle tentative dans 30 s

Povezani kanali in dnevnik dostav webhookov.

Podrobnosti funkcij

API, ki zmore vse

Vse, kar zna vmesnik, je dostopno pod /api/v1: odgovori JSON, paginacija s kurzorjem, 600 zahtev na minuto — dovolj, da gradite brez prošenj za dovoljenje.

Ključi, ki odprejo samo potrebno

Osebni žetoni ali servisni ključi z obsegi branja in pisanja po virih: vaša integracija ima samo tiste pravice, ki si jih zasluži.

Webhooki, na katere se lahko zanesete

Podpis HMAC SHA-256, pet ponovnih poskusov z backoffom, dnevnik dostav za 7 dni: vaš sistem vedno ve, kaj mu je bilo poslano.

Tam, kjer se pogovarja vaša ekipa

Obvestila Slack in Teams po pogledu ali ekipi, odgovarjanje neposredno iz niti pa v paketu Ekipa in višjih.

Vaši podatki prosto vstopajo in izstopajo

Vašo zgodovino iz Zendeska prenesemo z njenimi številkami in datumi. In ker je jedro pod AGPL-3.0, ga lahko namestite pri sebi in dostopate neposredno do baze.

Vsak klic pusti sled

Vsi klici API se zabeležijo v revizijski dnevnik z uporabljenim ključem: kdo je kaj naredil, ni nikoli skrivnost.

Preverjanje podpisa webhooka

import { createHmac, timingSafeEqual } from "node:crypto";

export function verify(raw: string, header: string, secret: string) {
  const expected = createHmac("sha256", secret).update(raw).digest("hex");
  return timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}