Перейти к содержанию

Маркетинговые мероприятия⚓︎

Общие положения начисления бюджета⚓︎

  1. Бюджет для каждой аптеки начисляется отдельно, но зависит от показателей работы всей сети, к которой относится аптека
  2. Бюджет делится на две части: «Общий маркетинг» и «Товар дня» итоговая сумма складывается арифметически из двух этих частей, которые рассчитываются независимо.
  3. Бюджет за мероприятие «Товар дня» начисляется независимо от выполнения планов по другим типам мероприятий. Базой для расчета бонуса является объем закупки в промо-период (стандарт: месяц проведения акции и 10 дней до него) конкретных товаров (или разрешенных для их замены SKU), в зачет идет закуп только у разрешенных дистрибьюторов (по контракту, содержащему конкретный товар). В одном мероприятии участвует 4 товара (без учета разрешенных заменителей), мероприятие организуется на каждый месяц отдельно. План выставляется в упаковках на каждый товар и на каждую участвующую аптеку. Бонус за каждую закупленную упаковку устанавливается для каждого товара в каждом мероприятии индивидуально (стандарт = 30% от суммы закупа в учетных ценах АСНА) Выполнение оценивается по сети целиком, в соответствии с описанием мероприятия «Товар дня»
  4. Бюджет по «Общему маркетингу» начисляется по каждому товару из маркетингового ассортимента в отдельности. На каждый товар может быть несколько уровней возможного бонуса (2 или 4) в зависимости от группы маркетингового ассортимента, к которой товар относится. Какой уровень бонуса в итоге получит сеть по каждому товару зависит от выполнения сетью планов по маркетинговым мероприятиям.
  5. Базой для расчета бюджета аптеки является маркетинговая закупка в учетных ценах АСНА-CIP (учетная цена на каждый маркетинговый товар устанавливается на квартал со стороны АСНА) закупленного аптекой товара, при условии, что для этой аптеки товар является маркетинговым в данном квартале (определяется мероприятиями типа «Маркетинговый ассортимент») и товар был куплен у разрешенного поставщика (для части производителей на квартал устанавливаются ограничения дистрибьюторов – только купленный у этих поставщиков товар данного производителя идет в зачет для начисления бюджета).

Условия начисления бюджета⚓︎

Маркетинговый ассортимент⚓︎

Для товаров из Группа 1 и Группа 2

На товары данных групп начисляется:

  • Бонус 1, если БДН по сети не выполнено.
  • Бонус 2, если БДН по сети выполнено.

Для товаров из Группа 3 УСТМ

На товары данной группы начисляется:

  • Бонус 1, если БДН по сети не выполнено и план по УСТМ-мероприятию (с данным товаром) не выполнен.
  • Бонус 2, если БДН по сети выполнено, но план по УСТМ-мероприятию (с данным товаром) не выполнен.
  • Бонус 3, если БДН по сети не выполнено, но план по УСТМ-мероприятию (с данным товаром) выполнен.
  • Бонус 4, если БДН по сети выполнено, и план по УСТМ-мероприятию (с данным товаром) тоже выполнен.

Бездефектурное наличие⚓︎

Для всех товаров

Выполнение считается по сети целиком. Выполненным условие БДН для сети считается от 85% строк.

УСТМ⚓︎

Для товаров из Группа 3 УСТМ

Выполнение считается в разрезе Сеть-мероприятие-квартал. Мероприятие считается выполненным для сети, если план выполнен на 100% и более.

Товар дня⚓︎

Если мероприятие выполнено по сети, то за зачтенный (по разрешенным дистрибьюторам) факт закупки каждого товара в учетных ценах (АСНА-CIP цены) начисляется заранее обозначенный процент бонуса.

Условия выполнения мероприятия⚓︎

Маркетинговый ассортимент⚓︎

Сеть в любом случае получает минимум Бонус 1. Получение бонуса от 2 до 4 уровня определяется выполнением БДН и УСТМ-мероприятий.

