Compare respostas diretas, streaming, tarefas de fundo e webhooks. Todas as variantes usam texto, código de idioma e modo.
Escolha como o seu sistema recebe o resultado.
{
"text": "Conteúdo de origem complexo no idioma selecionado.",
"locale": "pt",
"mode": "simple-language"
}Exemplos de SDK e cURL disponíveis
HTTP sincrono
Ponto final
POST /api/v2/translate
Melhor para
Textos curtos, cujo resultado é necessário imediatamente.
Sucesso
200 OK
Transmissão
A resposta usa Content-Type: text/event-stream.
Ponto final
POST /api/v2/translate/stream
Melhor para
Para conteúdo mais longo, cujo resultado deve ser exibido gradualmente.
{
"text": "Source content in the selected language.",
"locale": "en",
"mode": "easy-language"
}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}}O fluxo começa com meta. Isto é seguido por uma ou mais partes do texto como delta. O evento feito completa a resposta com os dados de uso.
O primeiro evento contém o ID da solicitação, o código de voz e o modo.
Cada delta contém uma parte do resultado e pronto contém as informações de uso.
Depois de feito isso, a conexão é fechada.
Trabalho sincronizado com as pesquisas
Envie um cabeçalho Idempotency-Key exclusivo ao criar um trabalho. Nas novas tentativas, utilize a mesma chave, sem espaços no início ou no fim, com 1 a 255 caracteres. A primeira criação devolve 202 e uma repetição devolve 200.
Criar um ponto final
POST /api/v2/jobs
Ponto final de status
GET /api/v2/jobs/{id}
{
"text": "Source content in the selected language.",
"locale": "fr",
"mode": "simple-language",
"delivery": {
"type": "polling"
}
}{
"jobId": "job_poll_001",
"status": "queued",
"expiresAt": "2026-09-03T12:00:00.000Z"
}{
"jobId": "job_poll_001",
"status": "completed",
"locale": "fr",
"mode": "simple-language",
"output": "Simplified content in French.",
"expiresAt": "2026-09-03T12:00:00.000Z"
}As vagas permanecem disponíveis por sete dias.
Um trabalho passa pelos estados queued, processing, completed ou failed. Os trabalhos com falha incluem error.code. As respostas de criação e estado incluem expiresAt.
Primeiro peça o status novamente após um segundo. Aumentar a distância gradualmente com processamento mais longo.
Trabalho de sincronização com webhook
Crie e verifique primeiro um endpoint de webhook no aplicativo Simple8. Em seguida, faça referência ao ID do endpoint no trabalho.
Criar um ponto final
POST /api/v2/jobs
{
"text": "Source content in the selected language.",
"locale": "de",
"mode": "easy-language",
"delivery": {
"type": "webhook",
"endpointId": "00000000-0000-4000-8000-000000000000"
}
}{
"id": "evt_01",
"type": "job.completed",
"createdAt": "2026-08-06T12:00:00.000Z",
"data": {
"jobId": "job_hook_001",
"status": "completed"
}
}A Simple8 envia Simple8-Signature no formato t=<timestamp>,v1=<signature>. <timestamp> é um carimbo de data/hora Unix em segundos. A assinatura é a saída hexadecimal em minúsculas de um HMAC SHA-256 calculado sobre <timestamp>.<raw request body>.
Verifique a assinatura com o pedido inalterado. Você verá a chave de assinatura secreta assim que criar o endpoint.
Devolve HTTP 200 ou 201 assim que o teu sistema aceitar o evento.
Repetições: Em caso de erro, Simple8 tenta entregar até 50 vezes em sete dias. Você pode ver as últimas tentativas na aplicação.
Duplicar eventos: Processar cada ID de evento apenas uma vez, como uma repetição pode reenviar o mesmo evento.
Processamento em lote
Envie entre 1 e 50 itens com um máximo combinado de 25.000 caracteres.
Criar um ponto final
POST /api/v2/batches
Ponto final de status
GET /api/v2/batches/{id}
Cada item usa os mesmos campos de texto, localidade e modo que uma solicitação síncrona.
Escolha a sondagem ou um endpoint de webhook verificado para entrega e envie um cabeçalho Idempotency-Key exclusivo.
{
"items": [
{
"text": "First source text.",
"locale": "en",
"mode": "simple-language"
},
{
"text": "Second source text.",
"locale": "de",
"mode": "easy-language"
}
],
"delivery": {
"type": "polling"
}
}{
"batchId": "batch_001",
"status": "queued",
"itemCount": 2
}{
"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"
}
}
]
}A criação de um lote devolve HTTP 202 na primeira vez e HTTP 200 numa repetição idempotente. Os eventos webhook são job.completed, job.failed, batch.completed e batch.failed. Os payloads dos webhooks concluídos contêm apenas identificadores e estado. Obtém o resultado no endpoint de estado do trabalho ou lote.