Produkts

Kanāli un integrācijas

Klients raksta, kur vēlas, aģents atbild no viena ekrāna. Sākotnējais kanāls tiek saglabāts, lai atbilde atgrieztos pa to pašu ceļu.

Vispirms e-pasts

Tas ir kanāls, kas nes lielāko daļu apjoma, tāpēc tas, ko mēs visvairāk kopjam: tīrs parsēšana, atlēcienu apstrāde, DKIM jūsu sūtījumiem.

Tērzēšana un WhatsApp

Logrīka tērzēšana izveido biļeti, tiklīdz neviens nav pieejams. WhatsApp Business izmanto jūsu norādīto numuru.

API pārējam

Viss, ko dara saskarne, ir pieejams REST: biļetes, ziņojumi, kontakti, raksti, noteikumi, eksporti.

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

Pieslēgti kanāli un webhook piegādes žurnāls.

Funkcijas detalizēti

API, kas dara visu

Viss, ko dara saskarne, ir pieejams zem /api/v1: JSON atbildes, lapošana ar kursoru, 600 pieprasījumu minūtē — pietiekami, lai būvētu, neprasot atļauju.

Atslēgas, kas atver tikai nepieciešamo

Personīgie tokeni vai servisa atslēgas ar lasīšanas un rakstīšanas tvērumiem katram resursam: jūsu integrācijai ir tikai tās tiesības, ko tā pelnījusi.

Webhooki, uz kuriem var paļauties

HMAC SHA-256 paraksts, pieci atkārtoti mēģinājumi ar backoff, piegāžu žurnāls 7 dienas: jūsu sistēma vienmēr zina, kas tai tika nosūtīts.

Tur, kur sarunājas jūsu komanda

Slack un Teams paziņojumi pa skatiem vai komandām, un atbilde tieši no pavediena Team un augstākos plānos.

Jūsu dati brīvi ienāk un iziet

Pārceļam jūsu Zendesk vēsturi ar tās numuriem un datumiem. Un tā kā kodols ir zem AGPL-3.0, varat to uzstādīt pie sevis un piekļūt datubāzei tieši.

Katrs izsaukums atstāj pēdas

Visi API izsaukumi parādās audita žurnālā ar izmantoto atslēgu: kurš ko izdarīja — nekad nav noslēpums.

Pārbaudīt webhook parakstu

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));
}