Бездефектурное наличие⚓︎

Процент выполнения сетью матрицы БДН = количество строк (товаров по аптекам сети с планом по БДН), по которым товар был на остатке 80% и более дней в квартале, разделить на суммарное количество строк с планом по аптекам данной сети. Выполненным условие БДН для сети считается от 85% строк.

УСТМ⚓︎

Сеть имеет план закупа в учетных ценах (АСНА-CIP) по каждому мероприятию (набор SKU одного бренда в одной конкурентной группе - "кластере") на квартал. В зачет идет только закуп у разрешенных дистрибьюторов.

Товар дня⚓︎

Мероприятие считается выполненым для сети, если план по 3 из 4-х товаров, участвующих в акции, выполенн минимум на 90%, а на 1 товар минимум на 50%.

Варианты использования в аптечном ПО, повышающие эффективность работы сети с маркетингом⚓︎

Маркетинговый ассортимент⚓︎

  1. Подсветка в интерфейсе закупки товара
  2. Приоритезация товаров в рамках группы аналогичных к закупке (если расчет потребности и закуп организован "слотами", и возможен закуп аналогичного товара при более выгодной цене или отсутствии первичного по потребности)
  3. Использование в кассовом интерфейсе: приоритет при запросе покупателя, подсветка, часть мотивации персонала.
  4. Комплексный подход к мотивации персонала - начисление баллов за маркетинговые товары, 0 или "-" за немаркетинговые и немаржинальные товары. Отчетность по индивидуальной мотивации, информаирование на кассе о результатах текущей сессии по набранным баллам/выполнению плана конкретным фармацевтом/аптекой/сменой.

Бездефектурное наличие⚓︎

1.Подсветка в интерфейсах закупки, в заказах и черновых накладных, возможно блок на возможность исключить из чернового заказа для заведующих. Подсветка в интерфейсе настройки ассортиментного плана аптеки.

  1. Автоматический заказ/попадание в черновые заказы
  2. Увеличенная потребность для заказа - например, на 1 упаковку больше, чем под статистику продаж, чтобы сток не обнулялся.
  3. Оповещения при обнулении стоков по данным SKU
  4. Внутренняя аналитика выполнения условий по БДН в разрезе аптек и сети
  5. Автоматическое включение в ассортиментный план аптеки, невозможность локального (заведующей) исключения позиций - при централизованном управлении сетью.

Разрешенные дистрибьюторы⚓︎

  1. При заказе товара в первую очередь посылать заказ только разрешенным дистрибьюторам, а к запрещенным, например, только при согласовании ответственным пользователем, если ни у одного разрешенного нет товара, или, какой-то лимит по отличию цены превышен. То есть приоритезация заказа товара по разрешенным поставщикам.
  2. Подсветка товаров, для которых есть ограничения поставщиков в интерфейсах заказа товара, ассортиментного плана.

УСТМ⚓︎

  1. Внутренний мониторинг сетью/аптекой выполнения планов АСНА в отчетности. Более оперативен относительно куба и портала АСНА - так как данные не надо валидировать и ждать обменов.
  2. Настройка мотивации персоанала на продажу конкретных товаров в конкурентных группах (кластерах) - баллы/планы на фармацевта/аптеку + системы мониторинга - индивидуальные на кассе и общие в отчетности.
  3. Настройка замен/расширения с приоритетом для товаров УСТМ в кассовых модулях. Запрос покупателя на аналогичные товары - напоминание фармацевту о замене в порядке приоритета, о расширении (связанная нозология/группа) - тоже в порядке приоритета с учетом принадлежности товаров к УСТМ и маркетинговому ассортименту в принципе.

