# Итеграция API ReText PRO

## Описание работы с API

Обработка текста происходит в два этапа:

* отправка текста на обработку и получение taskId;
* получение обработанного текста по taskId.

Это необходимо для асинхронной работы с сервером (Long-Polling). Клиент делает запрос и ожидает следующих состояний.

#### Режим ожидания

* “ready” = False (процесс еще не выполнен, скорость выполнения обычно напрямую зависит от количества входного  текста)

#### Режим ошибки

* “ready” = True (выполнение закончено)
* "successful" = True (возникла ошибка)
* “result” = None (результат отсутсвует)

#### Режим успешного ответа

* “ready” = True (выполнение закончено)
* "successful" = True (ошибки не возникло в процессе обработки текста)
* “result” != None (результат есть и его можно использовать)

### Перефразирование

#### Запрос перефразирования (POST)

`api_key — API token, выданный клиенту`&#x20;

`text — Текст для перефразирования, разделители предполагаются \n (при необходимости можно изменить)`

`taskId — выданный идентификатор задачи`

`curl -X POST -H 'Content-Type: application/json' -d '{"text":"Но для старта бизнеса и для ориентира при запуске магазина она подойдет.\n \n Для вас волшебное число - 10 отзывов на товар, после которого начинается магия. Если у вас есть другие данные, прошу написать комментариях.", "api_key": "650271ac-7dda-11ee-b962-0242ac120002"}' "https://api.retext.ai/public/api/paraphrase" | jq`

#### Пример ответа

`{`

&#x20; `"status": "ok",`

&#x20; `"data": {`

&#x20;   `"taskId": "2fb134a9-9cab-4fae-a14f-917297c8c40d"`

&#x20; `}`

`}`

#### Проверка результата выполнения (GET)

***api\_key*** — API token, выданный клиенту&#x20;

***ready*** — Статус завершения задачи

***successful*** — Статус успеха выполнения (в редких случаях может произойти ошибка)

***result*** — Результат работы перефразирования в виде строки

***taskId*** — полученный идентификатор задачи

* *Срок хранения результата не более 10 минут (при необходимости можно увеличить)*
* *Данное API работает только с русским языком*

### Аналитика текста

#### Запрос аналитики текста (POST)

* api\_key — API token, выданный клиенту&#x20;
* source\_text — исходный текст
* processed\_text — текст после ре-райта

`curl -X POST -H 'Content-Type: application/json' -d '{"processed_text": "Чаще всего компания берет 1000-2000/3000 респондентов. Нет подробной статистики по различным тематикам (например, о более дорогом или новом для себя товаре люди больше интересуются отзывами). Но при этом они имеют статистические данные и могут брать много источников информации от разных ниш ». Причиной этого является то, что такая аналитика не окончательная и имеет вероятные расхождения с практикой.", "source_text": "Смотрите, обычно компания берет 1000-2000-3000 респондентов и нет детальной статистики по разным нишам (там цифры могут разниться), по стоимости товара (например, о более дорогом или новом для себя товаре люди чаще ищут отзывы). Поэтому такая аналитика не истина в последней инстанции и могут быть серьезные расхождения в поле.", "api_key": "650271ac-7dda-11ee-b962-0242ac120002"}' "https://api.retext.ai/public/api/text/analytics" | jq`

#### Пример ответа (успех)

`{`

&#x20; `"status": "ok",`

&#x20; `"data": {`

&#x20;  `"difference": 73,`

&#x20;   `"keyphrases": {`

&#x20;     `"берет 1000-2000": 1, ...`

&#x20;   `},`

&#x20;   `"keyword_density": 6.117724867724868,`

&#x20;   `"keywords": {`

&#x20;     `"аналитика": 1, ...`

&#x20;   `},`

&#x20;   `"sentence_count": 4,`

&#x20;   `"significant_words_count": 25,`

&#x20;   `"stop_words": {`

&#x20;     `"более": 1, ...`

&#x20;   `},`

&#x20;   `"stop_words_count": 27,`

&#x20;   `"symbols_count": 402,`

&#x20;   `"unique_words": 52,`

&#x20;   `"watered": 54.55,`

&#x20;   `"without_spaces": 346,`

&#x20;   `"words_count": 55`

&#x20; `}`

`}`

#### Параметры в ответе

***difference*** — Процентная разница между исходным и обработанным текстами (в процентах)

***keyphrases*** — Список значимых ключевых фраз, выявленных в тексте (словарь, где ключ является фразой, а значение - количеством вхождений в processed\_text)

***keyword\_density*** — Процентная плотность ключевых слов (например, если значение 6.11, то текст заспамлен на 6%). Заспамленность текста — это слишком частые повторы одних и тех же слов в одной публикации.

***keywords*** — список ключевых слов, присутствующих в тексте  (словарь, где ключ является словом, а значение - количеством вхождений в processed\_text)

***sentence\_count*** — количество предложений

***significant\_words\_count*** — количество значимых слов

***stop\_words*** — Список стоп-слов, найденных в тексте (словарь, где ключ является словом, а значение - количеством вхождений в processed\_text)

***stop\_words\_count*** — количество стоп-слов

***symbols\_count*** — количество символов

***unique\_words*** — Общее количество уникальных слов

***watered*** — Процент несущественных слов (водность, в процентах)

***without\_spaces*** — Количество символов без учета пробелов

***words\_count*** — Общее количество слов
