Адрес сервиса 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Элемент не найден