API подбор кода ТНВЭД для экспресс-грузов: различия между версиями
Nikitin (обсуждение | вклад) (Метка: визуальный редактор отключён) |
Nikitin (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 10: | Строка 10: | ||
<pre> | <pre> | ||
<xml> | <xml> | ||
− | <i id="1" | + | <i id="1" group="Описание группы товаров 1"> |
− | <i id="2" | + | <name>Описание товара 1</name> |
+ | <name>Дополнительное описание товара 1</name> | ||
+ | ... | ||
+ | </i> | ||
+ | <i id="2"> | ||
+ | <name>Описание товара 2</name> | ||
+ | </i> | ||
... | ... | ||
− | |||
</xml> | </xml> | ||
</pre> | </pre> | ||
+ | |||
+ | {| class="wikitable" width="50%" | ||
+ | |- | ||
+ | |xml||Корневой элемент документа | ||
+ | |- | ||
+ | |i|| Узел с информацией об одном товаре | ||
+ | |- | ||
+ | |id|| Идентификатор товара: порядковый номер, артикул или какая-либо другая информация, уникальная для каждого товара в рамках запроса | ||
+ | |- | ||
+ | |group|| ''(Необязательно)'' Короткое описание группы товаров. При подборе кода ТНВЭД предпочтение будет отдаваться кодам, соответствующим этому описанию | ||
+ | |- | ||
+ | |name|| Описание товара. Для каждого товара может быть указано несколько полей name | ||
+ | |} | ||
Пример: для отправки запроса, содержащего один товар с описанием "брюки женские" нужно сформировать XML следующего вида: | Пример: для отправки запроса, содержащего один товар с описанием "брюки женские" нужно сформировать XML следующего вида: | ||
Строка 21: | Строка 39: | ||
<pre> | <pre> | ||
<xml> | <xml> | ||
− | <i id="1" | + | <i id="1"> |
+ | <name>брюки женские</name> | ||
+ | </i> | ||
</xml> | </xml> | ||
</pre> | </pre> | ||
Строка 32: | Строка 52: | ||
Accept-Encoding: gzip, deflate | Accept-Encoding: gzip, deflate | ||
Host: www2.alta.ru | Host: www2.alta.ru | ||
− | Content-Length: | + | Content-Length: 170 |
Connection: Close | Connection: Close | ||
− | slogin=sa00000&xml=%3Cxml%3E%3Ci | + | slogin=sa00000&xml=%3Cxml%3E%3Ci%20id%3D%221%22%3E%3Cname%3E%D0%B1%D1%80%D1%8E%D0%BA%D0%B8%20%D0%B6%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B5%3C%2Fname%3E%3C%2Fi%3E%3C%2Fxml%3E |
</pre> | </pre> | ||
Строка 43: | Строка 63: | ||
Accept-Encoding: gzip, deflate | Accept-Encoding: gzip, deflate | ||
Host: www2.alta.ru | Host: www2.alta.ru | ||
− | Content-Length: | + | Content-Length: 285 |
Connection: Close | Connection: Close | ||
Строка 53: | Строка 73: | ||
Content-Disposition: form-data; name="xml" | Content-Disposition: form-data; name="xml" | ||
− | <xml><i id="1" | + | <xml><i id="1"><name>брюки женские</name></i></xml> |
-----------------------------7e6ad602d2-- | -----------------------------7e6ad602d2-- | ||
</pre> | </pre> | ||
Строка 78: | Строка 98: | ||
===Получение списка кодов ТНВЭД=== | ===Получение списка кодов ТНВЭД=== | ||
Для получения списка кодов ТНВЭД по идентификатору запроса (requestid) необходима авторизация с помощью сервисного логина и пароля. | Для получения списка кодов ТНВЭД по идентификатору запроса (requestid) необходима авторизация с помощью сервисного логина и пароля. | ||
− | + | ||
− | + | Параметры, которые нужно передать в GET-запросе: | |
+ | {| class="wikitable" width="50%" | ||
+ | |- | ||
+ | |requestid||Идентификатор запроса, полученный при выполнении POST-запроса | ||
+ | |- | ||
+ | |slogin||Сервисный логин | ||
+ | |- | ||
+ | |hash||MD5-хеш от сгенерированной строки '''requestid + логин + md5-хэш от пароля''', разделенный знаком двоеточия «:» | ||
+ | |- | ||
+ | |payment||''(Необязательно)'' Укажите этот параметр со значением "packet" для списания из предоплаченного пакета, или "balance" для списания со счета. Значение по умолчанию (если не параметр не указан) - "packet" | ||
+ | |- | ||
+ | |tnveddescr||''(Необязательно)'' Укажите этот параметр со значением "1", если требуется к каждому найденному коду ТНВЭД добавить описание из справочника | ||
+ | |} | ||
+ | |||
+ | Пример вычисления значения параметра '''hash''' для пользователя с логином testlogin, паролем testpassword и requestid = 12345:<br> | ||
<pre> | <pre> | ||
hash = md5("12345:testlogin:" + md5("testpassword")); | hash = md5("12345:testlogin:" + md5("testpassword")); | ||
</pre> | </pre> | ||
− | Итоговый URL: https://www2.alta.ru/tools/autotnved/v2/?requestid=12345&slogin=testlogin&hash=2b7283149605bc5ac1c17de3c34fc786 | + | Итоговый URL: https://www2.alta.ru/tools/autotnved/v2/?requestid=12345&slogin=testlogin&hash=2b7283149605bc5ac1c17de3c34fc786&payment=balance&tnveddescr=1 |
XML-ответ в случае успешного выполнения запроса: | XML-ответ в случае успешного выполнения запроса: | ||
+ | |||
+ | <pre> | ||
+ | <result> | ||
+ | <handled>true</handled> | ||
+ | <message>Запрос обработан</message> | ||
+ | <response> | ||
+ | <item> | ||
+ | <id>1</id> | ||
+ | <code>6204623100</code> | ||
+ | <codeWeight>12784</codeWeight> | ||
+ | <probability>0.19389</probability> | ||
+ | <descr>Прочие брюки и бриджи женские или для девочек из денима, или джинсовой ткани</descr> | ||
+ | </item> | ||
+ | </response> | ||
+ | </result> | ||
+ | </pre> | ||
+ | |||
{| class="wikitable" width="50%" | {| class="wikitable" width="50%" | ||
|- | |- | ||
Строка 98: | Строка 149: | ||
| item || Блок, содержащий информацию о коде ТНВЭД для одного товара | | item || Блок, содержащий информацию о коде ТНВЭД для одного товара | ||
|- | |- | ||
− | | id || Идентификатор товара | + | | id || Идентификатор товара в соответствии с исходным запросом |
|- | |- | ||
| code || Найденный код ТНВЭД | | code || Найденный код ТНВЭД | ||
Строка 106: | Строка 157: | ||
| probability || Уровень доверия к найденному коду (доля найденного кода по отношению ко всем кодам, которые были использованы для декларирования товаров со схожим описанием) | | probability || Уровень доверия к найденному коду (доля найденного кода по отношению ко всем кодам, которые были использованы для декларирования товаров со схожим описанием) | ||
|- | |- | ||
+ | | descr || Описание кода из справочника ТНВЭД. Для включения этого поля в ответ, необходимо при выполнении GET-запроса добавить к URL параметр '''tnveddescr=1''' | ||
|} | |} | ||
Текущая версия на 17:09, 16 октября 2024
О сервисе
Сервис предназначен для автоматизированного определения 10-значных кодов ТНВЭД по описаниям товаров
API
Доступ к API предоставляется по URL https://www2.alta.ru/tools/autotnved/v2/.
Отправка исходных данных
Для отправки списка описаний товаров, для которых необходимо определить коды ТНВЭД, нужно отправить POST-запрос, в который должны быть включены параметр "slogin" со значением, соответствующим логину вашей учетной записи, и "xml", значение которого должно иметь следующий формат:
<xml> <i id="1" group="Описание группы товаров 1"> <name>Описание товара 1</name> <name>Дополнительное описание товара 1</name> ... </i> <i id="2"> <name>Описание товара 2</name> </i> ... </xml>
xml | Корневой элемент документа |
i | Узел с информацией об одном товаре |
id | Идентификатор товара: порядковый номер, артикул или какая-либо другая информация, уникальная для каждого товара в рамках запроса |
group | (Необязательно) Короткое описание группы товаров. При подборе кода ТНВЭД предпочтение будет отдаваться кодам, соответствующим этому описанию |
name | Описание товара. Для каждого товара может быть указано несколько полей name |
Пример: для отправки запроса, содержащего один товар с описанием "брюки женские" нужно сформировать XML следующего вида:
<xml> <i id="1"> <name>брюки женские</name> </i> </xml>
Отправить его можно одним из следующих способов:
POST /tools/autotnved/v2/ HTTP/1.1 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate Host: www2.alta.ru Content-Length: 170 Connection: Close slogin=sa00000&xml=%3Cxml%3E%3Ci%20id%3D%221%22%3E%3Cname%3E%D0%B1%D1%80%D1%8E%D0%BA%D0%B8%20%D0%B6%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B5%3C%2Fname%3E%3C%2Fi%3E%3C%2Fxml%3E
POST /tools/autotnved/v2/ HTTP/1.1 Content-Type: multipart/form-data; boundary=---------------------------7e6ad602d2 Accept-Encoding: gzip, deflate Host: www2.alta.ru Content-Length: 285 Connection: Close -----------------------------7e6ad602d2 Content-Disposition: form-data; name="slogin" sa00000 -----------------------------7e6ad602d2 Content-Disposition: form-data; name="xml" <xml><i id="1"><name>брюки женские</name></i></xml> -----------------------------7e6ad602d2--
Если запрос выполнится успешно, ответ сервера будет иметь следующий вид:
<result> <message>Запрос поставлен в очередь</message> <requestid>7</requestid> </result>
result | Корневой элемент документа |
message | Элемент с информацией о статусе запроса |
requestid | Идентификатор запроса, который понадобится в дальнейшем |
Получение списка кодов ТНВЭД
Для получения списка кодов ТНВЭД по идентификатору запроса (requestid) необходима авторизация с помощью сервисного логина и пароля.
Параметры, которые нужно передать в GET-запросе:
requestid | Идентификатор запроса, полученный при выполнении POST-запроса |
slogin | Сервисный логин |
hash | MD5-хеш от сгенерированной строки requestid + логин + md5-хэш от пароля, разделенный знаком двоеточия «:» |
payment | (Необязательно) Укажите этот параметр со значением "packet" для списания из предоплаченного пакета, или "balance" для списания со счета. Значение по умолчанию (если не параметр не указан) - "packet" |
tnveddescr | (Необязательно) Укажите этот параметр со значением "1", если требуется к каждому найденному коду ТНВЭД добавить описание из справочника |
Пример вычисления значения параметра hash для пользователя с логином testlogin, паролем testpassword и requestid = 12345:
hash = md5("12345:testlogin:" + md5("testpassword"));
XML-ответ в случае успешного выполнения запроса:
<result> <handled>true</handled> <message>Запрос обработан</message> <response> <item> <id>1</id> <code>6204623100</code> <codeWeight>12784</codeWeight> <probability>0.19389</probability> <descr>Прочие брюки и бриджи женские или для девочек из денима, или джинсовой ткани</descr> </item> </response> </result>
result | Корневой элемент документа |
handled | Состояние запроса: обработан или еще нет (стоит в очереди) |
message | Описание состояния запроса |
response | Блок, содержащий детальную информацию о всех найденных кодах ТНВЭД |
item | Блок, содержащий информацию о коде ТНВЭД для одного товара |
id | Идентификатор товара в соответствии с исходным запросом |
code | Найденный код ТНВЭД |
codeWeight | Вес кода (количество товаров со схожим описанием, задекларированных с найденным кодом) |
probability | Уровень доверия к найденному коду (доля найденного кода по отношению ко всем кодам, которые были использованы для декларирования товаров со схожим описанием) |
descr | Описание кода из справочника ТНВЭД. Для включения этого поля в ответ, необходимо при выполнении GET-запроса добавить к URL параметр tnveddescr=1 |
Ошибки
При возникновении ошибки в корневом элементе появляется блок с кодом и описанием ошибки.
<Error> <ErrorCode>201</ErrorCode> <ErrorDescr>Запрос #12345 не найден</ErrorDescr> </Error>
При работе с сервисом возможны следующие ошибки:
Код | Описание |
---|---|
100 | Пользователь не авторизован |
110 | Лимит запросов для данного пользователя исчерпан |
120 | Ошибка тарификации |
140 | Недостаточно средств для выполнения запроса |