Ассортиментный план
Получение ассортиментного плана
Ежедневно, желательно не чаще одного раза в сутки, вы можете получать ассортиментный план аптеки.
GET /v5/stores/{storeId}/assortment_plan
Описание
Получить ассортиментный план для аптеки storeId по протоколу версии 5
Параметры запроса
Имя
Тип
Обяз.
Описание
storeId
GUID
Идентификатор аптеки по справочнику АСНА
Заголовки запроса
Имя
Описание
Authorization
Bearer token
Accept
application/json или application/x-json-full
Пример запроса
Успешный ответ
HTTP cтатус
Значение
200
ОК. В теле ответа содержится JSON с планом.
Пример ответа
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 {
"planId" : "676A6268-5586-4BA7-99E0-CE567A0676DE" ,
"loadDate" : "2019-12-03T15:07:49+00:00" ,
"plans" : [
{
"nnt" : 110680 ,
"statusId" : 1 ,
"status" : "Оставлено в АП" ,
"method" : "Метод не задан"
"qnt" : 1
},
{
"nnt" : 112484 ,
"statusId" : 1 ,
"status" : "Оставлено в АП" ,
"method" : "Метод не задан"
"qnt" : 2
},
{
"nnt" : 113579 ,
"statusId" : 1 ,
"status" : "Оставлено в АП" ,
"methodId" : 1 ,
"method" : "Переключение покупателя на приоритетную позицию"
"qnt" : 1
}]
}
Объект ответа
Имя
Тип
Описание
planId
Guid
Уникальный идентификатор плана
loadDate
datetime
Дата загрузки ассортиментного плана в систему
plans
AssortmentPlanRow[]
Массив планов мероприятий
Объект ответа AssortmentPlanRow
Имя
Тип
Описание
nnt
int
Уникальный код товара
bdn
bool
Признак БДН
statusId
int
Уникальный идентификатор статуса
status
string
Статус
methodId
int
Уникальный идентификатор метода
method
string
Метод
qnt
int
Количество
Неуспешный ответ
HTTP статус
Значение
400
Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа.
401
Unauthorized. Токен авторизации неверный или истек срок его действия
403
Forbidden. У вас нет прав на выполнение данной операции
429
Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени
500
Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса
Статусы строк ассортиментного плана
Ид
Наименование
1
Оставлено в АП
2
Исключено из АП
3
Добавлено в АП_БДН-позиция
4
Добавлено в АП_Эксклюзивы
5
Добавлено в АП_Группа 3 УСТМ
Методы строк ассортиментного плана
Ид
Наименование
1
Переключение покупателя на приоритетную позицию
2
Поддержание текущих продаж
3
Чистка кластера
4
Приоритетная рекомендация
Подтверждение обработки ассортиментного плана
После обработки полученного ассортиментного плана, аптека должна отправить результаты обработки в АСНА.
POST /v5/stores/{storeId}/assortment_plan
Описание
Отправить результаты обработки ассортиментного плана для аптеки storeId по протоколу версии 5
Параметры запроса
Имя
Тип
Обяз.
Описание
storeId
GUID
Идентификатор аптеки по справочнику АСНА
Заголовки запроса
Имя
Описание
Authorization
Bearer token
Accept
application/json или application/x-json-full
Тело запроса
Объект запроса AssortmentPlanAcceptance
Имя
Тип
Обяз.
Описание
planId
Guid
Уникальный идентификатор ассортиментного плана
acceptance
AssortmentPlanAcceptanceRow[]
Массив объектов AssortmentPlanAcceptanceRow
Объект запроса AssortmentPlanAcceptanceRow
Имя
Тип
Обяз.
Описание
nnt
int
Уникальный код товара АСНА
statusId
int
Код статуса обработки. 1 - Оставили, 2- Удалили, 3 - Добавили
Пример запроса
HTTP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 POST /v5/stores/BC164E55-B612-4A04-800B-34CCF10F6858/assortment_plan HTTP / 1.1
Host : api.asna.cloud
Authorization : Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw
Content-Type : application/json
Cache-Control : no-cache
{
"planId" : "676A6268-5586-4BA7-99E0-CE567A0676DE" ,
"acceptance" :[
{
"nnt" : 110738 ,
"statusId" : 1
},
{
"nnt" : 110739 ,
"statusId" : 2
}
]
}
C# (RestSharp)
var client = new RestClient ( "http://api.asna.cloud/v5/stores/BC164E55-B612-4A04-800B-34CCF10F6858/assortment_plan" );
client . Timeout = - 1 ;
var request = new RestRequest ( Method . POST );
request . AddHeader ( "Accept" , "application/json" );
request . AddHeader ( "Content-Type" , "application/json" );
request . AddHeader ( "Authorization" , "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw" );
request . AddParameter ( "application/json" , "{\"planId\":\"676A6268-5586-4BA7-99E0-CE567A0676DE\",\"acceptance\":[{\"nnt\":110738,\"statusId\":1},{\"nnt\":110739,\"statusId\":2}]}" , ParameterType . RequestBody );
IRestResponse response = client . Execute ( request );
Console . WriteLine ( response . Content );
CURL
1
2
3
4
5
6
7
8
9
10
11
12
13 curl --location --request POST 'http://api.asna.cloud/v5/stores/BC164E55-B612-4A04-800B-34CCF10F6858/assortment_plan' --header 'Accept: application/json' --header 'Content-Type: application/json' --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw' --data-raw '{
"planId":"676A6268-5586-4BA7-99E0-CE567A0676DE",
"acceptance":[
{
"nnt":110738,
"statusId":1
},
{
"nnt":110739,
"statusId":2
}
]
}'
Успешный ответ
HTTP cтатус
Значение
201
Created. Данные успешно записаны
Пример ответа
Неуспешный ответ
HTTP статус
Значение
400
Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа.
401
Unauthorized. Токен авторизации неверный или истек срок его действия
403
Forbidden. У вас нет прав на выполнение данной операции
429
Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени
500
Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса
Последнее обновление: 17 августа 2021 г. 11:14:40
Созданный: 5 августа 2021 г. 12:36:05