Документация

Изберете как системата ви получава резултата.

{
  "text": "Сложно изходно съдържание на избрания език.",
  "locale": "bg",
  "mode": "simple-language"
}

Налични са примери за SDK и cURL

Синхронна HTTP

Сравнете директните отговори, Streaming, задната задача и Webhooks. Всички варианти използват текст, гласен код и режим.

Крайна точка

POST /api/v2/translate

Най-добре за

Кратки текстове, които се използват незабавно.

Успех

200 ОК

Съпровождане

Отговорът използва Content-Type: text/event-stream.

Крайна точка

POST /api/v2/translate/stream

Най-добре за

За по-дълго съдържание, резултатът от което трябва да се показва стъпка по стъпка.

json
{
  "text": "Source content in the selected language.",
  "locale": "en",
  "mode": "easy-language"
}
text
event: meta
data: {"requestId":"req_stream_001","locale":"en","mode":"easy-language"}

event: delta
data: {"delta":"Complete result."}

event: done
data: {"usage":{"inputCharacters":42,"cacheHit":false}}

Потокът започва с мета. След това следва една или няколко части от текста като делта.

Първото събитие съдържа ID на заявката, езиков код и режим.

Всяка делта съдържа част от резултата, а done съдържа информацията за употребата.

След като приключи, връзката се затваря.

Асинхронизирана работа с анкетиране

Изпратете уникален хедър Idempotency-Key, когато създавате задание. При повторни опити използвайте същия ключ без начални и крайни интервали, съдържащ от 1 до 255 знака. Първото създаване връща 202, а повторното изпращане връща 200.

Създаване на крайна точка

POST /api/v2/jobs

Стойност на крайната точка

GET /api/v2/jobs/{id}

json
{
  "text": "Source content in the selected language.",
  "locale": "fr",
  "mode": "simple-language",
  "delivery": {
    "type": "polling"
  }
}
json
{
  "jobId": "job_poll_001",
  "status": "queued",
  "expiresAt": "2026-09-03T12:00:00.000Z"
}
json
{
  "jobId": "job_poll_001",
  "status": "completed",
  "locale": "fr",
  "mode": "simple-language",
  "output": "Simplified content in French.",
  "expiresAt": "2026-09-03T12:00:00.000Z"
}

Работните места остават налични за седем дни.

Заданието преминава през queued, processing, completed или failed. Неуспешните задания съдържат error.code. Отговорите при създаване и за състояние съдържат expiresAt.

Първо, след секунда, повторите въпроса за състоянието.

Работа с Async с webhook

Първо създайте и проверете крайна точка на webhook в приложението Simple8. След това посочете неговия идентификатор на крайна точка в заданието.

Създаване на крайна точка

POST /api/v2/jobs

json
{
  "text": "Source content in the selected language.",
  "locale": "de",
  "mode": "easy-language",
  "delivery": {
    "type": "webhook",
    "endpointId": "00000000-0000-4000-8000-000000000000"
  }
}
json
{
  "id": "evt_01",
  "type": "job.completed",
  "createdAt": "2026-08-06T12:00:00.000Z",
  "data": {
    "jobId": "job_hook_001",
    "status": "completed"
  }
}

Simple8 изпраща Simple8-Signature като t=<timestamp>,v1=<signature>. <timestamp> е Unix времеви печат в секунди. Подписът е шестнадесетичният резултат с малки букви от HMAC SHA-256 върху <timestamp>.<raw request body>.

Проверете подписа срещу непроменената заявка. Ще видите тайния ключ за подписване веднъж, когато създавате крайната точка.

Върнете HTTP 200 или 201 веднага щом системата ви приеме събитието.

Повтаряния: При грешка се опитва Simple8 да се направи доставка отново в рамките на 7 дни до 50 пъти. Последните опити можете да видите в приложението.

Двойни събития: Проработете всеки идентификатор на събитието само веднъж, тъй като едно повторение може да изпрати същото събитие отново.

Пакетна обработка

Изпратете между 1 и 50 елемента с общ максимум от 25 000 знака.

Създаване на крайна точка

POST /api/v2/batches

Стойност на крайната точка

GET /api/v2/batches/{id}

Всеки елемент използва същия текст, локал и полета за режим като синхронна заявка.

Изберете анкета или потвърдена крайна точка на уебкукичка за доставка и изпратете уникална заглавка Idempotency-Key.

json
{
  "items": [
    {
      "text": "First source text.",
      "locale": "en",
      "mode": "simple-language"
    },
    {
      "text": "Second source text.",
      "locale": "de",
      "mode": "easy-language"
    }
  ],
  "delivery": {
    "type": "polling"
  }
}
json
{
  "batchId": "batch_001",
  "status": "queued",
  "itemCount": 2
}
json
{
  "batchId": "batch_001",
  "status": "completed",
  "itemCount": 2,
  "items": [
    {
      "jobId": "job_001",
      "status": "completed",
      "locale": "en",
      "mode": "simple-language",
      "output": "First result."
    },
    {
      "jobId": "job_002",
      "status": "failed",
      "locale": "de",
      "mode": "easy-language",
      "error": {
        "code": "processing_failed"
      }
    }
  ]
}

Създаването на пакет връща HTTP 202 при първото извикване и HTTP 200 при идемпотентно повторение. Webhook събитията са job.completed, job.failed, batch.completed и batch.failed. Завършените webhook payload-и съдържат само идентификатори и състояние. Извикайте endpoint-а за състоянието на заданието или пакета, за да прочетете резултата.

Започнете да използвате Simple8 безплатно.

Създайте своя безплатен акаунт и използвайте до 15 000 знака безплатно всеки месец.