API-viite
Rakenna mukautettuja integraatioita Asyntai REST API:n avulla
Maksullinen paketti vaaditaan: API-pääsy on saatavilla Starter-, Standard- ja Pro-paketeissa. Näytä hinnoittelu
Yleiskatsaus
The Asyntai API allows you to integrate AI-powered customer support into any application. Send messages and receive intelligent responses grounded in your website content and knowledge base.
Tunnistautuminen
Kaikki API-pyynnöt vaativat todennuksen API-avaimellasi. Voit hakea API-avaimesi API-asetukset-sivulta.
Sisällytä API-avaimesi pyyntöihin jollakin seuraavista tavoista:
- Authorization-otsikko (suositeltu):
Authorization: Bearer YOUR_API_KEY - X-API-Key-otsikko:
X-API-Key: YOUR_API_KEY
Pidä API-avaimesi salassa. Kuka tahansa, jolla on avaimesi, voi käyttää tiliäsi API:n kautta. Älä koskaan paljasta sitä asiakaspuolen koodissa.
Perus-URL
https://asyntai.com/api/v1/
Päätepisteet
POST /chat/
Lähetä viesti ja vastaanota tekoälyn tuottama vastaus.
Pyynnön runko
{
"message": "What are your business hours?",
"session_id": "user_123", // optional
"website_id": 1 // optional
}
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
message |
string | Kyllä | Käyttäjän viesti tekoälylle |
session_id |
string | Ei | Keskustelun yksilöllinen tunniste. Käytä samaa session_id-arvoa keskusteluhistorian säilyttämiseksi. |
website_id |
integer | Ei | Tietyn verkkosivuston ID. Jos sitä ei anneta, käytetään ensisijaista verkkosivustoasi. |
Vastaus
{
"success": true,
"response": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
"session_id": "user_123"
}
Esimerkki (cURL)
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "What are your business hours?", "session_id": "user_123"}'
Esimerkki (Python)
import requests
response = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"message": "What are your business hours?",
"session_id": "user_123"
}
)
data = response.json()
print(data["response"])
Esimerkki (JavaScript)
const response = await fetch("https://asyntai.com/api/v1/chat/", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
message: "What are your business hours?",
session_id: "user_123"
})
});
const data = await response.json();
console.log(data.response);
GET /websites/
Listaa kaikki tiliisi liitetyt verkkosivustot.
Vastaus
{
"success": true,
"websites": [
{
"id": 1,
"name": "My Website",
"domain": "example.com",
"is_primary": true
}
]
}
Esimerkki (cURL)
curl https://asyntai.com/api/v1/websites/ \
-H "Authorization: Bearer YOUR_API_KEY"
POST /websites/
Create a new AI agent. This does the same thing as adding a website in your dashboard: it makes the agent, reads your site, and writes the first draft of the AI instructions.
Use this to set up customers from your own software. You get back the widget ID and the code to put on the website.
Pyynnön runko
| Kenttä | Tyyppi | Kuvaus |
|---|---|---|
domain |
string | Required. The website address, for example example.com |
name |
string | Optional. A display name for the agent. Useful when one website has several agents. |
crawl |
boolean | Optional, true by default. Set it to false to create the agent without reading the website. Nothing is crawled and no instructions are written. |
force |
boolean | Optional, false by default. Set it to true to add a website you already have. The copy is stored with a number after it. |
Vastaus
{
"success": true,
"website": {
"id": 42,
"domain": "example.com",
"name": "Support agent",
"widget_id": "asyntai_ab12cd34ef56",
"is_primary": true,
"crawl_started": true,
"instructions_status": "generating",
"job_id": "8f2c1e90-..."
},
"embed_code": "<script>...</script>"
}
Esimerkki (cURL)
curl -X POST https://asyntai.com/api/v1/websites/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com", "name": "Support agent"}'
Reading a website takes a few minutes, so this call answers straight away. Check when the agent is ready with the next endpoint.
Errors
| Code | Meaning |
|---|---|
403 |
You have reached the number of websites your plan allows. The answer tells you the limit. |
409 |
Your account already has this website. Send force as true to add it again. |
GET /websites/{id}/
Get one website and see whether it is ready. Use this after you create an agent, to wait until the website has been read and the AI instructions are written.
Vastaus
{
"success": true,
"website": {
"id": 42,
"domain": "example.com",
"name": "Support agent",
"widget_id": "asyntai_ab12cd34ef56",
"is_primary": true,
"created_at": "2026-08-11T09:12:00+00:00",
"ready": true,
"instructions": {
"status": "completed",
"has_instructions": true,
"characters": 3421
},
"crawl": {
"job_id": "8f2c1e90-...",
"status": "completed",
"pages_crawled": 47,
"pages_found": 50,
"max_pages": 50,
"completed_at": "2026-08-11T09:15:31+00:00",
"error": ""
},
"knowledge_items": 47
},
"embed_code": "<script>...</script>"
}
The ready field is true when nothing is still running. A crawl that failed also counts as ready, because it has finished. Look at the crawl status to see what happened.
Esimerkki (cURL)
curl https://asyntai.com/api/v1/websites/42/ \
-H "Authorization: Bearer YOUR_API_KEY"
GET PATCH /websites/{id}/settings/
Read or change the chat widget settings for one website. These are the same settings you see on the Customize page: colours, the name of the assistant, the first message, lead capture, and everything else.
Reading the settings
A GET request returns every setting with its current value, plus a locked list. Locked shows the settings your plan cannot change, and which plans they need.
{
"success": true,
"settings": {
"ai_support_name": "AI Assistant",
"widget_color": "#6366f1",
"initial_message": "Hi, how can I help you?",
"hide_branding": false,
"...": "..."
},
"locked": {
"hide_branding": ["pro", "enterprise"],
"widget_style": ["pro", "enterprise"]
}
}
Changing the settings
A PATCH request changes only the settings you send. Everything you leave out stays as it is.
curl -X PATCH https://asyntai.com/api/v1/websites/42/settings/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ai_support_name": "Ava", "widget_color": "#0f172a", "use_emoji": true}'
{
"success": true,
"updated": ["ai_support_name", "use_emoji", "widget_color"],
"settings": { "...": "..." },
"locked": { "...": "..." }
}
Plans
Each setting needs its own plan, the same as in the dashboard. For example, hiding the Asyntai branding needs the Pro plan, and voice input needs Standard.
| Plan needed | Asetukset | Examples |
|---|---|---|
| Any paid plan | 25 | widget_color, ai_support_name, initial_message |
| Starter ja ylemmät | 22 | profile_picture, conversation_starters_enabled |
| Standard ja ylemmät | 25 | speech_to_text_enabled, image_vision_enabled, escalation_enabled |
| Pro | 6 | hide_branding, widget_style |
If you send a setting your plan does not allow, the whole request is refused with code 403 and nothing is saved. The same happens if any value is wrong, for example a colour that is not a hex code. Your settings never end up half changed.
GET PUT /websites/{id}/instructions/
Read or replace the AI instructions for one website. These are the rules that tell the assistant who it is, what it may say, and what it must not say. They are the same instructions you edit in the dashboard.
Reading
{
"success": true,
"instructions": "You are the support agent for Acme Tools...",
"characters": 1979,
"version": 7,
"mode": "instructions",
"ask_questions": true,
"generation_status": "completed",
"being_edited_by": null
}
Replacing
A PUT request replaces the whole text, the same as saving in the dashboard. There is no append mode. To add a paragraph, read the instructions, add your text, then write it back.
curl -X PUT https://asyntai.com/api/v1/websites/42/instructions/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"instructions": "You are the support agent for Acme Tools...", "version": 7}'
Pyynnön runko
| Kenttä | Tyyppi | Kuvaus |
|---|---|---|
instructions |
string | Required. The complete new text. It replaces everything that was there. |
version |
number | Optional but recommended. The version you read. If somebody changed the instructions since then, your write is refused instead of overwriting their work. |
mode |
string | Optional. Either instructions or general. |
ask_questions |
boolean | Optional. Whether the assistant asks a follow-up question at the end of its answers. |
force |
boolean | Optional, false by default. Needed only when your new text is less than half the length of the current text. |
How your instructions are protected
Instructions can take hours to write, so a write can be refused to protect them:
| Code | Meaning |
|---|---|
400 |
Your new text is less than half the length of the current text. This catches a script that sends empty or cut-off text over instructions somebody spent hours on. Send force as true if you meant it. |
409 |
The instructions changed after you read them. Read them again, apply your change, then write. |
423 |
Somebody is editing the instructions in the dashboard right now. The answer tells you who. Try again in a couple of minutes. |
Every change also saves a copy of the previous text, so an earlier version can always be restored from the dashboard.
GET /conversations/
Hae tietyn istunnon keskusteluhistoria.
Kyselyparametrit
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
session_id |
string | Kyllä | Istunnon tunniste, jonka historia haetaan |
limit |
integer | Ei | Palautettavien viestien enimmäismäärä (oletus: 50, maks: 100) |
Vastaus
{
"success": true,
"session_id": "user_123",
"messages": [
{
"role": "user",
"content": "What are your business hours?",
"timestamp": "2024-01-15T10:30:00Z"
},
{
"role": "assistant",
"content": "Our business hours are Monday-Friday, 9 AM to 5 PM EST.",
"timestamp": "2024-01-15T10:30:01Z",
"sender_type": "ai",
"agent_name": null,
"response_time_ms": 1840.5
}
]
}
Kysymys ja sen vastaus tallennetaan samaan tietueeseen, joten molemmilla on sama timestamp. Älä vähennä niitä toisistaan vastausnopeuden mittaamiseksi, koska tulos on aina nolla. Käytä kenttää response_time_ms, joka on vastauksen todellinen kesto millisekunteina.
sender_type on ai, kun chatbot vastasi, ja human, kun joku agenteistasi otti keskustelun haltuunsa. agent_name sisältää kyseisen agentin näyttönimen.
Esimerkki (cURL)
curl "https://asyntai.com/api/v1/conversations/?session_id=user_123&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /sessions/
Listaa viimeisimmät keskusteluistuntosi. Käytä tätä istuntotunnisteiden löytämiseen, jotka voit sitten välittää /conversations/-päätepisteelle koko viestihistorian hakemiseksi.
Kyselyparametrit
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
limit |
integer | Ei | Palautettavien viimeisten istuntojen määrä (oletus: 20, maks: 100) |
website_id |
string | Ei | Suodata istunnot tietyn verkkosivuston tunnisteen mukaan |
source |
string | Ei | Suodata istunnon lähteen mukaan: widget, api, whatsapp, instagram, messenger, gorgias, freshchat, zapier |
Vastaus
{
"success": true,
"sessions": [
{
"session_id": "session_abc123def",
"source": "widget",
"message_count": 5,
"first_message": "What are your business hours?",
"first_message_at": "2024-01-15T10:30:00Z",
"last_message_at": "2024-01-15T10:35:00Z",
"first_response_time_ms": 1840.5,
"first_human_response_at": null,
"started_at": "2024-01-15T10:29:58Z",
"ended_at": "2024-01-15T10:41:12Z",
"taken_over_at": null,
"website_domain": "example.com"
}
]
}
Aikaleimakentät raportointia varten
| Kenttä | Kuvaus |
|---|---|
started_at |
Milloin kävijä avasi keskustelun. Saatavilla vain widget-istunnoille, koska API:n kautta luodut istunnot eivät koskaan avaa widgetiä. |
first_message_at |
Milloin keskustelun ensimmäinen viesti tallennettiin. |
first_response_time_ms |
Kuinka kauan ensimmäinen vastaus kesti, millisekunteina. Käytä tätä ensimmäiseen vastausaikaan. |
first_human_response_at |
Milloin joku agenteistasi lähetti ensimmäisen vastauksen. Arvo on null, kun chatbot hoiti koko keskustelun. |
taken_over_at |
Milloin agentti otti keskustelun haltuunsa chatbotilta. |
last_message_at |
Milloin keskustelun viimeinen viesti tallennettiin. |
ended_at |
Milloin kävijä poistui keskustelusta. Keskustelulla ei ole ratkaistu- tai suljettu-tilaa, koska kävijä voi aina palata ja kysyä uuden kysymyksen. |
Kaikki aikaleimat ovat UTC-ajassa ja käyttävät ISO 8601 -muotoa. Aikavyöhykettä ei voi muuttaa. Muunna arvot omassa raportointityökalussasi.
Esimerkki (cURL)
curl "https://asyntai.com/api/v1/sessions/?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
GET /leads/
Hae kerätyt liidit — sähköpostiosoitteet ja puhelinnumerot, jotka kävijät ovat lähettäneet chat-keskustelujen aikana.
Kyselyparametrit
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
limit |
integer | Ei | Palautettavien liidien määrä (oletus: 50, maks: 100) |
website_id |
string | Ei | Suodata liidit tietyn verkkosivuston tunnuksen mukaan |
Vastaus
{
"success": true,
"leads": [
{
"session_id": "session_abc123def",
"email": "[email protected]",
"phone": "+1234567890",
"page_url": "https://example.com/pricing",
"started_at": "2024-01-15T10:30:00Z"
}
]
}
| Kenttä | Tyyppi | Kuvaus |
|---|---|---|
session_id |
string | Chat-istunnon tunniste. Välitä tämä /conversations/-päätteelle nähdäksesi täydellisen chat-historian. |
email |
merkkijono tai null | Kävijän antama sähköpostiosoite, tai null jos ei kerätty |
phone |
merkkijono tai null | Kävijän antama puhelinnumero, tai null jos ei kerätty |
page_url |
merkkijono tai null | Sivun URL, jossa kävijä keskusteli |
started_at |
string | ISO 8601 -aikaleima chat-istunnon alkamisajankohdasta |
Esimerkki (cURL)
curl "https://asyntai.com/api/v1/leads/?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Esimerkki (Python)
import requests
response = requests.get(
"https://asyntai.com/api/v1/leads/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"limit": 20}
)
leads = response.json()["leads"]
for lead in leads:
print(f"{lead['email'] or ''} | {lead['phone'] or ''}")
GET /account/
Hae tilisi tiedot ja käyttötilastot.
Vastaus
{
"success": true,
"account": {
"email": "[email protected]",
"plan": "starter",
"messages_used": 150,
"messages_limit": 2500
}
}
Esimerkki (cURL)
curl https://asyntai.com/api/v1/account/ \
-H "Authorization: Bearer YOUR_API_KEY"
Useita verkkosivustoja? Tietopankin päätepisteet oletuksena viittaavat ensisijaiseen verkkosivustoosi. Jos sinulla on useita verkkosivustoja, välitä website_id kohdistaaksesi tiettyyn. Löydät verkkosivustojesi tunnukset käyttämällä GET /websites/.
Päivittäiset latausrajat: Tietopankin lataukset (teksti, URL, laskentataulukko) ovat päivittäisen merkkirajoituksen alaisia pakettisi mukaan. Tämä koskee kaikkea tietopankin päätepisteisiin päivässä ladattua sisältöä yhteensä.
| Paketti | Merkkiä/päivä |
|---|---|
| Starter | 300 000 |
| Standard | 1 500 000 |
| Pro | 6 000 000 |
GET /knowledge/
Listaa tietopankin merkinnät. Nämä ovat sisältölähteet, joita tekoälychatbottisi käyttää kysymyksiin vastaamiseen.
Kyselyparametrit
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
limit |
integer | Ei | Palautettavien merkintöjen määrä (oletus: 50, maks: 100) |
website_id |
string | Ei | Suodata verkkosivuston tunnuksen mukaan (oletus: ensisijainen verkkosivustosi) |
Vastaus
{
"success": true,
"entries": [
{
"id": "abc-123-def",
"type": "text",
"title": "Business Hours",
"description": "Manual text content (150 words)",
"created_at": "2024-01-15T10:30:00Z"
},
{
"id": "ghi-456-jkl",
"type": "url",
"title": "About Us - Example",
"description": "Content from https://example.com/about",
"created_at": "2024-01-14T09:00:00Z"
}
]
}
Esimerkki (cURL)
curl "https://asyntai.com/api/v1/knowledge/?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /knowledge/text/
Lisää mukautettua tekstisisältöä tietopankkiisi. Tekoäly käyttää tätä vierailijoiden kysymyksiin vastaamiseen.
Pyynnön runko
{
"title": "Return Policy",
"content": "We offer a 30-day return policy on all items. Items must be unused and in original packaging. Refunds are processed within 5-7 business days.",
"website_id": "123"
}
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
title |
string | Kyllä | Tietopankkimerkinnän otsikko |
content |
string | Kyllä | Tekstisisältö (vähintään 10 merkkiä) |
website_id |
string | Ei | Kohdeverkkosivusto (oletus: ensisijainen verkkosivustosi) |
Vastaus
{
"success": true,
"id": "abc-123-def",
"title": "Return Policy",
"chunks_created": 1
}
Esimerkki (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/text/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Return Policy", "content": "We offer a 30-day return policy..."}'
POST /knowledge/url/
Lisää verkkosivu tietopankkiisi. Sisältö haetaan ja poimitaan automaattisesti.
Pyynnön runko
{
"url": "https://example.com/faq",
"website_id": "123"
}
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
url |
string | Kyllä | URL-osoite, josta sisältö haetaan |
website_id |
string | Ei | Kohdeverkkosivusto (oletus: ensisijainen verkkosivustosi) |
Vastaus
{
"success": true,
"id": "abc-123-def",
"title": "FAQ - Example",
"url": "https://example.com/faq",
"chunks_created": 5
}
Esimerkki (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/url/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/faq"}'
POST /knowledge/spreadsheet/
Lataa CSV- tai Excel-taulukko (.xlsx) tietopankkiisi. Jokaisesta rivistä tulee erillinen tietopankkimerkintä, joka sopii tuoteluetteloihin, UKK-listoihin, hintataulukoihin ja hakemistoihin.
Pyyntö
Lähetä muodossa multipart/form-data (tiedoston lataus), ei JSON.
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
file |
tiedosto | Kyllä | .csv- tai .xlsx-tiedosto. Ensimmäisen rivin on oltava sarakeotsikot. Rivien enimmäismäärä per lataus: Starter 500, Standard 2 000, Pro 10 000. Ylimääräiset rivit katkaistaan. |
website_id |
string | Ei | Kohdeverkkosivusto (oletus: ensisijainen verkkosivustosi) |
Vastaus
{
"success": true,
"id": "abc-123-def",
"title": "products.csv",
"rows_processed": 15,
"chunks_created": 15
}
Esimerkki (cURL)
curl -X POST "https://asyntai.com/api/v1/knowledge/spreadsheet/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
GET /knowledge/{id}/
Lue yksi tietokannan merkintä ja sille tallennettu teksti. Arvo id tulee vastauksesta GET /knowledge/.
Sisältö palautetaan niistä merkinnöistä, jotka olet itse lisännyt: teksti, tiedostot, taulukot, yksittäiset URL-osoitteet ja videot. Sivuston läpikäynti näkyy luettelossa, mutta sen sivuja ei palauteta, koska lähde on oma julkinen sivustosi. Tällöin content on null ja kenttä reason kertoo syyn.
Vastaus
{
"success": true,
"id": "abc-123-def",
"type": "text",
"title": "Business Hours",
"description": "Manual text content (150 words)",
"created_at": "2024-01-15T10:30:00Z",
"chunks_count": 3,
"content": "We are open Monday to Friday, 9am to 5pm...",
"content_available": true,
"char_count": 43
}
Esimerkki (cURL)
curl "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
DELETE /knowledge/{id}/
Poista tietopankkimerkintä. id-tunnisteen löydät GET /knowledge/ -vastauksen kautta.
Vastaus
{
"success": true,
"message": "Knowledge base entry deleted"
}
Esimerkki (cURL)
curl -X DELETE "https://asyntai.com/api/v1/knowledge/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
Vinkki: Voit myös hallita webhookeja API-asetukset -sivulta ilman koodin kirjoittamista.
GET /webhooks/
Listaa rekisteröidyt webhookisi.
Vastaus
{
"success": true,
"webhooks": [
{
"id": "abc-123-def",
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"is_active": true,
"created_at": "2024-01-15T10:30:00Z"
}
]
}
Esimerkki (cURL)
curl "https://asyntai.com/api/v1/webhooks/" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /webhooks/
Rekisteröi uusi webhook vastaanottaaksesi reaaliaikaisia tapahtumailmoituksia.
Saatavilla olevat tapahtumat
| Tapahtuma | Kuvaus |
|---|---|
message.received |
Vierailija lähetti viestin ja sai vastauksen |
conversation.started |
Uusi keskusteluistunto aloitettiin |
escalation.requested |
Tekoäly käynnisti eskalaation ihmisagentille |
takeover.started |
Ihmisagentti otti keskusteluistunnon haltuunsa |
Pyynnön runko
{
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"website_id": "123"
}
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
url |
string | Kyllä | HTTPS-URL-osoite webhook POST -pyyntöjen vastaanottamiseen |
events |
array | Kyllä | Lista tilattavista tapahtumista (katso yllä oleva taulukko) |
website_id |
string | Ei | Kohdeverkkosivusto (oletus: ensisijainen verkkosivustosi) |
Vastaus
{
"success": true,
"webhook": {
"id": "abc-123-def",
"url": "https://example.com/webhook",
"events": ["message.received", "escalation.requested"],
"secret": "whsec_abc123...",
"created_at": "2024-01-15T10:30:00Z"
}
}
Webhookien vahvistaminen: Jokainen webhook sisältää secret (näytetään vain luotaessa). Jokainen POST URL-osoitteeseesi sisältää X-Webhook-Signature otsikko — pyynnön rungon HMAC-SHA256, allekirjoitettu salaisuudellasi.
Esimerkki (cURL)
curl -X POST "https://asyntai.com/api/v1/webhooks/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/webhook", "events": ["message.received"]}'
DELETE /webhooks/{id}/
Poista webhook. id-tunnisteen löydät GET /webhooks/ -vastauksen kautta.
Vastaus
{
"success": true,
"message": "Webhook deleted"
}
Esimerkki (cURL)
curl -X DELETE "https://asyntai.com/api/v1/webhooks/abc-123-def/" \
-H "Authorization: Bearer YOUR_API_KEY"
Virhevastaukset
Kaikki virhevastaukset noudattavat tätä muotoa:
{
"success": false,
"error": "Error message describing what went wrong"
}
| Tilakoodi | Kuvaus |
|---|---|
400 |
Virheellinen pyyntö – Virheelliset parametrit tai puuttuvat pakolliset kentät |
401 |
Luvaton - Virheellinen tai puuttuva API-avain |
429 |
Liian monta pyyntöä - Pakettisi viestiraja saavutettu |
503 |
Palvelu ei saatavilla - Tekoälypalvelu tilapäisesti poissa käytöstä |
Pyyntörajoitukset
API:n käyttöä rajoittaa tilauspakettisi:
- Ilmainen: 100 viestiä/kuukausi
- Starter (39 $/kk): 2 500 viestiä/kuukausi
- Standard (139 $/kk): 15 000 viestiä/kuukausi
- Pro (449 $/kk): 50 000 viestiä/kuukausi
Tarvitsetko apua?
Jos sinulla on kysyttävää tai kohtaat ongelmia, ota meihin yhteyttä osoitteessa [email protected].