Выкладка⚓︎

  1. Товар из выкладки всегда есть в мероприятиях бездефектурного наличия, поэтому дополнительные меры контроля наличия при соблюдении выше описанных рекомендаций не нужны.
  2. Если в ПО есть признаки и интерфейс по работе с выкладкой (адресация выкладки, напоминания, авто-печать ценников и т.п.), то там везде можно учитывать этот признак автоматически. Подсвечивать в прайсе, если необходимо.
  3. При приходовании товаров (в накладных или в ином интерфейсе) нужно подсвечивать и напоминать о необходимости выложить данный товар.

Товар дня⚓︎

  1. Если в ПО есть календарь мероприятий/ электронная отметка принадлежности к акционной витрине - можно использовать информацию там.
  2. Можно заранее добавить нужные количества товара/какую-то часть плана в авто-заказ для каждой участвующей аптеки. Избежать таким образом акционной дефектуры.
  3. Если есть возможность автоматической настройки скидок под мероприятие на определенный период - можно также использовать поступившую информацию.
  4. Можно использовать для мотивации персонала, загружая планы в систему напрямую/распределяя между сотрудниками.
  5. Напоминание первостольнику в кассовом модуле при запросе товара из нозологии/группы аналогов. Напоминание на расширение покупки при заказе связанной группы товаров.
  6. Мотивация персонала: план на аптеку/фармацевта в ПО, отчеты, мониторинг выполнения планов, баллы за продажу и т.п.
  7. Внутренний мониторинг сетью/аптекой выполнения планов АСНА в отчетности. Более оперативен относительно куба и портала АСНА - так как данные не надо валидировать и ждать обменов.

Скачать описание мероприятий в виде файла Excel

Рекомендуемые поставщики⚓︎

Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о рекомендуемых поставщиках маркетингового товара на каждый товар.

ВНИМАНИЕ!

Справочник содержит очень большое количество записей, поэтому необходимо запрашивать его частями. Если в ответе пришло количество записей меньше чем запрашиваемое количество, то вы получили все имеющиеся записи на данный момент. Кроме этого существует возможность получить справочник рекомендуемых поставщиков другим способом, см. Справочник связей маркетинговый производитель - поставщик и Справочник связей товар - маркетинговый производитель

GET /v5/references/recommended_suppliers?rv={rv}&count={count}&rvInt={rvInt}&actual={false|true}

Описание⚓︎

Получить справочник рекомендуемых поставщиков по протоколу версии 5, count строк, начиная с версии rv (массив байт) или версии rvInt (int64)

Параметры запроса⚓︎

Имя Тип Обяз. Описание
count int Количество возвращаемых записей, для загрузки частями. Не должно превышать 100000.
rv byte[] Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных. В JSON массив байт представлен в кодировке base64.
rvInt long Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных.
actual bool Если true, то возвращает только актуальные записи за текущий период. Не забывайте в этом случае перед получением зачищать все полученные ранее данные по рекомендуемым поставщикам в своей базе. Следует иметь в виду, что с этим параметром при получении данных частями, если в момент получения какая-либо запись стала неактуальной, то она не будет передана. Таким образом до следующего получения полного списка, эта строка будет у вас числиться актуальной. По умолчанию false.
test bool Если true, то вы получите тестовый набор данных

Заголовки запроса⚓︎

Имя Описание
Authorization Bearer token
Accept application/json или application/x-json-full

Пример запроса⚓︎

1
2
3
GET /v5/references/recommended_suppliers?rv=AAAAAACRObs=&count=4 HTTP/1.1
Host: api.asna.cloud
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw

Успешный ответ⚓︎

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
28
29
30
31
32
33
34
35
36
37
38
[
  {
    "nnt": 102010,
    "inn": "1660169622",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACRObs=",
    "rvInt": 9517499
  },
  {
    "nnt": 102010,
    "inn": "2130174989",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACRObw=",
    "rvInt": 9517500
  },
  {
    "nnt": 102010,
    "inn": "2308169476",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACROb0=",
    "rvInt": 9517501
  },
  {
    "nnt": 102010,
    "inn": "2311074538",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACROb4=",
    "rvInt": 9517502
  }
]
Имя Тип Описание
nnt int Уникальный код товара по справочнику АСНА
inn string ИНН поставщика
begDate datetime Дата начала действия рекомендуемого поставщика
endDate datetime Дата окончания действия рекомендуемого поставщика
actual bool Признак актуальности строки
rv byte[] Версия строки. В JSON массив байт представлен в кодировке base64.
rvInt int Версия строки

