Для получения данных отправляется запрос  POST {{baseURL}}/async/{{id}},

где id - идентификатор получаемых данных.

В ответ возвращается информация о созданном задании на формирование данных.

Ответ возвращается в формате JSON со следующими полями:

  • general - основной раздел
    • response - код возврата
    • error - признак ошибки
    • message - подробности ошибки (заполняется, если возникла ошибка)
  • result - результат, в данном случае:
    • storage - идентификатор объектного хранилища (в данном случае - jobs)
    • id - идентификатор объекта хранилища (в данном случае - идентификатор задания)

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

{
  "general": {
    "response": 10200,
    "error": false,
    "message": ""
  },
  "result": {
    "storage": "jobs",
    "id": "47e7efd6-ddb6-11e7-819b-0050568925e0"
  }
}

Если идентификатор данных передан не корректно, или получение таких данных не поддерживается, будет возвращен ответ с кодом 10404.

{
  "general": {
    "response": 10404,
    "error": false,
    "message": ""
  }
}

По идентификатору задания выполняется дальнейшее отслеживание подготовки данных с помощью запроса GET {{baseURL}}/jobs/{id}

Пока данные формируются и задание выполняется, будет возвращаться ответ с кодом 10202

Пример ответа, если данные еще не сформированы

{
  "general": {
    "response": 10202,
    "error": false,
    "message": ""
  }
}

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

Поля ответа результата:

  • result - результат
    • storage - идентификатор объектного хранилища (в данном случае - files)
    • id - идентификатор объекта хранилища (в данном случае - идентификатор файла)

Пример ответа с адресом сформированных данных

{
  "general": {
    "response": 10200,
    "error": false,
    "message": ""
  },
  "result": {
    "storage": "files",
    "id": "0cdf3084-90e4-49aa-8a57-735514cf5670"
  }
}

Получение файла данных с помощью запроса GET {{baseURL}}/files/{id}

Результат возвращаются в виде двоичных данных. В заголовке указывается имя: Content-Disposition: attachment; filename="fname.ext"

Стандартные коды возврата

Код возврата

Это ошибка

Описание

110200 Выполнено
210240 Выполнено с предупреждениями. Предупреждения в сообщении.
310400ДаОшибка данных. Описание ошибок в сообщении.
410404 Данные не найдены
510500ДаВнутренняя ошибка. Описание ошибки в сообщении.

Пример получения данных

Процесс получения данных состоит из нескольких последовательных запросов, адреса которых получаются из ответов предыдущих запросов:

  1. Открытие сессии отправки настроек получения данных
  2. Отправка настроек получения данных
  3. Открытие сеанса ожидания результата
  4. Ожидание результата
  5. Открытие сессии получения файла
  6. Получение файла


Открытие сессии отправки настроек получения данных

Запрос

POST https://stage.1cfresh.com//a/bs/10098/hs/dt/storage/async/tax_usn_calculator
Authorization: Basic ***
IBSession: start

Ответ

200
Content-Length: 0
Accept-Ranges: bytes
Location: https://stage.1cfresh.com:443/a/bs/10098/hs/dt/upload/01d3e02905030cf04c81fb7ef6b249cf8cee890c5bebc39d66fecc937af06cc9
Set-Cookie: ibsession=b94d4f36-606e-4543-bc38-bade7918926a;Path=/a/bs/10098/;Version=1


Отправка настроек получения данных

Запрос

PUT https://stage.1cfresh.com/a/bs/10098/hs/dt/upload/01d3e02905030cf04c81fb7ef6b249cf8cee890c5bebc39d66fecc937af06cc9/
Authorization: Basic ***
Cookie: ibsession=b94d4f36-606e-4543-bc38-bade7918926a;Path=/a/bs/10098/;Version=1
IBSession: finish

{"organization":{"inn":"783900281039","kpp":""},"date":"2018-09-30T23:59:59"}

Ответ

201
Content-Type: application/json; charset=UTF-8
Content-Length: 156

{
"general": {
"response": 10200,
"error": false,
"message": ""
},
"result": {
"storage": "jobs",
"id": "e0b50f84-0443-11e9-a246-0050568908e4"
}
}


Открытие сеанса ожидания результата

Запрос

GET https://stage.1cfresh.com/a/bs/10098/hs/dt/storage/jobs/e0b50f84-0443-11e9-a246-0050568908e4
Authorization: Basic ***
IBSession: start

