API referenca
Integrirajte enuchat v svoje sisteme z uporabo Tenant API. Upravljajte pogovore, pošiljajte sporočila in programsko dostopajte do obračunskih podatkov.
Preverjanje pristnosti
Vse API zahteve so preverjene s pristnostjo z uporabo API ključa, poslanega v glavi X-Api-Key.
Pridobivanje vašega API ključa
- Pojdite na Nastavitve → API ključi v svoji nadzorni plošči
- Kliknite Ustvari API ključ in mu dajte ime
- Kopirajte ključ takoj — prikazan je samo enkrat
- Varno ga shranite (okoljska spremenljivka, upravitelj skrivnosti)
Izvajanje zahtev
Vključite ključ v vsako zahtevo:
curl -H "X-Api-Key: tak_your_key_here" \
https://api.enuchat.com/api/v1/tenant-api/widgetsVsi odgovori so JSON. Uspešni odgovori imajo polje data. Napake imajo polje error s code in message.
Varnost: API ključi so zgoščeni (SHA-256) v naši bazi podatkov. Surovega ključa nikoli ne shranjujemo. Obravnavajte svoj ključ kot geslo — ne dodajajte ga v kodo ali delite javno.
Osnovni URL
https://api.enuchat.com/api/v1/tenant-apiVse končne točke spodaj so relativne glede na ta osnovni URL.
Končne točke
GET /widgets
Seznam vseh pripomočkov za vaš račun.
Odgovor
{'{'}
"data": [
{'{'}
"id": "019d19c6-7e0b-...",
"name": "Main Website Chat",
"isActive": true,
"aiEnabled": true,
"translationEnabled": true,
"primaryColor": "#2563eb",
"position": "bottom-right"
}
]
}GET /conversations
Seznam pogovorov, urejenih po zadnjem sporočilu.
Parametri poizvedbe
| Parameter | Tip | Opis |
|---|---|---|
status | string | Filtriraj po stanju: open, pending, closed |
widgetId | string | Filtriraj po UUID pripomočka |
limit | integer | Največ rezultatov (privzeto 20, največ 100) |
offset | integer | Preskoči N rezultatov |
Primer
curl -H "X-Api-Key: tak_..." \
"https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"Odgovor
{'{'}
"data": [
{'{'}
"id": "019d6724-000e-...",
"widgetId": "019d19c6-7e0b-...",
"visitorId": "v-abc123",
"visitorName": "John",
"visitorEmail": "john{'@'}example.com",
"visitorLanguage": "en",
"status": "open",
"assignedTo": null,
"lastMessageAt": "2026-04-11T14:30:00+00:00",
"startedAt": "2026-04-11T14:25:00+00:00"
}
]
}GET /conversations/{'{'}id}
Pridobi pogovor z vsemi sporočili.
Parametri poizvedbe
| Parameter | Tip | Opis |
|---|---|---|
limit | integer | Največ sporočil (privzeto 50, največ 200) |
Odgovor
{'{'}
"data": {'{'}
"id": "019d6724-000e-...",
"visitorLanguage": "en",
"status": "open",
"messages": [
{'{'}
"id": "019d6724-1234-...",
"role": "visitor",
"content": "Hello, how much does it cost?",
"contentLanguage": "en",
"translatedContent": "Cześć, ile to kosztuje?",
"translatedLanguage": "pl",
"isAutoReply": false,
"createdAt": "2026-04-11T14:25:30+00:00"
},
{'{'}
"id": "019d6724-5678-...",
"role": "ai",
"content": "Our plans start at €19/month...",
"isAutoReply": true,
"createdAt": "2026-04-11T14:25:32+00:00"
}
]
}
}POST /conversations/{'{'}id}/messages
Pošlji sporočilo v pogovor. Sporočilo bo obiskovalcu dostavljeno v realnem času prek klepet pripomočka.
Telo zahteve
{'{'}
"content": "Thanks for reaching out! We'll process your request.",
"role": "system"
}| Polje | Tip | Opis |
|---|---|---|
content | string | Obvezno. Besedilo sporočila. |
role | string | system (privzeto) ali operator |
Odgovor (201 Created)
{'{'}
"data": {'{'}
"id": "019d6725-abcd-...",
"role": "system",
"content": "Thanks for reaching out!",
"createdAt": "2026-04-11T14:35:00+00:00"
}
}PATCH /conversations/{'{'}id}
Posodobi stanje ali dodelitev pogovora.
Telo zahteve
{'{'}
"status": "closed"
}| Polje | Tip | Opis |
|---|---|---|
status | string | open, pending ali closed |
assignedTo | string|null | UUID operaterja za dodelitev ali null za odstranitev dodelitve |
GET /billing/balance
Pridobi svoj trenutni paket in stanje kreditov.
Odgovor
{'{'}
"data": {'{'}
"plan": "pro",
"creditBalance": 4500000,
"totalCreditsAdded": 10000000
}
}Obravnavanje napak
Napake vrnejo kodo stanja, ki ni 2xx, s telesom JSON:
{'{'}
"error": {'{'}
"code": "NOT_FOUND",
"message": "Conversation not found."
}
}| HTTP stanje | Pomen |
|---|---|
401 | Neveljaven, potekel ali manjkajoč API ključ |
400 | Neveljavno telo zahteve ali parametri |
404 | Vir ni najden (ali pripada drugemu najemniku) |
500 | Napaka strežnika |
Pogosti primeri uporabe
Integracija CRM
Vprašujte nove pogovore in sinhronizirajte podatke obiskovalcev (ime, e-pošta, jezik) v svoj CRM. Uporabite ID pogovora kot zunanjo referenco.
Avtomatizirani nadaljnji ukrepi
Po zaprtju pogovora pošljite nadaljnje sporočilo prek API: „Hvala za klepet! Ali je še kaj, s čimer lahko pomagamo?"
Alternativa webhookom
Dokler niso na voljo izhodni webhooki, občasno vprašujte končno točko pogovorov za zaznavanje novih sporočil ali sprememb stanja.
Množične operacije
Zaprite vse pogovore, starejše od 7 dni, dodelite pogovore operaterjem na podlagi zunanje logike ali izvozite zgodovino pogovorov za analitiko.
Omejitve hitrosti
API omogoča do 60 zahtev na minuto na API ključ. Če prekoračite to omejitev, boste prejeli odgovor 429 Too Many Requests. Počakajte in poskusite znova z eksponencialnim backoffom.
Pripravljeni za integracijo?
Ustvarite brezplačen račun in v nekaj minutah ustvarite API ključ.
Začni brezplačno