Неуспешный ответ⚓︎

HTTP статус Значение
400 Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа.
401 Unauthorized. Токен авторизации неверный или истек срок его действия
403 Forbidden. У вас нет прав на выполнение данной операции
429 Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени
500 Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса

Рекомендуемые поставщики по ИНН⚓︎

Ежедневно, желательно не чаще одного раза в сутки, вы можете получать информацию о рекомендуемых поставщиках маркетингового товара на каждый товар.

POST /v5/references/recommended_suppliers?rv={rv}&count={count}&rvInt={rvInt}&actual={false|true}

Описание⚓︎

Получить справочник рекомендуемых поставщиков, по списку ИНН, по протоколу версии 5, count строк, начиная с версии rv (массив байт) или версии rvInt (int64)

Параметры запроса⚓︎

Имя Тип Обяз. Описание
count int Количество возвращаемых записей, для загрузки частями. Не должно превышать 100000.
rv byte[] Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных. В JSON массив байт представлен в кодировке base64.
rvInt long Версия последней записи, для загрузки частями. Берется текущее максимальное значение поля из базы данных.
actual bool Если true, то возвращает только актуальные записи за текущий период. Не забывайте в этом случае перед получением зачищать все полученные ранее данные по рекомендуемым поставщикам в своей базе. Следует иметь в виду, что с этим параметром при получении данных частями, если в момент получения какая-либо запись стала неактуальной, то она не будет передана. Таким образом до следующего получения полного списка, эта строка будет у вас числиться актуальной. По умолчанию false.
test bool Если true, то вы получите тестовый набор данных

Заголовки запроса⚓︎

Имя Описание
Authorization Bearer token
Content-Type application/json
Accept application/json или application/x-json-full

Тело запроса⚓︎

Массив строк(ИНН поставщиков) в формате JSON, см. пример ниже

Пример запроса⚓︎

1
2
3
4
5
6
7
POST /v5/references/recommended_suppliers?rv=AAAAAACRObs=&count=4 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

[ "0273099415", "0278058074", "1657147234", "1659025432" ]

Успешный ответ⚓︎

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
28
29
30
31
32
33
34
35
36
37
38
[
  {
    "nnt": 102010,
    "inn": "0273099415",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACRObs=",
    "rvInt": 9517499
  },
  {
    "nnt": 102010,
    "inn": "0273099415",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACRObw=",
    "rvInt": 9517500
  },
  {
    "nnt": 102010,
    "inn": "0278058074",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACROb0=",
    "rvInt": 9517501
  },
  {
    "nnt": 102010,
    "inn": "1657147234",
    "begDate": "2019-04-01T00:00:00+00:00",
    "endDate": "2019-06-30T00:00:00+00:00",
    "actual": true,
    "rv": "AAAAAACROb4=",
    "rvInt": 9517502
  }
]
Имя Тип Описание
nnt int Уникальный код товара по справочнику АСНА
inn string ИНН поставщика
begDate datetime Дата начала действия рекомендуемого поставщика
endDate datetime Дата окончания действия рекомендуемого поставщика
actual bool Признак актуальности строки
rv byte[] Версия строки. В JSON массив байт представлен в кодировке base64.
rvInt int Версия строки

Неуспешный ответ⚓︎

HTTP статус Значение
400 Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа.
401 Unauthorized. Токен авторизации неверный или истек срок его действия
403 Forbidden. У вас нет прав на выполнение данной операции
429 Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени
500 Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса

Маркетинговые планы⚓︎

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

