API для сервиса report.alta.ru: различия между версиями
Belousov (обсуждение | вклад) м (→Сервис мониторинг таможенного оформления (REPORT ALTA)) |
Belousov (обсуждение | вклад) м (→Получение, Печать документа, Просмотр документа) |
||
Строка 230: | Строка 230: | ||
=== Получение, Печать документа, Просмотр документа === | === Получение, Печать документа, Просмотр документа === | ||
+ | Теперь, зная список документов, можно получить определенный документ по его ID, вывод данного запроса идет в html виде | ||
+ | |||
+ | <code>/docs/ID/</code> | ||
+ | |||
+ | , где ID = ProccessID_Login, пример: <code>1a2ab345-1a12-1a01-1234-1234a5678bc1_123456</code> | ||
+ | |||
+ | === Получение полей (заголовки столбцов) === | ||
+ | |||
+ | <code>/docs/fields/</code> | ||
+ | |||
+ | получение полей, заголовков столбцов вынесли в отдельный запрос | ||
+ | |||
+ | === Получение вложенных документов из графы 44 === | ||
+ | |||
+ | <code>/docs44/ID/</code> | ||
+ | |||
+ | , где ID = ProccessID_Login, пример: 1a2ab345-1a12-1a01-1234-1234a5678bc1_123456 | ||
+ | |||
+ | '''также можно передать дополнительные параметры - фильтры''' | ||
+ | |||
+ | у каждого документа, есть вложенные документы, у документа может быть очень много записей в этом параметре, | ||
+ | поэтому также есть фильтр по вложенным документам | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !Параметр || '''Тип''' || Описание || Пример | ||
+ | |- | ||
+ | |docCode || '''string''' || Код документа, можно указать часть кода , но только от начала строки || 0234*, 04031 | ||
+ | |- | ||
+ | |docNum || '''string''' || Номер документа, можно указать любую часть номера без звездочек VN-RU || VN-RU, 18/04/ | ||
+ | |- | ||
+ | |docDate[from] || '''string''' || Дата от || 2018-01-01 | ||
+ | |- | ||
+ | |docDate[to] || '''string''' || Дата до || 2019-05-08 | ||
+ | |- | ||
+ | |tovNum[] || '''array''' || Номер товара, задается массивом || tovNum[]=1</br>tovNum[]=40 | ||
+ | |} | ||
+ | |||
+ | в ответ получаем массив с документами | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |docName || '''string''' || имя документа | ||
+ | |- | ||
+ | |docCode || '''string''' || Код документа | ||
+ | |- | ||
+ | |docDate || '''string''' || Дата документа | ||
+ | |- | ||
+ | |tovNum || '''string''' || Товары, их номера | ||
+ | |- | ||
+ | |elDocId || '''string''' || ID документа в архиве таможни | ||
+ | |- | ||
+ | |docNum || '''string''' || Номер документа | ||
+ | |- | ||
+ | |elArchId || '''string''' || ID архива таможни | ||
+ | |} | ||
+ | |||
+ | === Получение тела документа 44. Печать в html === | ||
[[Категория:Автоматизация]] | [[Категория:Автоматизация]] |
Версия 10:13, 12 августа 2022
Содержание
- 1 Сервис мониторинг таможенного оформления (REPORT.ALTA.RU)
- 2 Описание параметров
- 3 Список всех функций API
- 3.1 Получение логинов
- 3.2 Получение декларантов
- 3.3 Получение таможенных постов
- 3.4 Получение документов
- 3.5 Наименования статусов
- 3.6 Получение, Печать документа, Просмотр документа
- 3.7 Получение полей (заголовки столбцов)
- 3.8 Получение вложенных документов из графы 44
- 3.9 Получение тела документа 44. Печать в html
Сервис мониторинг таможенного оформления (REPORT.ALTA.RU)
Сервис предоставляет разработчикам возможность получения информации из внешних программ и сайтов в JSON-формате. С помощью данного сервиса можно выгружать следующую информацию:
- Список логинов, к пользователю может быть прикреплено много логинов
- Декларанты, таможенные посты
- Получение ДТ
- Получение документов гр.44 (если включено дублирование всех сообщений)
- Получение ЭД сообщений
Описание параметров
Доступ к API предоставляется по URL https://report.alta.ru/api/ Входные параметры передаются с помощью запроса HTTPS GET. Для использования сервиса необходимо получить apikey и secret в личном кабинете
Пример адреса запроса с параметрами: https://report.alta.ru/api/function/параметр0/?параметр1…2...параметрN&apikey=XXXX&hash=YYYYY
любой запрос должен содержать обязательные параметры, они выделены жирным
Параметр | Тип | Описание | Пример |
---|---|---|---|
Обязательные, должны быть в любом запросе | |||
v1 | string | Версия апи, текущая версия 1 | v1 v2 … v1.1 |
function | string | вызываемая функция апи | docs, decl, logins, tam |
apikey | string | Ключ авторизации, получить в личном кабинете | 5b145adecf42b8eecd4e6f3dc7134f45 |
hash | string | ХЭШ запроса, рассчитывается для каждого запроса по слову secret | 34563456 |
К необязательным параметрам относится, например, параметр0 Параметр0 идет сразу после функции, его можно опустить, и не писать, тогда ставим слеш после функции и дописываем обязательные параметры ключ и хэш, пример:
/api/v1/docs/?apikey=XXX&hash=YYY
Параметр0 указываем для получения конкретного документа, пример:
/api/v1/docs/xxxxx/?apikey=XXX&hash=YYY
секрет нужен для генерации хэша (подписи) запроса, ХЭШ генерируется так:
hash = md5(версия + функция + параметр0(если есть) + ВСЕ_ПАРАМЕТРЫ + md5(apikey) + md5(secret))
ВСЕ_ПАРАМЕТРЫ — это конкатенация всех GET параметров в той последовательности, в которой они идут в параметрах запроса слева направо, параметры: апи ключ, хеш и секрет не участвуют
пример, запрос:
https://report.alta.ru/api/v1/docs/?x=1&y=2&z=3&apikey=5555&hash=5b145adecf42b8eecd4e6f3dc7134f45
в данном случае ВСЕ_ПАРАМЕТРЫ это x y z нам известно, что наш аккаунт имеет следующие данные: apikey = 5555, secret = 7777 тогда вычислим хэш:
hash = md5 ( 1 + docs + (параметр0 не указан, его не берем) + 1 + 2 + 3 + md5(5555) + md5(7777)) =
md5 (1docs1236074c6aa3488f3c2dddff2a7ca821aabd79c8788088c2193f0244d8f1f36d2db ) =
получилось, что hash = 5b145adecf42b8eecd4e6f3dc7134f45
Список всех функций API
Для наглядности опустим тут обязательную часть запроса, оставим только конкретику
https://report.alta.ru/api/v1/FUNC/param0/?apikey=XXX&hash=YYY
Получение логинов
/logins/
Ответом получаем массив с логинами
Получение декларантов
/decl/
получаем массив с ИНН и названиями организаций
Получение таможенных постов
/tam/
Получаем массив таможенных постов
Получение документов
/docs/
фильтры, передаются как ПАРАМЕТРЫ запроса, пример:
https://report.alta.ru/api/v1/docs/?regdate[from]=2019-03-01&apikey=xxx&hash=xxx&
Параметр | Тип | Описание | Пример |
---|---|---|---|
regdate[from] | string | дата регистрации от только дата |
regdate[from]=2019-03-01 |
regdate[to] | string | дата регистрации до только дата |
regdate[to]=2019-03-01 |
vypdate[from] | string | ДатаВремя выпуска от | vypdate[from]=2019-05-08 vypdate[from]=2021-10-10Т10:30:00 |
vypdate[to] | string | ДатаВремя выпуска до | vypdate[to]=2019-05-08 vypdate[to]=2021-10-20Т10:30:00+03:00 |
lastmsgdate[from] | string | последнее сообщение ДатаВремя от | lastmsgdate[from]= 2019-05-08 lastmsgdate[from]=2021-10-10Т10:30:00 |
lastmsgdate[to] | string | последнее сообщение ДатаВремя до | lastmsgdate[to]=2019-03-01 lastmsgdate[to]=2021-10-20Т10:30:00+03:00 |
decl | array | ИНН декларанта, можно несколько | decl[]=555555 decl[]=666666 |
tam | array | Номер таможенного поста, можно несколько | tam[]=555 |
login | array | Логин, можно несколько | login[]=xxx |
pid | array | процедуры | pid[]=xxx&pid[]=yyy&pid[]=zzz&.. |
В ответ получаем документы
docs | array | массив документов |
из выдачи убрали заголовки столбцов, для их получения есть запрос апи /docs/fields/
Массив docs
Это массив документов, содержит в себе объект doc
Объект doc
messagetype | string | Тип текущего сообщения с ДТ | CMN.11023 |
---|---|---|---|
login | string | Логин | 123456 |
envelopeid | string | EnvelopeID текущего сообщения с ДТ | BD9D1189-A58E-482B-A108-ADF7D2459BFD |
status | string | Статус процедуры в числовом виде | 3 |
softver | string | Версия альбома и спецификации | 5.14.2/3.3.21 |
ProccessID | string | ID процедуры | 1a2ab345-1a12-1a01-1234-1234a5678bc1 |
LastMessageDate | string | Дата последнего сообщения по процедуре | |
DeclarantOrganizationName | string | Наименование организациии | ООО \"Альта-Софт\" |
DeclarantINN | string | ИНН декларанта | 1234567890 |
DeclarantOGRN | string | ОГРН декларанта | |
DeclarantFIO | string | ФИО декларанта из гр.54 | |
consignorName | string | Отправитель | |
consignorAddres | string | Адрес отправителя | |
consigneeName | string | Получатель | |
consigneeAddres | string | Адрес получателя | |
Transp | string | Номера транспортных средств | |
TrDoc | string | Номер транспортных документов | |
Cont | string | Номера контейнеров | |
NetWeightQuantity | string | Нетто | 20160.00 |
GrossWeightQuantity | string | Брутто | 20640.00 |
CustomsCost | string | Таможенная стоимость | 1989792.00 |
InvoicedCost | string | Фактурная стоимость | 1989792.00 |
ContractCurrencyCode | string | Валюта контракта | RUB |
REGNUM | string | Номер ДТ | 10000000/010121/0123456 |
PackageNumber | string | Кол-во мест | |
GoodsCount | string | Кол-во товаров | 1 |
UD | string | Код поста гр.30 | |
CustomsProcedure | string | Режим | ИМ |
CustomsModeCode | string | Процедура | 40 |
DeclarationKind | string | Особенности процедуры | ПТД |
Наименования статусов
1 | Открытие процедуры |
2 | Присвоен номер |
3 | Идет проверка |
4 | Идет досмотр |
5 | Проверка закончена |
6 | Условно выпущена |
7 | Выпуск разрешен |
10 | Отказано в выпуске |
11 | Товар прибыл (ПТД) |
12 | Выпуск с обеспечением |
13 | Отзыв |
14 | Считается не поданной |
15 | Выпуск приостановлен |
17 | Частично выпущена |
26 | Выпуск под обеспечение |
27 | Идет осмотр |
8192 | Отказано в приеме |
16384 | Переход на "бумагу" |
32768 | Запрошен отзыв |
Получение, Печать документа, Просмотр документа
Теперь, зная список документов, можно получить определенный документ по его ID, вывод данного запроса идет в html виде
/docs/ID/
, где ID = ProccessID_Login, пример: 1a2ab345-1a12-1a01-1234-1234a5678bc1_123456
Получение полей (заголовки столбцов)
/docs/fields/
получение полей, заголовков столбцов вынесли в отдельный запрос
Получение вложенных документов из графы 44
/docs44/ID/
, где ID = ProccessID_Login, пример: 1a2ab345-1a12-1a01-1234-1234a5678bc1_123456
также можно передать дополнительные параметры - фильтры
у каждого документа, есть вложенные документы, у документа может быть очень много записей в этом параметре, поэтому также есть фильтр по вложенным документам
Параметр | Тип | Описание | Пример |
---|---|---|---|
docCode | string | Код документа, можно указать часть кода , но только от начала строки | 0234*, 04031 |
docNum | string | Номер документа, можно указать любую часть номера без звездочек VN-RU | VN-RU, 18/04/ |
docDate[from] | string | Дата от | 2018-01-01 |
docDate[to] | string | Дата до | 2019-05-08 |
tovNum[] | array | Номер товара, задается массивом | tovNum[]=1 tovNum[]=40 |
в ответ получаем массив с документами
docName | string | имя документа |
docCode | string | Код документа |
docDate | string | Дата документа |
tovNum | string | Товары, их номера |
elDocId | string | ID документа в архиве таможни |
docNum | string | Номер документа |
elArchId | string | ID архива таможни |