Для получения данных отправляется запрос 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"
Стандартные коды возврата
№ | Код возврата | Это ошибка | Описание |
---|---|---|---|
1 | 10200 | Выполнено | |
2 | 10240 | Выполнено с предупреждениями. Предупреждения в сообщении. | |
3 | 10400 | Да | Ошибка данных. Описание ошибок в сообщении. |
4 | 10404 | Данные не найдены | |
5 | 10500 | Да | Внутренняя ошибка. Описание ошибки в сообщении. |
Пример получения данных
Процесс получения данных состоит из нескольких последовательных запросов, адреса которых получаются из ответов предыдущих запросов:
- Открытие сессии отправки настроек получения данных
- Отправка настроек получения данных
- Открытие сеанса ожидания результата
- Ожидание результата
- Открытие сессии получения файла
- Получение файла
Запрос
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": "Налог"
}
}
]
}