GET /v5/stores/{storeId}/marketing?type={typeId}&test={false|true}

Описание⚓︎

Получить планы по маркетинговым мероприятиям для аптеки storeId по протоколу версии 5, с типом typeId

Параметры запроса⚓︎

Имя Тип Обяз. Описание
storeId GUID Идентификатор аптеки по справочнику АСНА
type int Тип мероприятия, параметр не является обязательным, если его не указать то вернутся все типы. Таблица с типами мероприятий расположена в конце раздела. Можно передать несколько типов мероприятий, например type=13&type=16&type=9
test bool Если true, то вы получите тестовый набор данных
full bool Если true, то получать не только со статусом Активно, но и с другими статусами. По умолчанию false

Заголовки запроса⚓︎

Имя Описание
Authorization Bearer token
Accept application/json или application/x-json-full

Пример запроса⚓︎

1
2
3
GET /v5/stores/BC164E55-B612-4A04-800B-34CCF10F6858/marketing HTTP/1.1
Host: api.asna.cloud
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw

Успешный ответ⚓︎

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
    "full":true,
    "currentVersion":22,
    "headers":[
        {
            "id":1,
            "name":"Мероприятие 1",
            "begDate":"2019-02-01T00:00:00+00:00",
            "endDate":"2019-03-31T23:59:59+00:00",
            "typeId":9,
            "type":"Бездефектурное наличие"
            "stateId":2
            "stateName":"Оплачено"
        },
        {
            "id":63,
            "name":"Мероприятие 2",
            "begDate":"2019-02-01T00:00:00+00:00",
            "endDate":"2019-03-31T23:59:59+00:00",
            "typeId":9,
            "type":"Бездефектурное наличие",
            "status":1
            "stateId":2
            "stateName":"Оплачено"
        }
    ],
    "plans":[
        {
            "actionId":1,
            "periodYM":201902,
            "nnt":108821,
            "qnt":28
        },
        {
            "actionId":63,
            "periodYM":201903,
            "nnt":108824,
            "qnt":28,
            "status":1
        }
    ]
}

Объект ответа⚓︎

Имя Тип Описание
full bool Признак того что в пакете пришли все мероприятия, а не только изменения (пока true для всех пакетов)
currentVersion int Версия данных (пока не используется)
headers Header[] Массив заголовков маркетинговых мероприятий
plans Plan[] Массив планов мероприятий

Объект ответа Header⚓︎

Имя Тип Описание
id int Уникальный код мероприятия
name string Наименование мероприятия
begDate datetime Дата начала действия мероприятия
endDate datetime Дата окончания действия мероприятия
typeId int Код типа мероприятия
type string Наименование типа мероприятия
status int Признак удаления (1 - удалена)
stateId int Код состояния мероприятия
stateName string Состояние мероприятия

Объект ответа Plan⚓︎

Имя Тип Описание
actionId int Уникальный код мероприятия
periodYM int Месяц, на который рассчитан план (ггггмм).
nnt int Код номенклатуры по справочнику АСНА
qnt float План в упаковках
nntParent int Код основного товара по справочнику АСНА
cip decimal АСНА CIP-цена
bonusPerPiece decimal Бонус в рублях на упаковку
sum decimal План в рублях
status int Признак удаления (1 - удалена)
pf bool Признак ПФ (парафарма)

Неуспешный ответ⚓︎

HTTP статус Значение
400 Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа.
401 Unauthorized. Токен авторизации неверный или истек срок его действия
403 Forbidden. У вас нет прав на выполнение данной операции
429 Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени
500 Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса

Типы маркетинговых мероприятий⚓︎

Код Название Описание
9 Бездефектурное наличие Ежедневное наличие на остатках. Передаются поля nnt, qnt (равно 1 для рекомендуемого наличия), nntParent (если есть)
10 Выкладка Ежедневное наличие на витринах. Передаются поля nnt, nntParent (если есть)
13 Маркетинговый ассортимент Наличие в маркетинговом асортименте. Передаются поля nnt, nntParent (если есть), cip
15 Товар дня План продаж. Передаются поля nnt, cip, qnt, bonus, nntParent (если есть)
16 УСТМ План закупок. Передаются поля nnt, cip, sum

