Работаем с методами GET — продолжение

Перед прочтением этой статьи советуем ознакомиться с Кратким руководством по интеграции и первой частью статьи «Работаем с методами GET».  Если вы это уже сделали, продолжим изучать, как автоматизировать ваш рабочий процесс при помощи GET-запросов.

Получаем информацию о документе

Для начала, давайте получим информацию о документе, используя метод GET document и идентификатор документа.

Пример: document

Request URL: 
https://smartcat.ai/api/integration/v1/document?documentId=ac63c097c60c1d1bb54f1760_25

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
{
     "id": "ac63c097c60c1d1bb54f1760_25",
     "name": "test",
     "creationDate": "2018-12-17T23:32:04.508Z",
     "sourceLanguage": "en",
     "documentDisassemblingStatus": "success",
     "targetLanguage": "ru",
     "status": "inProgress",
     "wordsCount": 1,
     "statusModificationDate": "2018-12-17T23:32:47.528Z",
     "pretranslateCompleted": false,
     "workflowStages": [
        {
           "progress": 100,
           "wordsTranslated": 1,
           "unassignedWordsCount": 0,
           "status": "completed",
           "executives": [
           {
              "assignedWordsCount": 1,
              "progress": 100,
              "id": "92ebc7bb-9c8c-4516-b88e-ca4c753aca57"
           }
           ]
        }
     ],
     "externalId": "ac63c097c60c1d1bb54f1760",
     "placeholdersAreEnabled": true
}

Недостаточно подробностей? Давайте углубимся и рассчитаем статистику слов в документе. Для этого используем метод GET document/statistics. Сперва метод вернёт результат "200 Build statistics in progress", что означает, что Smartcat начал рассчитывать статистику. Через некоторое время этот же метод вернёт собственно расчёт статистики.

Пример: document/statistics

Request URL: 
https://smartcat.ai/api/integration/v1/document/statistics?documentId=e88fa692ba1c1d1bb54f07f8_25

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
  {
     "name": "test",
     "statistics": [
     {
        "name": "total",
        "words": 1,
        "percent": 100,
        "segments": 1,
        "pages": 0,
        "charsWithoutSpaces": 4,
        "charsWithSpaces": 4,
        "effectiveWordsForBilling": 0
     },
     {
        "name": "newWords",
        "words": 1,
        "percent": 100,
        "segments": 1,
        "pages": 0,
        "charsWithoutSpaces": 4,
        "charsWithSpaces": 4
     },
...
     {
        "name": "match_75_84",
        "words": 0,
        "percent": 0,
        "segments": 0,
        "pages": 0,
        "charsWithoutSpaces": 0,
        "charsWithSpaces": 0
     },
     {
        "name": "match_50_74",
        "words": 0,
        "percent": 0,
        "segments": 0,
        "pages": 0,
        "charsWithoutSpaces": 0,
        "charsWithSpaces": 0
     }
     ]
}

После того, как документ будет передан переводчикам и выполнен, вы можете запросить результат, как описано в Кратком руководстве по интеграции.

Получаем глоссарии и память переводов

Следующие методы используются для получения списка и информации об имеющихся в аккаунте базах памяти перевода и глоссариях. Чтобы получить  информацию о конкретной памяти перевода, используйте метод GET translationmemory/{tmId}.

Пример: translationmemory/{tmId}

Request URL: 
https://smartcat.ai/api/integration/v1/translationmemory/5b70e882-6f8c-476b-9028-b80c6ad22bc9

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
{
   "id": "5b70e882-6f8c-476b-9028-b80c6ad22bc9",
   "accountId": "7bad195f-e984-48a0-ba3f-147a173472c0",
   "name": "test",
   "sourceLanguage": "ru",
   "targetLanguages": [
     "en"
   ],
   "createdDate": "2017-09-24T14:45:16.27Z",
   "isAutomaticallyCreated": true,
   "unitCountByLanguageId": {
   "en": 4
   }
}

Чтобы экспортировать файл памяти перевода, используйте метод GET translationmemory/{tmId}/file.

Пример: translationmemory/{tmId}/file

Request URL: 
https://smartcat.ai/api/integration/v1/translationmemory/5b70e882-6f8c-476b-9028-b80c6ad22bc9/file?exportMode=tmxDefault&withTags=true

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

