Адрес сервиса API: https://pix.terratraf.com/api/

API PIX основана на использовании протокола JSON-RPC 2.0. Подробнее о спецификации протокола можете прочитать в официальных источниках.

Авторизация

📘

Авторизация

Для получения токена авторизации обратитесь к администратору.

Токен используется для авторизации при вызове методов, описанных ниже. Для этого необходимо передать заголовок:

curl -H "Authorization: ..."

В значении заголовка указать сочетание строк Bearer + Токен. Например, если у вас есть токен: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9, то заголовок будет выглядеть так:

curl -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"

Пример использования токена при вызове метода:

curl -H "Authorization: Bearer TOKEN_XXX" -X POST -d ' { "jsonrpc": "2.0", "method":"name_method", "params":{}, "id": 1 }' "https://pix.terratraf.com/api/"

Получение списка аудиторий

Метод auditory.getList возвращает список существующих аудиторий.

Формат запроса:

curl -H "Authorization: Bearer TOKEN_XXX" -X POST -d '{ "jsonrpc": "2.0", "method":"auditory.getList", "params":{}, "id": 1 }' "API_URL"

Формат ответа:

{ "jsonrpc":"2.0", "result":[ { "id":"mwtN0C72jOUO4qxGsk2DJiZ6c0TeG7J6", "name":"qwerty", "type":"id", "status":"pending" } ], "id":1 }

В ответе в "result" возвращается список объектов, где каждый объект имеет следующую структуру:

НазваниеОписаниеТипЗначение
idВнутренний идентификатор аудиторииstring
nameНазвание аудиторииstring
typeТип аудиторииstringВозможные значения: id, email, phone
statusСтатус аудиторииstringВозможные значения: pending, processed, issue

Добавление новой аудитории

Метод auditory.add позволяет добавить аудиторию.

Параметры запроса:

НазваниеОписаниеТипЗначение
nameНазвание аудиторииstring
typeТипstringВозможные значения: id, email, phone

Формат запроса:

curl -H "Authorization: Bearer TOKEN_XXX" -X POST -d '{ "jsonrpc": "2.0", "method":"auditory.add", "params":{"name": "test", "type": "id"}, "id": 1 }' "API_URL"

Формат ответа:

{ "jsonrpc":"2.0", "result": "mwtN0C36jOUO4qxGsk2DJiZ6c1TeG7J6" }

В ответе возвращается идентификатор добавленной аудитории.

Загрузка файлов

  • Запросы по загрузке файлов должны отправляться на адрес https://pix.terratraf.com/api/content/
  • Запрос должен содержать токен авторизации.
  • Запрос должен иметь тип multipart/form-data.

Параметры запроса:

НазваниеТипОписание
fileresourceполе содержащее отправляемый файл

Ограничения на загрузку файлов:

  • формата txt, csv, tsv
  • размер файла не должен превышать 1мб

Формат запроса:

curl -X POST -H "Authorization: Bearer TOKEN_XXX" -H "Content-Type: multipart/form-data" -F "file=@/home/user/doc/doc.txt" "https://pix.terratraf.com/api/content/"

Формат ответа:

{ "result":{ "src":"\/var\/tmp\/e18b8d37077b5407a228a5dc09d3f285.txt", "name":"e18b8d37077b5407a228a5dc09d3f285.txt", "extension":"txt", "size":75302, "type":"text\/plain" } }

В случае успешной загрузки будет возвращен объект result, содержащий параметры загруженного файла:

  • src - путь к файлу,
  • name - название файла. Файл имеет длинное уникальное название, чтобы исключить проблему перезаписи файлов с одинаковым названием.
  • extension - расширение,
  • size - размер,
  • type - тип файла.

В случае ошибки ответ будет иметь вид:

{ "error":{ "code":0, "message":"The file extension jpg is not allowed" } }

Коды ошибок соответствуют списку кодов, подробнее смотрите в разделе ниже.

Загрузить файл в аудиторию

Метод auditory.upload позволяет загрузить файл в указанную в запросе аудиторию.

Параметры запроса:

НазваниеОписаниеТипЗначение
auditoryИдентификатор аудиторииstring
fileОбъект файлаobjectОбъект из result метода загрузки файлов

Формат запроса:

curl -H "Authorization: Bearer TOKEN_XXX" -X POST -d '{ "jsonrpc": "2.0", "method":"auditory.upload", "params":{ "auditory": "mwtN0C72jOUO4qxGsk2DJiZ6c0TeG7J6", "file": { "src":"XXX.txt", "name":"XXX.txt", "extension":"txt", "size":75302, "type":"text\/plain" } }, "id": 1 }' "API_URL"

Формат ответа:

{ "jsonrpc":"2.0", "result": true }

Коды ошибок

КодОписание
-32768 по -32000Ошибки json-rpc2. Смотрите спецификацию в официальных источниках.
0Неопределенная внутренняя ошибка.
1Неопределенная внутренняя ошибка.
100Один из необходимых параметров был не передан или неверен.
Проверьте список требуемых параметров и их формат на странице с описанием метода
403Доступ запрещен (недостаточно прав)
404Элемент не найден