Prévisualiser une traduction
Ce que `translate` produirait sur un envoi, sans rien envoyer ni rien stocker.
Exécute le véritable appel sur votre espace de travail, avec votre propre clé.
POST /emails/translate
Ce que translate produirait sur un envoi, sans rien envoyer ni rien stocker.
La requête
Les trois mêmes options qu'un envoi résout, sans l'enveloppe, passées par la même fonction qu'appelle le chemin d'envoi. Cette identité est tout l'intérêt du point de terminaison : un aperçu doté de son propre code serait une promesse que nous ne tenons pas, et le jour où les deux divergeraient, ce qui est à l'écran de quelqu'un et ce qui est dans la boîte de réception du destinataire différeraient sans que rien ne le signale.
Paramètres
tostringobligatoire- La langue dans laquelle rédiger. Un code BCP-47 (`de`), un nom anglais ("German") ou le nom que la langue se donne ("Deutsch"). La réponse vous indique vers quel code elle a résolu, et c'est cette forme qu'il faut stocker si vous conservez une langue par contact.
htmlstring- Le corps HTML, jusqu'à un mégaoctet. L'un de html, text ou subject est requis.
textstring- La partie en texte brut. Traduite indépendamment de `html`, avec son propre contrôle de longueur.
subjectstring- La LIGNE d'objet : une string, et non le boolean qu'elle est sous `translate` lors d'un envoi. Ce sont deux questions différentes : là-bas vous dites s'il faut traduire un objet que nous détenons déjà, ici vous en fournissez un.
fromstring- La langue dans laquelle vous l'avez écrit, sous l'une des trois mêmes formes. La préciser évite l'appel de détection.
includeOriginalboolean- Indique si le `html` renvoyé porte déjà votre original sous la traduction. Vaut true par défaut.
Les clés inconnues donnent un 422, comme partout ailleurs. Une requête sans html, ni text, ni subject donne un 422 sur html : « One of html, text or subject is required ».
Prévisualiser
L'aller-retour que fait le compositeur avant de montrer à quelqu'un ce qu'il s'apprête à envoyer.
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" }'{ "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 et subject reviennent à null plutôt qu'absents pour un champ que vous n'avez pas envoyé, afin qu'un client puisse afficher la réponse sans se souvenir de ce qu'il a demandé.
detectedSourceLanguage vaut null lorsque la détection s'est abstenue. C'est une vraie réponse, pas un échec. Un corps fait de noms, de nombres et de liens ne lui donne rien à lire, et la seule conséquence est que votre original est légendé sans langue.
includeOriginal est renvoyé en écho parce qu'il change ce que contient html. Lorsqu'il est activé, le corps porte déjà votre original sous la traduction, et y ajouter votre propre copie l'envoie deux fois.
Aperçu, modification, envoi
La forme pour laquelle ceci est conçu est aperçu, MODIFICATION, envoi : montrez la traduction à une personne, laissez-la la modifier, puis envoyez ce qu'elle a approuvé sous la forme d'un html et d'un subject ordinaires, sans aucun translate sur la requête. Ce qu'elle a approuvé est alors mot pour mot ce qui part.
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>" }'Envoyer avec translate après un aperçu traduit une seconde fois et jette les modifications. L'envoi partirait dans une formulation que personne n'a lue, ce qui est précisément l'échec que l'aperçu existe pour éviter.
Ce que cela coûte, et ce que cela ne fait pas
- Trois appels de modèle (le corps, l'objet, et un pour déterminer la langue dans laquelle vous avez écrit) émis ensemble, si bien que l'attente correspond au plus long des trois plutôt qu'à leur somme. Préciser
fromsupprime le troisième. Le coût est le même qu'un envoi avectranslate: faites donc un aperçu une fois plutôt qu'à chaque révision. - Rien n'est envoyé, aucune ligne n'est écrite et aucun id n'est renvoyé. Il n'y a rien ici à annuler ni à récupérer plus tard.
- Il traduit et ne fait rien d'autre. Il ne relit pas, il n'améliore pas la rédaction, et il ne répond jamais au message.
- Les noms, les sociétés, les liens, les numéros de commande, les prix et les dates reviennent tels qu'ils sont entrés, afin que la traduction puisse être vérifiée ligne à ligne par rapport à l'original.
- L'historique cité n'est pas retiré, contrairement à la moitié lecture. Ce que vous fournissez est ce qui est traduit, ce qui convient à un compositeur, où le corps n'est que ce que quelqu'un vient d'écrire, et qu'il vaut mieux savoir si vous postez toute une chaîne de réponses.
- Soumis à
emails:send, sans portée propre : il n'accorde rien qu'un expéditeur ne puisse déjà faire, et une portée que personne ne distingue deemails:sendsur un écran de consentement affaiblit légèrement le sens de toutes les autres portées de cette liste.
Le corps est plafonné au même mégaoctet qu'autorise un envoi, mais la traduction elle-même refuse tout ce qui dépasse 30 000 caractères avec translation_too_long. Les codes d'échec sont ceux que renvoie un envoi traduit, listés sous Envoyer un e-mail.