Теперь, когда вы изучили вводную информацию про API Smartcat и Краткое руководство по интеграции, рассмотрим некоторые основные GET-методы.
Получаем значения из справочника
В справочниках Smartcat содержится различная полезная информация, которую можно использовать в других запросах — например, списки специализаций, стран или валют. Получить любой справочник можно методом GET directory.
Request URL:
https://smartcat.ai/api/integration/v1/directory?type=language
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Виды справочников на уровне аккаунта:
- vendor — поставщики, подключенные к аккаунту
- domain — группы проектов, заданные в аккаунте
- client — клиенты, добавленные в аккаунте
- group — уровни доступа в аккаунт
- netRate — тарифные сетки, заданные для аккаунта
Виды справочников на уровне системы:
- language — языки
- projectStatus — возможные статусы проектов
- documentStatus — возможные статусы документов
- currency — валюты
- freelancerServiceType — возможные виды услуг (перевод, редактура и т.д.)
- specialization — возможные специализации
- specializationKnowledgeLevel — возможные уровни подтверждения опыта в специализациях (протестирован, сертифицирован и т.п.)
- lspServiceType — возможные виды услуг для LSP
Второй полезный метод — GET directory/formats, с помощью которого можно узнать все форматы файлов, поддерживаемые в аккаунте.
Request URL:
https://smartcat.ai/api/integration/v1/directory/formats
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Получаем информацию об аккаунте
Получить информацию об аккаунте можно с помощью метода GET account. В ответ вы получите идентификатор аккаунта, его название, первичный тип (личный или корпоративный) и вторичный тип (переводческая компания или другая компания).
Request URL:
https://smartcat.ai/api/integration/v1/account
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
{
"id": "91c6d7fa-4677-490b-a048-6f418e9ee55e",
"name": "MyAccount",
"isPersonal": false,
"type": "LSP"
}
Если тип вашего аккаунта — LSP, вы также можете получить список услуг из вашего профиля LSP методом GET account/lsp/services.
Request URL:
https://smartcat.ai/api/integration/v1/account/lsp/services
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
[
{
"sourceLanguage": "en",
"targetLanguage": "ru",
"name": "Translation",
"pricePerUnit": 0.5,
"pricePerUnitCurrency": "usd",
"serviceTypes": [
"translation"
],
"specializations": []
},
{
"sourceLanguage": "ru",
"targetLanguage": "es-AR",
"name": "Translation",
"pricePerUnit": 0.5,
"pricePerUnitCurrency": "usd",
"serviceTypes": [
"translation"
],
"specializations": []
}
]
PS:
Вы также можете получить список услук в определенной языковой паре. В этом случае запрос будет выглядеть так:
https://smartcat.ai/api/integration/v1/account/lsp/services?sourceLanguage=en&targetLanguage=fr
Метод GET account/mtengines возвращает движки машинного перевода, подключённые к аккаунту.
Request URL:
https://smartcat.ai/api/integration/v1/account/mtengines
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
[
{
"id": "754204d5-3c49-4bc0-a5aa-28adf2e34b98",
"name": "Google"
},
{
"id": "f2aefafe-87b7-49a2-9c51-17858e3dec52",
"name": "Google Neural Machine Translation"
},
{
"id": "a22b2732-1fca-3ab5-da9e-c95ab68affff",
"name": "Microsoft Translator"
}
]
Метод GET account/myteam/{userId} позволяет получить информацию об участнике вашей команды в Smartcat. Также можно использовать метод GET account/myteam/ без userId, передавая ваш собственный (внешний) идентификатор в параметрах запроса.
Request URL:
https://smartcat.ai/api/integration/v1/account/myteam/7aaee713-1810-4dcf-9ec8-c7b4832254e2
Headers:
Authorization: Basic dGVzdGFwaToxMjM0NTY=
Response:
{
"id": "7aaee713-1810-4dcf-9ec8-c7b4832254e2",
"email": "a.nichols@mailforspam.com",
"firstName": "Aleksandra",
"lastName": "Nichols",
"services": [
{
"serviceType": "translation",
"sourceLanguage": "en",
"targetLanguage": "es",
"pricePerUnit": 0.015,
"currency": "usd",
"specializations": []
}
]
}
Request URL:
https://smartcat.ai/api/integration/v1/account/myteam?externalId=1150
Headers:
Authorization: Basic dGVzdGFwaToxMjM0NTY=
Response:
{
"id": "7aaee713-1810-4dcf-9ec8-c7b4832254e2",
"email": "a.nichols@mailforspam.com",
"firstName": "Aleksandra",
"lastName": "Nichols",
"externalId": "1150",
"services": [
{
"serviceType": "translation",
"sourceLanguage": "en",
"targetLanguage": "es",
"pricePerUnit": 0.015,
"currency": "usd",
"specializations": []
}
]
}
Метод GET client/{clientId} возвращает информацию о клиентах, заданных в вашем аккаунте.
Request URL:
https://smartcat.ai/api/integration/v1/client/36cbed44-eeea-414e-9769-6b9f2002885c
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
{
"id": "36cbed44-eeea-414e-9769-6b9f2002885c",
"name": "Client",
"netRate": {
"id": "5c0eae836baff30a2084e25d",
"name": "NetRate",
"newWordsRate": 1,
"repetitionsRate": 0,
"tmMatchRates": [
{
"fromQuality": 50,
"toQuality": 74,
"value": 1
},
{
"fromQuality": 75,
"toQuality": 84,
"value": 1
},
{
"fromQuality": 85,
"toQuality": 94,
"value": 0.9
},
{
"fromQuality": 95,
"toQuality": 99,
"value": 0.8
},
{
"fromQuality": 100,
"toQuality": 100,
"value": 0
},
{
"fromQuality": 101,
"toQuality": 101,
"value": 0
},
{
"fromQuality": 102,
"toQuality": 102,
"value": 0
}
]
}
}
В ответе придёт название и идентификатор клиента, а также данные о назначенной ему тарифной сетки. fromQuality — нижний порог, определяющий уровень совпадения с памятью переводов, toQuality — верхний порог, value — коэффициент коррекции. Например, fromQuality 85, toQuality 94 и value 0.9 означают, что за совпадения от 85% до 94% включительно будет применена скидка 10%.
Получаем информацию о проекте
Проекты — ключевые объекты вашего аккаунта. Именно в них находятся все документы, которые вы переводите, а также такая информация, как срок исполнения, менеджер проекта и т.д.
Метод GET project/list возвращает список проектов в вашем аккаунте с подробными данными о каждом.
Request URL:
https://smartcat.ai/api/integration/v1/project/list
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
[
{
"id": "1c0c9279-6868-4093-9564-d5ff693fe944",
"name": "Test",
"description": "",
"creationDate": "2018-12-08T19:41:35.468Z",
"createdByUserId": "ac56ed95-bd78-43a4-b817-30a7b12d3269",
"modificationDate": "2018-12-08T19:41:35.468Z",
"sourceLanguage": "en",
"targetLanguages": [
"ru"
],
"status": "created",
"statusModificationDate": "2018-12-08T19:41:35.468Z",
"vendors": [],
"workflowStages": [
{
"progress": 0,
"stageType": "translation"
}
],
"documents": [
{
"id": "cd08227b3c181d6a9e8524f0_25",
"name": "Test",
"creationDate": "2018-12-08T19:41:35.515Z",
"sourceLanguage": "en",
"documentDisassemblingStatus": "success",
"targetLanguage": "ru",
"status": "created",
"wordsCount": 2,
"statusModificationDate": "2018-12-08T19:41:35.515Z",
"pretranslateCompleted": false,
"workflowStages": [
{
"progress": 0,
"wordsTranslated": 0,
"unassignedWordsCount": 0,
"status": "assigned",
"executives": [
{
"assignedWordsCount": 2,
"progress": 0,
"id": "64b982ad-8b06-447b-82e1-cbbb7ab3e327"
}
]
}
],
"externalId": "cd08227b3c181d6a9e8524f0",
"placeholdersAreEnabled": true
}
],
"specializations": []
}
Метод GET project/{projectId} возвращает информацию о конкретном проекте по его идентификатору.
Request URL:
https://smartcat.ai/api/integration/v1/project/67db6b32-1d54-4a09-940e-c1f550751787
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
{
"id": "67db6b32-1d54-4a09-940e-c1f550751787",
"name": "test",
"description": "",
"creationDate": "2018-12-17T22:19:07.234Z",
"createdByUserId": "ac56ed95-bd78-43a4-b817-30a7b12d3269",
"modificationDate": "2018-12-17T22:19:07.234Z",
"sourceLanguage": "en",
"targetLanguages": [
"ru"
],
"status": "inProgress",
"statusModificationDate": "2018-12-17T22:19:51.351Z",
"vendors": [],
"workflowStages": [
{
"progress": 0,
"stageType": "translation"
}
],
"documents": [
{
"id": "dd386e70420c1d60fc560f84_25",
"name": "test",
"creationDate": "2018-12-17T22:19:51.335Z",
"sourceLanguage": "en",
"documentDisassemblingStatus": "success",
"targetLanguage": "ru",
"status": "created",
"wordsCount": 1,
"statusModificationDate": "2018-12-17T22:19:51.337Z",
"pretranslateCompleted": false,
"workflowStages": [
{
"progress": 0,
"wordsTranslated": 0,
"unassignedWordsCount": 1,
"status": "notAssigned",
"executives": []
}
],
"externalId": "dd386e70420c1d60fc560f84",
"placeholdersAreEnabled": true
}
],
"specializations": []
}
Метод GET project/{projectId}/statistics возвращает подробную статистику слов и знаков в проекте — как для всего проекта, так и для каждого документа в отдельности.
Request URL:
https://smartcat.ai/api/integration/v1/project/67db6b32-1d54-4a09-940e-c1f550751787/statistics
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
[
{
"language": "ru",
"statistics": [
{
"name": "total",
"words": 1,
"percent": 100,
"segments": 1,
"pages": 0,
"charsWithoutSpaces": 4,
"charsWithSpaces": 4,
"effectiveWordsForBilling": 1
},
{
"name": "newWords",
"words": 1,
"percent": 100,
"segments": 1,
"pages": 0,
"charsWithoutSpaces": 4,
"charsWithSpaces": 4,
"effectiveWordsForBilling": 1
},
{
"name": "repetitions",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "crossFileRepeated",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0, "charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "contextMatch_102",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0 },
{
"name": "contextMatch_101",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_100",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_95_99",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_85_94",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_75_84",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_50_74",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
}
],
"documents": [
{
"name": "test",
"statistics": [
{
"name": "total",
"words": 1,
"percent": 100,
"segments": 1,
"pages": 0,
"charsWithoutSpaces": 4,
"charsWithSpaces": 4,
"effectiveWordsForBilling": 1
},
{
"name": "newWords",
"words": 1,
"percent": 100,
"segments": 1,
"pages": 0,
"charsWithoutSpaces": 4,
"charsWithSpaces": 4,
"effectiveWordsForBilling": 1
},
{
"name": "repetitions",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "crossFileRepeated",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "contextMatch_102",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "contextMatch_101",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_100", "words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_95_99",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_85_94",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_75_84",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
},
{
"name": "match_50_74",
"words": 0,
"percent": 0,
"segments": 0,
"pages": 0,
"charsWithoutSpaces": 0,
"charsWithSpaces": 0,
"effectiveWordsForBilling": 0
}
]
}
]
}
]
Метод GET project/{projectId}/completedWorkStatistics возвращает статистику для полностью или частично завершённого проекта. Запрос включает данные по всему проекту, каждому документу и каждому участвовавшему в проекте исполнителю.
Request URL:
https://smartcat.ai/api/integration/v1/project/67db6b32-1d54-4a09-940e-c1f550751787/completedWorkStatistics
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Метод GET project/{projectid}/translationmemories возвращает список всех баз памяти переводов, подключённых к проекту.
Request URL:
https://smartcat.ai/api/integration/v1/project/67db6b32-1d54-4a09-940e-c1f550751787/translationmemories
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
[
{
"id": "94ef1275-7c45-4a77-b193-43a49099f736",
"matchThreshold": 75,
"isWritable": true
}
]
"isWritable": true определяет память переводов, в которой находится ваш перевод.
Метод GET project/{projectid}/glossaries возвращает список всех глоссариев, подключённых к проекту.
Request URL:
https://smartcat.ai/api/integration/v1/project/67db6b32-1d54-4a09-940e-c1f550751787/glossaries
Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=
Response:
[
{
"id": "ba226212-7e7a-4bf8-aad9-17a875d71d21",
"name": "Glossary",
"description": "",
"languages": [
"en",
"ru"
],
"units": 1,
"unitsPending": 0
}
]
Похожие статьи:
- Нет похожих статей
Понравилось?