Ответ

302
Content-Length: 0
Accept-Ranges: bytes
Location: https://stage.1cfresh.com:443/a/bs/10098/hs/dt/download/e0d97125ea768aa38265182452aea457d5dd2934e827aa5ec4bd4b408a7f7734
Set-Cookie: ibsession=fd97f287-cba9-4196-b0b5-02ac28a03d85;Path=/a/bs/10098/;Version=1


Ожидание результата

Запрос

GET https://stage.1cfresh.com/a/bs/10098/hs/dt/download/e0d97125ea768aa38265182452aea457d5dd2934e827aa5ec4bd4b408a7f7734/
Authorization: Basic ***
Cookie: ibsession=fd97f287-cba9-4196-b0b5-02ac28a03d85;Path=/a/bs/10098/;Version=1

Ответ

200
Content-Type: application/octet-stream
Content-Length: 157
Content-Disposition: attachment; filename="e0b50f84-0443-11e9-a246-0050568908e4.json"

{
"general": {
"response": 10200,
"error": false,
"message": ""
},
"result": {
"storage": "files",
"id": "2790bdee-15aa-4ebe-9263-3df9e791ced1"
}
}
Открытие сессии получения файла

Запрос

GET https://stage.1cfresh.com//a/bs/10098/hs/dt/storage/files/2790bdee-15aa-4ebe-9263-3df9e791ced1
Authorization: Basic ***
IBSession: start

Ответ

302
Content-Length: 0
Accept-Ranges: bytes
Location: https://stage.1cfresh.com:443/a/bs/10098/hs/dt/download/b063be9bb70cdd23291d521aa1627d29c12a83e93c71c4b12813c0ce994777f4
Set-Cookie: ibsession=ff6d0d71-80e9-4137-8481-4deb55b9c1f2;Path=/a/bs/10098/;Version=1


Получение файла

Запрос

GET https://stage.1cfresh.com/a/bs/10098/hs/dt/download/b063be9bb70cdd23291d521aa1627d29c12a83e93c71c4b12813c0ce994777f4/
Authorization: Basic ***
Cookie: ibsession=ff6d0d71-80e9-4137-8481-4deb55b9c1f2;Path=/a/bs/10098/;Version=1
IBSession: finish

Ответ

200
Content-Type: application/octet-stream
Content-Length: 1710
Content-Disposition: attachment; filename="tax_usn_calculator.json"

{
"income": 397671,
"refund": 0,
"tax_rate": 6,
"tax_rate_presentation": "6%",
"advance_payments": 0,
"advance_payments_period_presentation": "1 полугодие",
"tax_reduction": 0,
"tax_initial_overpayment": 0,
"tax_to_pay": 23860,
"calculation": [
{
"step": 1,
"description": "Налог за 9 месяцев 2018 г. = (Доходы - Возвраты покупателям) * Ставка налога\n((397 671,00 - 0,00) * 6%)",
"value": "23 860,00"
},
{
"step": 2,
"description": "Налоговый вычет",
"value": "0,00"
},
{
"step": 3,
"description": "Налог исчисленный = Налог за 9 месяцев - Налоговый вычет\n(23 860,00 - 0,00)",
"value": "23 860,00"
},
{
"step": 4,
"description": "Переплата на 01.01.2018",
"value": "0,00"
},
{
"step": 5,
"description": "Налог к уплате = Налог за 9 месяцев - Переплата на 01.01.2018 - Авансовые платежи за 1 полугодие\n(23 860,00 - 0,00 - 0,00)",
"value": "23 860,00"
}
],
"links": [
{
"name": "goto1C",
"type": "anchor",
"title": "Проверить расчет в 1С",
"address": "e1cib/data/РегистрСведений.ПубликуемыеНавигационныеСсылки?Идентификатор=1bb3b90c-64c0-4cc4-ab5b-e64e42e036ae"
},
{
"name": "tax_payment_details",
"type": "endpoint",
"title": "Оплатить налог",
"address": "hs/dt/storage/async/tax_payment_details",
"settings": {
"organization": {
"inn": "783900281039",
"kpp": ""
},
"date": "2018-09-30T23:59:59",
"tax": "УСН_Доходы",
"liability": "Налог"
}
}
]
}