Маркетинговые планы по сети⚓︎

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

GET /v5/nets/{storeId}/marketing?type={typeId}

Описание⚓︎

Получить планы по маркетинговым мероприятиям для сети, в которую входит аптека со storeId по протоколу версии 5, с типом typeId

Параметры запроса⚓︎

Имя Тип Обяз. Описание
storeId GUID Идентификатор аптеки по справочнику АСНА
type int Тип мероприятия, параметр не является обязательным, если его не указать то вернутся все типы. Таблица с типами мероприятий расположена в конце раздела. Можно передать несколько типов мероприятий, например type=13&type=16&type=9
full bool Если true, то получать не только со статусом Активно, но и с другими статусами. По умолчанию false

Заголовки запроса⚓︎

Имя Описание
Authorization Bearer token
Accept application/json или application/x-json-full

Пример запроса⚓︎

1
2
3
GET /v5/nets/BC164E55-B612-4A04-800B-34CCF10F6858/marketing HTTP/1.1
Host: api.asna.cloud
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw

Успешный ответ⚓︎

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
    "full":true,
    "currentVersion":22,
    "headers":[
        {
            "id":1,
            "name":"Мероприятие 1",
            "begDate":"2019-02-01T00:00:00+00:00",
            "endDate":"2019-03-31T23:59:59+00:00",
            "typeId":9,
            "type":"Бездефектурное наличие"
            "stateId":2
            "stateName":"Оплачено"
        },
        {
            "id":63,
            "name":"Мероприятие 2",
            "begDate":"2019-02-01T00:00:00+00:00",
            "endDate":"2019-03-31T23:59:59+00:00",
            "typeId":9,
            "type":"Бездефектурное наличие",
            "status":1
            "stateId":2
            "stateName":"Оплачено"
        }
    ],
    "plans":[
        {
            "actionId":1,
            "periodYM":201902,
            "nnt":108821,
            "qnt":28
        },
        {
            "actionId":63,
            "periodYM":201903,
            "nnt":108824,
            "qnt":28,
            "status":1
        }
    ]
}

Объект ответа⚓︎

Имя Тип Описание
full bool Признак того что в пакете пришли все мероприятия, а не только изменения (пока true для всех пакетов)
currentVersion int Версия данных (пока не используется)
headers Header[] Массив заголовков маркетинговых мероприятий
plans Plan[] Массив планов мероприятий

Объект ответа Header⚓︎

Имя Тип Описание
id int Уникальный код мероприятия
name string Наименование мероприятия
begDate datetime Дата начала действия мероприятия
endDate datetime Дата окончания действия мероприятия
typeId int Код типа мероприятия
type string Наименование типа мероприятия
status int Признак удаления (1 - удалена)
stateId int Код состояния мероприятия
stateName string Состояние мероприятия

Объект ответа Plan⚓︎

Имя Тип Описание
actionId int Уникальный код мероприятия
periodYM int Месяц, на который рассчитан план (ггггмм).
nnt int Код номенклатуры по справочнику АСНА
qnt float План в упаковках
nntParent int Код основного товара по справочнику АСНА
sum decimal План в рублях
status int Признак удаления (1 - удалена)

Неуспешный ответ⚓︎

HTTP статус Значение
400 Bad Request. Полученные службой данные содержат ошибки. Информация об ошибке возвращается в теле ответа.
401 Unauthorized. Токен авторизации неверный или истек срок его действия
403 Forbidden. У вас нет прав на выполнение данной операции
429 Too Many Requests. Слишком много запросов с одного IP адреса за промежуток времени
500 Internal Server Error. Ошибка сервиса. Если ошибка повторяется, сообщите, пожалуйста, разработчикам сервиса

