Швидкий старт
Один виклик без налаштувань — і три речі, які варто знати про відповідь.
Налаштовувати нічого не треба. API публічний, без автентифікації, лише на читання.
Зарезолвити одну мову
curl "https://languages.service.custom.mt/v1/resolve?provider=deepl_api&language=pt_BR"
{
"query": "pt_BR",
"provider": "deepl_api",
"language": "pt-BR",
"code": "PT-BR",
"supported": true,
"match": "exact",
"matched_alias": null,
"via_language": null
}
code — це відповідь, рядок для запиту до провайдера. Решта полів її пояснює.
Три речі про цю відповідь
code повертається навіть коли він дорівнює вашому вводу. Не робіть окремий кейс для «нічого не змінилось» — завжди надсилайте те, що каже code. У цьому й суть: ваш код перестає знати, які провайдери примхливі.
language — канонічний код. Зберігайте саме його, а не те написання, яке ви отримали. pt_BR, PT-BR і por-br канонізуються в pt-BR, і саме зберігання канонічної форми робить два записи порівнюваними згодом.
match каже, наскільки ми впевнені. exact означає, що пару налаштували свідомо. Будь-що інше означає, що відповідь виведена — коректна й безпечна, але не курована. Повна драбина — Resolution Ladder.
Уся задача за один раунд-тріп
Задача перекладу потребує source і target; проєкт розгортає один source на багато targets. Спитайте все одразу:
curl -X POST https://languages.service.custom.mt/v1/resolve/batch \
-H 'Content-Type: application/json' \
-d '{"pairs":[
{"provider":"deepl_api","language":"en-GB"},
{"provider":"deepl_api","language":"pt_BR"}
]}'
Порядок відповіді збігається із запитом, і кожен елемент несе або result, або error — одна невідома мова ніколи не коштує вам решти батча.
Як назвати провайдера
Працюють три форми:
| Форма | Приклад |
|---|---|
| Код каталогу | deepl_api |
| Коротка назва | deepl |
Легасі service_name консолі |
OpenAiGPT4o_2024_11_20_Provider |
Коди каталогу — ті самі, що у provider_credentials, тож один ідентифікатор працює в обох сервісах. Легасі-назви існують, щоб ті, хто переїжджає з консолі, нічого не міняли в перший день — див. Migrating from the Console.
Як назвати мову
Будь-яке зареєстроване написання; регістр і роздільники ігноруються. zh_hans, ZH-HANS і zh-Hans — один ключ. Див. Aliases and Normalisation.
Коли нічого не знайдено
{ "error": { "code": "language_not_found",
"message": "Unknown language code: 'xx-YY'",
"details": { "language": "xx-YY" } } }
Розгалужуйтесь по error.code, ніколи по тексту. Повний перелік — Error Codes.
Якщо ви чистите список кодів і волієте класифікувати, а не ловити винятки, беріть /v1/normalize — він віддає 200 з known: false замість 404. Див. Нормалізація вхідних кодів.
Далі
- Core Concepts — чотири сутності, якими оперує сервіс
- Resolution Ladder — як обчислюється
match - Endpoints Index — усі операції на одній сторінці