Marejeleo ya API

Unganisha enuchat kwenye mifumo yako kwa kutumia Tenant API. Simamia mazungumzo, tuma ujumbe, na ufikie data ya malipo kiprogramu.

Uthibitisho

Maombi yote ya API yanathibitishwa kwa kutumia ufunguo wa API unaotumwa kwenye kichwa cha X-Api-Key.

Kupata ufunguo wako wa API

  1. Nenda kwenye Mipangilio → Funguo za API kwenye dashibodi yako
  2. Bonyeza Unda Ufunguo wa API na uipe jina
  3. Nakili ufunguo papo hapo — unaonyeshwa mara moja pekee
  4. Uhifadhi kwa usalama (kibadilishi cha mazingira, msimamizi wa siri)

Kufanya maombi

Jumuisha ufunguo kwenye kila ombi:

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

Majibu yote ni JSON. Majibu yaliyofanikiwa yana uwanja wa data. Makosa yana uwanja wa error na code na message.

Usalama: Funguo za API hutiwa hashi (SHA-256) kwenye database yetu. Hatuhifadhi kamwe ufunguo mbichi. Tendea ufunguo wako kama nenosiri — usiupeleke kwenye msimbo au kuushiriki hadharani.

URL ya Msingi

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

Vituo vyote hapa chini ni vya uhusiano na URL hii ya msingi.

Vituo

GET /widgets

Orodhesha vidude vyote vya akaunti yako.

Jibu

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

GET /conversations

Orodhesha mazungumzo, yaliyopangwa kwa ujumbe wa hivi karibuni zaidi.

Vigezo vya Hoja

KigezoAinaMaelezo
statusstringChuja kwa hali: open, pending, closed
widgetIdstringChuja kwa UUID ya kidude
limitintegerKiwango cha juu cha matokeo (chaguomsingi 20, kiwango cha juu 100)
offsetintegerRuka matokeo N

Mfano

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

Jibu

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

Pata mazungumzo na ujumbe wote.

Vigezo vya Hoja

KigezoAinaMaelezo
limitintegerKiwango cha juu cha ujumbe (chaguomsingi 50, kiwango cha juu 200)

Jibu

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

Tuma ujumbe kwenye mazungumzo. Ujumbe utawasilishwa kwa mgeni katika wakati halisi kupitia kidude cha mazungumzo.

Mwili wa Ombi

{'{'}
  "content": "Thanks for reaching out! We'll process your request.",
  "role": "system"
}
UwanjaAinaMaelezo
contentstringInahitajika. Maandishi ya ujumbe.
rolestringsystem (chaguomsingi) au operator

Jibu (201 Created)

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

PATCH /conversations/{'{'}id}

Sasisha hali ya mazungumzo au kazi.

Mwili wa Ombi

{'{'}
  "status": "closed"
}
UwanjaAinaMaelezo
statusstringopen, pending, au closed
assignedTostring|nullUUID ya mwendeshaji wa kukabidhi, au null kutokabidhi

GET /billing/balance

Pata mpango wako wa sasa na salio la mikopo.

Jibu

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

Kushughulikia Makosa

Makosa hurudisha msimbo wa hali usio 2xx na mwili wa JSON:

{'{'}
  "error": {'{'}
    "code": "NOT_FOUND",
    "message": "Conversation not found."
  }
}
Hali ya HTTPMaana
401Ufunguo wa API si halali, umeisha, au haupo
400Mwili wa ombi au vigezo visivyo halali
404Rasilimali haijapatikana (au ni ya mpangaji tofauti)
500Hitilafu ya seva

Matumizi ya Kawaida

Ujumuishaji wa CRM

Piga kura kwa mazungumzo mapya na sawazisha data ya mgeni (jina, barua pepe, lugha) kwenye CRM yako. Tumia kitambulishi cha mazungumzo kama rejea ya nje.

Ufuatiliaji wa Kiotomatiki

Baada ya mazungumzo kufungwa, tuma ujumbe wa kufuatilia kupitia API: "Asante kwa kuzungumza! Je, kuna kitu kingine tunachoweza kusaidia nacho?"

Mbadala wa Webhook

Mpaka webhooks zinazotoka zipatikane, piga kura ya kituo cha mazungumzo mara kwa mara kugundua ujumbe mpya au mabadiliko ya hali.

Shughuli za Wingi

Funga mazungumzo yote ya zamani zaidi ya siku 7, kabidhi mazungumzo kwa waendeshaji kulingana na mantiki ya nje, au hamisha historia ya mazungumzo kwa uchambuzi.

Mipaka ya Kiwango

API inaruhusu hadi maombi 60 kwa dakika kwa kila ufunguo wa API. Ukipitisha kikomo hiki, utapokea jibu la 429 Too Many Requests. Subiri na ujaribu tena kwa backoff ya mkondo.

Uko tayari kuunganisha?

Unda akaunti yako ya bure na utoe ufunguo wa API ndani ya dakika.

Anza Bure