Маркетинговые группы и бонусы⚓︎

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

GET /v5/stores/{storeId}/marketing_groups_bonuses

Описание⚓︎

Получить информацию по маркетинговым группам и бонусам для аптеки storeId по протоколу версии 5

Параметры запроса⚓︎

Имя Тип Обяз. Описание
storeId GUID Идентификатор аптеки по справочнику АСНА

Заголовки запроса⚓︎

Имя Описание
Authorization Bearer token
Accept application/json или application/x-json-full

Пример запроса⚓︎

1
2
3
GET /v5/stores/BC164E55-B612-4A04-800B-34CCF10F6858/marketing_groups_bonuses HTTP/1.1
Host: api.asna.cloud
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdGQzk0RDU4N0UzQzg4QUM0M0FDQkQyOEU0Njk4RDZCOTE3RkQyOUUiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmOGxOV0g0OGlLeERyTDBvNUdtTmE1Rl8wcDQifQ.eyJuYmYiOjE0OTE1NzY2MDcsImV4cCI6MTQ5MTU4MDIwNywiaXNzIjoiaHR0cHM6Ly9zc28uYXNuYS5jbG91ZDoxODgxIiwiYXVkIjpbImh0dHBzOi8vc3NvLmFzbmEuY2xvdWQ6MTg4MS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiRTQ1RDM0OTEtNzlFRS00RUVBLTkyQjItMjJDRUJFNEJCOEI1IiwiY2xpZW50X2FjY2VzcyI6WyJzdG9ja3MuZWRpdCIsInN0b2Nrcy5mdWxsX2FjY2VzcyIsInN0b2Nrcy52aWV3Il0sInNjb3BlIjpbImFwaSJdfQ.OvGjvdbOk6QI3CNRyjOmj5mSrUZ7v1LjWRgH9TjwhNTTKiEaww1iEr8CnSKOfpGUdhkFGiup8kzvW0PIsqrVZHEx2r5gmT9SO6orznDg-ESprgjjiBC-uYSSTzK_WmPZp-cjP4OVt8ovGY3ncNhrTYFmBy0CJh0XBtMmO5IkE9ASxyaw5Ou5by0SaMTF8Vh9ocE0Uaj8xf-m6ivKQYv_4gEsKs6XEjKBN0khfZGOvv1qQJ4iBn-fVtOqPUpv1ypcOskGZhVHo200ZjvPalbemV-51D45k1KZcE_K9qiYK8Y1vX_lzRDSaQI30PACuQc-VpB-WcCMAtVEEuo0paL2fw

Успешный ответ⚓︎

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
28
29
[
  {
    "nnt": 109398,
    "actionId": 10856,
    "groupId": 2,
    "bonusGrnt": 6.8,
    "bonusMin": 13.6,
    "bonusMid": 6.8,
    "bonusMax": 13.6
  },
  {
    "nnt": 110042,
    "actionId": 10856,
    "groupId": 2,
    "bonusGrnt": 6.8,
    "bonusMin": 13.6,
    "bonusMid": 6.8,
    "bonusMax": 13.6
  },
  {
    "nnt": 111745,
    "actionId": 10856,
    "groupId": 2,
    "bonusGrnt": 6.8,
    "bonusMin": 13.6,
    "bonusMid": 6.8,
    "bonusMax": 13.6
  }
]
Имя Тип Описание
nnt int Уникальный код товара АСНА
actionId int Уникальный код мероприятия
groupId int Группа товара ( 1 - Группа 1, 2 - Группа 2, 3 - Группа 3 УСТМ)
bonusGrnt decimal Бонус 1. Гарантированный
bonusMin decimal Бонус 2. Минимальный
bonusMid decimal Бонус 3. Средний
bonusMax decimal Бонус 4. Максимальный

Неуспешный ответ⚓︎

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

Комментарии

Back to top