Confronta risposte dirette, streaming, lavori di sfondo e webhooks. Tutte le varianti usano il testo, il codice della lingua e la modalità.
Scegli come il tuo sistema riceve il risultato.
{
"text": "Contenuti originali complessi nella lingua selezionata.",
"locale": "it",
"mode": "simple-language"
}Esempi di SDK e cURL disponibili
HTTP sincrono
Punto di destinazione
POST /api/v2/translate
- Perfetto .
Testi brevi, il cui risultato è necessario immediatamente.
Successo
200 OK
Streaming
La risposta utilizza Content-Type: text/event-stream.
Punto di destinazione
POST /api/v2/translate/stream
- Perfetto .
Per il contenuto più lungo, il cui risultato dovrebbe essere visualizzato 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}}Il flusso inizia con meta. Questo è seguito da una o più parti del testo come delta. L'evento svolto completa la risposta con i dati di utilizzo.
Il primo evento contiene l'ID di richiesta, il codice vocale e la modalità.
Ogni delta contiene una parte del risultato e done contiene le informazioni sull'utilizzo.
Al termine, la connessione si chiude.
Lavorato in sincronia con i sondaggi
Invia un'intestazione Idempotency-Key univoca durante la creazione di un processo. Per i nuovi tentativi usa la stessa chiave, senza spazi iniziali o finali, composta da 1 a 255 caratteri. La prima creazione restituisce 202, mentre una ripetizione restituisce 200.
Creazione di endpoint
POST /api/v2/jobs
Punto di destinazione di stato
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"
}I lavori rimangono disponibili per sette giorni.
Un processo attraversa gli stati queued, processing, completed o failed. I processi non riusciti includono error.code. Le risposte di creazione e di stato includono expiresAt.
Prima chiedi di nuovo lo status dopo un secondo. Aumentare la distanza gradualmente con una lavorazione più lunga.
Async con webhook
Crea e verifica prima un endpoint webhook nell'applicazione Simple8. Quindi fare riferimento al relativo ID endpoint nel lavoro.
Creazione di endpoint
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"
}
}Simple8 invia Simple8-Signature nel formato t=<timestamp>,v1=<signature>. <timestamp> è un timestamp Unix espresso in secondi. La firma è il risultato esadecimale in minuscolo di un HMAC SHA-256 calcolato su <timestamp>.<raw request body>.
Controllare la firma contro la richiesta invariata. Vedrai la chiave di firma segreta una volta creato l'endpoint.
Restituisci HTTP 200 o 201 non appena il sistema accetta l'evento.
Ripeti: In caso di errore, Simple8 tenta di consegnare fino a 50 volte entro sette giorni. Puoi vedere gli ultimi tentativi nell'applicazione.
Eventi duplicati: Elaborare ogni ID evento solo una volta, come una ripetizione può rivendere lo stesso evento.
Elaborazione batch
Invia da 1 a 50 elementi con un massimo combinato di 25.000 caratteri.
Creazione di endpoint
POST /api/v2/batches
Punto di destinazione di stato
GET /api/v2/batches/{id}
Ogni elemento utilizza gli stessi campi di testo, impostazioni locali e modalità di una richiesta sincrona.
Scegli il polling o un endpoint webhook verificato per la consegna e invia un'intestazione Idempotency-Key univoca.
{
"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"
}
}
]
}La creazione di un batch restituisce HTTP 202 la prima volta e HTTP 200 in caso di ripetizione idempotente. Gli eventi webhook sono job.completed, job.failed, batch.completed e batch.failed. I payload dei webhook completati contengono solo identificatori e stato. Recupera l'output dall'endpoint di stato del processo o del batch.