API atsauce

Integrējiet enuchat savās sistēmās, izmantojot nomnieka API. Programmātiski pārvaldiet sarunas, sūtiet ziņojumus un piekļūstiet norēķinu datiem.

Autentifikācija

Visi API pieprasījumi tiek autentificēti, izmantojot API atslēgu, kas nosūtīta X-Api-Key galvenē.

Jūsu API atslēgas iegūšana

  1. Dodieties uz Iestatījumi → API atslēgas savā panelī
  2. Noklikšķiniet Izveidot API atslēgu un piešķiriet tai nosaukumu
  3. Nokopējiet atslēgu nekavējoties — tā tiek parādīta tikai vienreiz
  4. Glabājiet to droši (vides mainīgais, noslēpumu pārvaldnieks)

Pieprasījumu veikšana

Iekļaujiet atslēgu katrā pieprasījumā:

curl -H "X-Api-Key: tak_your_key_here" \
     https://api.enuchat.com/api/v1/tenant-api/widgets

Visas atbildes ir JSON. Veiksmīgām atbildēm ir data lauks. Kļūdām ir error lauks ar code un message.

Drošība: API atslēgas tiek jauktas (SHA-256) mūsu datubāzē. Mēs nekad neglabājam neapstrādātu atslēgu. Izturieties pret savu atslēgu kā pret paroli — neiekļaujiet to kodā un nekopīgojiet publiski.

Bāzes URL

https://api.enuchat.com/api/v1/tenant-api

Visi zemāk norādītie endpoint ir relatīvi pret šo bāzes URL.

Endpoint

GET /widgets

Uzskaitīt visus logrīkus jūsu kontā.

Atbilde

{'{'}
  "data": [
{'{'}
      "id": "019d19c6-7e0b-...",
      "name": "Main Website Chat",
      "isActive": true,
      "aiEnabled": true,
      "translationEnabled": true,
      "primaryColor": "#2563eb",
      "position": "bottom-right"
    }
  ]
}

GET /conversations

Uzskaitīt sarunas, sakārtotas pēc jaunākā ziņojuma.

Vaicājuma parametri

ParametrsTipsApraksts
statusstringFiltrēt pēc statusa: open, pending, closed
widgetIdstringFiltrēt pēc logrīka UUID
limitintegerMaks. rezultāti (noklusējums 20, maks. 100)
offsetintegerIzlaist N rezultātus

Piemērs

curl -H "X-Api-Key: tak_..." \
     "https://api.enuchat.com/api/v1/tenant-api/conversations?status=open&limit=10"

Atbilde

{'{'}
  "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}

Iegūt sarunu ar visiem ziņojumiem.

Vaicājuma parametri

ParametrsTipsApraksts
limitintegerMaks. ziņojumi (noklusējums 50, maks. 200)

Atbilde

{'{'}
  "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

Nosūtīt ziņojumu sarunai. Ziņojums tiks piegādāts apmeklētājam reāllaikā caur čata logrīku.

Pieprasījuma pamatteksts

{'{'}
  "content": "Thanks for reaching out! We'll process your request.",
  "role": "system"
}
LauksTipsApraksts
contentstringObligāts. Ziņojuma teksts.
rolestringsystem (noklusējums) vai operator

Atbilde (201 Created)

{'{'}
  "data": {'{'}
    "id": "019d6725-abcd-...",
    "role": "system",
    "content": "Thanks for reaching out!",
    "createdAt": "2026-04-11T14:35:00+00:00"
  }
}

PATCH /conversations/{'{'}id}

Atjaunināt sarunas statusu vai piešķiršanu.

Pieprasījuma pamatteksts

{'{'}
  "status": "closed"
}
LauksTipsApraksts
statusstringopen, pending vai closed
assignedTostring|nullOperatora UUID piešķiršanai vai null atpiešķiršanai

GET /billing/balance

Iegūt jūsu pašreizējo plānu un kredītu bilanci.

Atbilde

{'{'}
  "data": {'{'}
    "plan": "pro",
    "creditBalance": 4500000,
    "totalCreditsAdded": 10000000
  }
}

Kļūdu apstrāde

Kļūdas atgriež statusu, kas nav 2xx, ar JSON pamattekstu:

{'{'}
  "error": {'{'}
    "code": "NOT_FOUND",
    "message": "Conversation not found."
  }
}
HTTP statussNozīme
401Nederīga, beigusies vai trūkstoša API atslēga
400Nederīgs pieprasījuma pamatteksts vai parametri
404Resurss nav atrasts (vai pieder citam nomniekam)
500Servera kļūda

Biežākie lietojuma gadījumi

CRM integrācija

Aptaujājiet jaunas sarunas un sinhronizējiet apmeklētāju datus (vārds, e-pasts, valoda) ar savu CRM. Izmantojiet sarunas ID kā ārējo atsauci.

Automatizēti turpmākie ziņojumi

Pēc sarunas aizvēršanas nosūtiet turpmāko ziņojumu caur API: "Paldies par sarunu! Vai ir vēl kaut kas, ar ko varam palīdzēt?"

Webhook alternatīva

Kamēr nav pieejami izejošie webhook, periodiski aptaujājiet sarunu endpoint, lai noteiktu jaunus ziņojumus vai statusa izmaiņas.

Lielapjoma operācijas

Aizveriet visas sarunas, kas vecākas par 7 dienām, piešķiriet sarunas operatoriem, balstoties uz ārēju loģiku, vai eksportējiet sarunu vēsturi analītikai.

Ātruma limiti

API pieļauj līdz 60 pieprasījumiem minūtē vienai API atslēgai. Ja pārsniedzat šo limitu, saņemsiet 429 Too Many Requests atbildi. Pagaidiet un mēģiniet vēlreiz ar eksponenciālu atkāpšanos.

Gatavi integrēties?

Izveidojiet savu bezmaksas kontu un ģenerējiet API atslēgu dažu minūšu laikā.

Sākt bez maksas