Saltar para a documentação
API

Pré-visualizar uma tradução

O que `translate` num envio produziria, sem nada enviado e sem nada guardado.

POSTapi.openemail.uk/emails/translate

Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.

POST /emails/translate

O que translate num envio produziria, sem nada enviado e sem nada guardado.

O pedido

As mesmas três opções que um envio resolve, sem o envelope, passadas pela mesma função que o caminho de envio chama. Essa identidade é todo o valor do endpoint: uma pré-visualização com código próprio seria uma promessa que não cumprimos, e no dia em que as duas divergissem, aquilo que está no ecrã de alguém e aquilo que está na caixa de entrada do destinatário seriam diferentes sem nada que o dissesse.

Parâmetros

tostringobrigatório
A língua em que escrever. Um código BCP-47 (`de`), um nome em inglês («German») ou o nome da própria língua («Deutsch»). A resposta diz-lhe para que código foi resolvido, e é essa a forma a guardar se estiver a manter uma língua por contacto.
htmlstring
O corpo HTML, até um megabyte. É obrigatório um de html, text ou subject.
textstring
A parte em texto simples. Traduzida independentemente de `html`, com a sua própria verificação de comprimento.
subjectstring
A LINHA de assunto: uma string, e não o booleano que é sob `translate` num envio. São perguntas diferentes: ali está a dizer se deve ser traduzido um assunto que já temos, aqui está a entregar um.
fromstring
Aquilo em que a escreveu, em qualquer uma das mesmas três formas. Indicá-la dispensa a chamada de deteção.
includeOriginalboolean
Se o `html` devolvido já traz o seu original por baixo da tradução. True por omissão.

As chaves desconhecidas dão um 422, como em todo o lado. Um pedido sem nenhum de html, text ou subject dá um 422 em html: "One of html, text or subject is required".

Pré-visualizar

A ida e volta que o compositor faz antes de mostrar a alguém aquilo que está prestes a enviar.

curl
curl -X POST "$OE/emails/translate" -H "$AUTH" -H "Content-Type: application/json" \  -d '{    "subject": "Your September invoice",    "html": "<p>Invoice attached. Payment is due on the 14th.</p>",    "to": "de"  }'
Resposta
{  "object": "translation",  "language": { "code": "de", "label": "German", "native": "Deutsch", "flag": "🇩🇪", "rtl": false },  "detectedSourceLanguage": {    "code": "en", "label": "English", "native": "English", "flag": "🇬🇧", "rtl": false  },  "subject": "Ihre Rechnung für September",  "html": "<p>Rechnung im Anhang. Zahlbar bis zum 14.</p>\n<div style=\"margin:28px 0 0;padding:14px 0 0;border-top:1px solid #d6dae0\">\n<div style=\"margin:0 0 10px;font-size:12px;line-height:1.5;color:#6b7280\">Ursprüngliche Nachricht (English)</div>\n<div><p>Invoice attached. Payment is due on the 14th.</p></div>\n</div>",  "text": null,  "includeOriginal": true}

html, text e subject voltam a null em vez de ausentes para um campo que não enviou, para que um cliente possa apresentar a resposta sem ter de se lembrar do que pediu.

detectedSourceLanguage é null quando a deteção se absteve. Isso é uma resposta verdadeira e não uma falha. Um corpo de nomes, números e ligações não lhe dá nada para ler, e a única consequência é que o seu original fica legendado sem língua.

includeOriginal é devolvido porque altera aquilo que html contém. Com ele ligado, o corpo já traz o seu original por baixo da tradução, e acrescentar a sua própria cópia envia-o duas vezes.

Pré-visualizar, editar, enviar

O formato para que isto foi construído é pré-visualizar, EDITAR, enviar: mostre a tradução a uma pessoa, deixe-a alterá-la e depois envie o que ela aprovou como um html e um subject normais, sem translate nenhum no pedido. O que ela aprovou é então, palavra por palavra, aquilo que sai.

curl
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \  -d '{    "from": "[email protected]",    "to": ["[email protected]"],    "subject": "Ihre Rechnung für September",    "html": "<p>Rechnung im Anhang. Zahlbar bis zum 14.</p>"  }'

Enviar com translate depois de pré-visualizar traduz uma segunda vez e deita fora as edições. O envio sairia com um texto que ninguém leu, que é precisamente a falha que a pré-visualização existe para evitar.

Quanto custa, e o que não faz

  • Três chamadas ao modelo (o corpo, o assunto e uma para deduzir em que escreveu) emitidas em conjunto, pelo que a espera é a mais longa das três e não a soma delas. Indicar from dispensa a terceira. Custa o mesmo que enviar com translate, por isso pré-visualize uma vez em vez de a cada revisão.
  • Nada é enviado, nenhuma linha é escrita e nenhum id volta. Não há aqui nada para cancelar ou obter mais tarde.
  • Traduz e mais nada. Não revê o texto, não melhora a escrita e nunca responde à mensagem.
  • Nomes, empresas, ligações, números de encomenda, preços e datas voltam tal como entraram, para que a tradução possa ser conferida com o original linha a linha.
  • O histórico citado não é retirado, ao contrário do que acontece na metade da leitura. O que entregar é o que é traduzido, o que está certo para um compositor, onde o corpo é apenas o que alguém acabou de escrever, e é bom saber se publicar uma cadeia de respostas inteira.
  • Com o âmbito emails:send, sem âmbito próprio: não concede nada que um remetente já não pudesse fazer, e um âmbito que ninguém distingue de emails:send num ecrã de consentimento faz com que todos os outros âmbitos dessa lista signifiquem um pouco menos.

O corpo está limitado ao mesmo megabyte que um envio permite, mas a própria tradução recusa tudo o que passe dos 30 000 caracteres com translation_too_long. Os códigos de falha são os que um envio traduzido devolve, listados em Enviar um email.