Войти

Проверка состояния запроса и скачивание данных

Проверьте состояние запроса и, в случае успешного создания выгрузки, скачайте файлы с необработанными данными.

Входные данные

GET https://tracker.my.com/api/raw/v1/export/get.json

Параметры

Название Значение Описание
idRawExport * Целое число Уникальный идентификатор выгрузки,
полученный в ответе на успешно созданный запрос

* — обязательные параметры

Пример запроса

/api/raw/v1/export/get.json?idRawExport=4

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

В случае успеха

Если запрос принят и обработан корректно, вы получите код ответа 200. Формат ответа будет зависеть от статуса выгрузки:

  • Если выгрузка в процессе, то в ответе будут указаны процент выполнения выгрузки progress и возможность отменить выгрузку isCancellable (true, если результат вызова метода cancel будет успешный):

    {
      "code": 200,
      "message": "Ok",
      "data": {
        "idRawExport": "4",
        "status": "In progress",
        "progress": "64%",
        "isCancellable": false
      }
    }
  • Если в процессе выгрузки произошла ошибка и можно повторить запрос:

    {
      "code": 200,
      "message": "Ok",
      "data": {
        "idRawExport": "4",
        "status": "Error occurred"
      }
    }
  • Если в процессе выгрузки произошла ошибка и запрос по данным условиям не может быть выполнен. В текущей версии API это может быть или большое число выгружаемых строк ('Too many lines in export'), или большой объём выгружаемых данных ('Too much export data'):

    {
      "code": 200,
      "message": "Ok",
      "data": {
        "idRawExport": "4",
        "status": "User error occurred",
        "errorMessage": "Too many lines in export"
      }
    }
  • Если выгрузка отменена пользователем:

    {
      "code": 200,
      "message": "Ok",
      "data": {
        "idRawExport": "4",
        "status": "Canceled by user"
      }
    }
  • Если файлы с выгрузкой успешно созданы, то ответ будет содержать ссылки для скачивания. Для каждой ссылки указана временная метка timestamp — до этого времени файл будет доступен для скачивания.

    {
      "code": 200,
      "message": "Ok",
      "data": {
        "idRawExport": "4",
        "status": "Success!",
        "files": [
          {
            "link": "https://tracker.my.com/storage/download/raw/4.payment.26c427ac8680888803ee05e34835b6dd.0.csv.gz",
            "timestampExpires": "1609502400"
          },
          {
            "link": "https://tracker.my.com/storage/download/raw/4.payment.26c427ac8680888803ee05e34835b6dd.1.csv.gz",
            "timestampExpires": "1609502400"
          }
        ]
      }
    }

Ошибки

Обращение к несуществующей выгрузке или к выгрузке, к которой у вас нет доступа, вызовет 404 ошибку:

{
  "code": 404,
  "message": "Not Found",
  "data": {
    "error": {
      "detail": "Raw export request not found"
    }
  }
}

Ограничения

Данный метод требует авторизации. Вы получите код ответа 403, если сделаете запрос с невалидной авторизацией или не передадите её совсем.

{
  "code": 403,
  "message": "Access denied",
  "data": null
}

Скачивание данных

В результате успешного обращения к Export API вы получаете ссылку на файл с запрошенными данными. В зависимости от объёма данных это может быть один файл или gz-архив, одна или несколько ссылок.

Скачать данные можно через запрос к Export API или через браузер, скопировав полученную ссылку в адресную строку.

Данные доступны для скачивания до времени, указанного в параметре timestampExpires в ответе API.

Например, ссылки на выгрузку файлов с необработанными данными:

{
  "code": 200,
  "message": "Ok",
  "data": {
    "idRawExport": "4",
    "status": "Success!",
    "files": [
      {
        "link": "https://tracker.my.com/storage/download/raw/4.payment.26c427ac8680888803ee05e34835b6dd.0.csv.gz",
        "timestampExpires": "1609502400"
      },
      {
        "link": "https://tracker.my.com/storage/download/raw/4.payment.26c427ac8680888803ee05e34835b6dd.1.csv.gz",
        "timestampExpires": "1609502400"
      }
    ]
  }
}
Была ли эта статья полезна?