При загрузке памяти переводов в аккаунт, вы можете проверить статус загрузки через метод GET translationmemory/task

Пример: translationmemory/task

Request URL: 
https://smartcat.ai/api/integration/v1/translationmemory/task

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
[
   {
       "accountId": "7bad195f-e984-48a0-ba3f-147a173472c0",
       "id": "bca3f23f-60a9-4cdf-9fac-452453056e45",
       "translationMemoryId": "6ab168e8-bace-436a-9400-54ae2cecfb00",
       "state": "Closed",
       "insertedUnitCount": 1
    }
]

Наконец, вы можете получить список всех ПП в аккаунте, но не более 100 за раз, используя метод GET translation memory.  В запросе также можно указывать такие параметры, как sourceLanguage, targetLanguage, clientId, и searchName, чтобы ограничить поиск.

Пример: translationmemory

Request URL: 
https://smartcat.ai/api/integration/v1/translationmemory?lastProcessedId=5b70e882-6f8c-476b-9028-b80c6ad22bc9&batchSize=2

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
[
   {
       "id": "c9bc2283-48aa-d77b-0bbc-56899f51c30e",
       "accountId": "7bad195f-e984-48a0-ba3f-147a173472c0",
       "name": "sample1",
       "sourceLanguage": "en",
       "targetLanguages": [
          "zh-Hans"
       ],
       "createdDate": "2017-11-01T19:05:45.99Z",
       "isAutomaticallyCreated": false,
       "unitCountByLanguageId": {
          "zh-Hans": 71
       }
   },
   {
       "id": "74458983-6f5e-55ae-4970-9062f7823348",
       "accountId": "7bad195f-e984-48a0-ba3f-147a173472c0",
       "name": "sample3",
       "sourceLanguage": "tr",
       "targetLanguages": [
          "en-GB"
       ],
       "createdDate": "2017-06-04T15:53:28.123Z",
       "isAutomaticallyCreated": false,
       "unitCountByLanguageId": {
          "en-GB": 133
       }
   }
]

В случае с глоссариями, вы можете загрузить их список  через GET glossaries.

Пример: glossaries

Request URL: 
https://smartcat.ai/api/integration/v1/glossaries

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
[
   {
      "id": "e20a597a-ea55-443b-be36-97c67add06dd",
      "name": "English - Swedish",
      "description": "",
      "languages": [
         "en",
         "sv"
      ],
      "units": 27573,
      "unitsPending": 0
   }

Информация о плейсхолдерах

Плейсхолдерами в Smartcat называются определяемые регулярными выражениями и не подлежащие переводы части исходного текста. Получить информацию о плейсхолдерах можно при помощи метода GET placeholders.

Пример: placeholders

Request URL: 
https://smartcat.ai/api/integration/v1/placeholders

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Response:
[
   {
     "regex": "%[sdn]"
   },
   {
     "regex": "\\{+.+?\\}+"
   },
   {
     "regex": "\\[\\[.+?\\]\\]"
   },
   {
     "regex": "%\\d+\\$[sd]"
   },
   {
     "regex": "%@"
   }
]

При помощи метода GET placeholders/validate можно проверить определенный плейсхолдер, который вы затем хотите добавить методом PUT.

Пример: placeholders/validate

Request URL: 
https://smartcat.ai/api/integration/v1/placeholders/validate?format=/[a-z]+/g

Headers:
Authorization: Basic ZG0wMTpRd2VydHkxMjM=

Профили члена команды

У каждого члена команды в Smartcat есть уникальный идентификатор.

Чтобы получить информацию о конкретном члене команды, используйте метод GET account/myteam/{userid}.

Пример: account/myteam/{userId}

Request URL: 
https://smartcat.ai/api/integration/v1/account/myteam/6a097370-75a3-4bcc-b37b-2c3fd339b2dd

Headers:
Authorization: Basic dGVzdGFwaToxMjM0NTY=

Если вы используете свои собственные идентификаторы, то вы можете получить информацию о члене команды с помощью метода GET account/myteam, передавая externalID в дополнительных параметрах запроса.

Пример: account/myteam

Request URL: 
https://smartcat.ai/api/integration/v1/account/myteam?externalId=1543703765

Headers:
Authorization: Basic dGVzdGFwaToxMjM0NTY=

Понравилось?

1

Похожие статьи:

    Нет похожих статей