Мой склад

Первый в России облачный сервис управления торговлей и складом с любого компьютера, в любое время.

Как подключить бота к “Мой склад”

Для подключения бота перейдите в раздел "Интеграции с CRM" на сайте Salebot.pro и введите данные учетной записи “Мой склад” после нажатия кнопки “Подключить”.

Как получить список товаров из “Мой склад”

Для получения списка товаров используйте метод moysklad_get_goods(filter, category), где

Для сохранения и обработки ответа присвойте функцию переменной. Без применения фильтра функция вернет список всех товаров, даже тех, что сейчас отсутствуют в наличии.

Если выдается более 10 товаров, то список товаров не сформируется и в переменную будет помещен текст 'слишком много товаров, попробуйте дополнительные параметры фильтрации'.

Пример: filter = '{"pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/", "stockMode":"positiveOnly"}' goods=moysklad_get_goods(filter, 'до 25м2')

Для выдачи всех товаров в неотфильтрованном виде просто не передавайте параметры в скобках: goods=moysklad_get_goods()

Пока в списке более одного товара, список будет иметь такой вид (список сокращен для наглядности): [{"id":"0659532e-fb95-11ec-0a80-0fc700665ca0","name":"Royal Clima CO-4C 36HNX/CO-E 36HNX","stock":"0.0","price":"125890.0","group":"2b13a923-f84c-11ec-0a80-0ebc000022d2"},{"id":"0661ce87-fb95-11ec-0a80-0fc700665ca5","name":"Royal Clima ES-D 60HWX/ES-E 60HX","stock":"1.0","price":"162290.0","group":"2b13a923-f84c-11ec-0a80-0ebc000022d2"}]

Данные по товарам из этого списка можно фильтровать. Для удобства условие фильтра лучше сохранить в переменную.

Если применить 2 условия фильтрации данных, то запись фильтра имеет следующий вид: filter = '{"stockMode":"positiveOnly", "id":"06d58c3a-fb95-11ec-0a80-0fc700665cf3"}' В частности, представленный пример демонстрирует работу фильтра по конкретному id товара и положительным остатком этого товара на складе. Если товар с указанным id закончился на складе, метод вернет текст 'нет подходящих товаров'.

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

Есть возможность фильтрации данных по 3 параметрам:

  1. id – фильтрация по id. Передаете id товара и получаете более подробную информацию по товару

  2. stockMode – фильтрация по остаткам товара на складе, может принимать ограниченный список значений: - 'all' – любое значение остатка; - 'positiveOnly' – положительный остаток, - 'negativeOnly' – отрицательный остаток, - 'empty' – нулевой остаток, - 'nonEmpty' – ненулевой остаток, - 'underMinimum' – остаток ниже неснижаемого значения

  3. group – параметр для фильтрации по отделу, в качестве значения передайте id отдела. В списке товаров под ключом "group"

  4. name – параметр для фильтрации по имени товара

  5. pathname – параметр для фильтрации по пути (обычно этот путь используют для распределения товаров на множество подгрупп)

Если в результате применения фильтра будет найден один товар, то более подробная информация о нем будет выглядеть следующим образом: {"id":"06d58c3a-fb95-11ec-0a80-0fc700665cf3","name":"Hisense AS-13UW4RYDTV03","description":"Уровень шума внутреннего блока : 23 дБ\nМощность в режиме охлаждения : 3,75 кВт\nПотребляемая мощность при охлаждении : 1,168 кВт\nПотребляемая мощность при обогреве : 1,168 кВт\nГабариты внутреннего блока (ШхВхГ) x27x21 См – 8 кг\n\nОсобенности и преимущества:\n\n3D ULTRA HI DENSITY фильтр - фильтр, произведенный по новейшей технологии, и обладающий мельчайшим сечением ячеек, что делает очистку воздуха более тщательной. Фильтр является многоразовым, а значит не требует от вас дополнительных расходов по его замене\nУправление подачей воздуха возможно в 4-ёх направлениях, что существенно повышает удобство и комфортность использования кондиционера\nФотокаталитический фильтр способен эффективно окислять и разрушать молекулы химических соединений, запахов, а также вирусы, бактерии, споры грибов, другие загрязнители органического происхождения. Важной особенностью данного фильтра является возможность восстанавливать эффективность работы после 3-4 месяцев эксплуатации: достаточно положить его под прямые солнечные лучи на 6-8 часов\nБлагодаря мультискоростным вентиляторам, установленным во внутренних блоках кондиционеров Hisense, пользователю дана возможность настроить максимально комфортную скорость потока воздуха\nВ выключенном состоянии дисплей становится незаметным, делая внешний вид передней панели внутреннего блока современнее и более стильным\nNEGATIVE ION фильтр вырабатывает отрицательно заряженные ионы, которые помимо положительного воздействия на организм, активно участвуют в процессе очистки воздуха. *отсутствует в 18, 24 моделях. Передают заряд пылинкам, которые начинают притягиваться друг к другу и образовывать более крупные частицы, которые улавливаются различными фильтрами.\nSILVER-ION FIN: покрытие теплообменника внутреннего блока препятствует образованию плесени и уничтожает опасные бактерии, такие как стафилококки и кишечные палочки\nДля снижения уровня шума наружного все инверторные кондиционеры Hisense имеют встроенную двойную шумоизоляцию компрессора\nДля предотвращения промерзания помещения используется режим «Дежурный обогрев» +8 °С\nВ случае утечки хладагента кондиционер сообщит об этом, что позволит предотвратить выход из строя компрессора\nКондиционер с трехступенчатой очисткой воздуха с инвертором китайского бренда Hisense отличается бесшумной работой, небольшим потреблением электроэнергии, стильным дизайном и высокой производительностью. Пульт управления в комплекте позволяет дистанционно настроить желаемую температуру, выбрать функцию или управлять положением жалюзи.","price":"4579000.0","stock":"3.0", "group":"2b13a923-f84c-11ec-0a80-0ebc000022d2"}

Большую часть в данном примере составляет поле description, в котором содержится подробное описание товара из базы.

Как превратить список товаров в читаемый человеком текст

Для этого используйте функцию moysklad_humanize_goods_list(goods, keys), где

moysklad_choose_goods_fields(goods, '["name", "stock", "Цена продажи"]')

В переменной goods был такой список товаров: [{"id":"a9208e55-7cd9-11eb-0a80-09a2000959a2","name":"Energolux SAS09BN1-AI/SAU09BN1-AI","stock":"2.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Energolux/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":62900.0},{"id":"88903fc9-ef9e-11eb-0a80-0130000d3154","name":"Energolux SAS09BN1-AI/SAU09BN1-AI-LE","stock":"2.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Energolux/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":62900.0},{"id":"a458e178-aa8f-11ec-0a80-0060000b0b12","name":"Hitachi RAK-25RXE/RAC-25WXEN","stock":"20.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Hitachi/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":140500.0},{"id":"10278c14-a06a-11ec-0a80-01a0000e37ee","name":"Hisense AS-09HR4SYDDJ3","stock":"20.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Hisense/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":34090.0},{"id":"68919e4d-cf52-11ec-0a80-0d2d00950cfe","name":"Roland RDI-WZ09HSS/N1","stock":"20.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Roland/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":38790.0},{"id":"61f29fbe-88ad-11eb-0a80-01270006e59d","name":"Cooper&Hunter CH-S09FTXLA-NG WI-FI","stock":"1.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Cooper&Hunter/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":60000.0},{"id":"57b3ecfd-8ff5-11ec-0a80-0df90015ffb7","name":"Cooper&Hunter CH-S09FTXLA-NG WI-FI","stock":"1.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Cooper&Hunter/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":60000.0},{"id":"61f5c69f-784b-11ec-0a80-030c0054d205","name":"Hisense AS-09UW4RYDTG05B","stock":"20.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Hisense/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":46590.0},{"id":"f9eb0052-8401-11eb-0a80-0581001185c3","name":"Cooper&Hunter CH-S09FTXLA-NG WI-FI","stock":"1.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Cooper&Hunter/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":60000.0},{"id":"9b0d0bf2-7bec-11eb-0a80-06760004dc38","name":"Hisense AS-09UR4SYDDL1(S)","stock":"4.0","pathname":"Климатическое оборудование/Сплит системы/Настенные/Настенные/Hisense/до 25м2","group":"8d414b24-3ff5-11ea-0a80-006b00003e99","Цена продажи":36100.0}] После выполнения в переменную был получен текст для клиента, имеющий вид: Energolux SAS09BN1-AI/SAU09BN1-AI 2.0 62900.0

Energolux SAS09BN1-AI/SAU09BN1-AI-LE 2.0 62900.0

Hitachi RAK-25RXE/RAC-25WXEN 20.0 140500.0

Hisense AS-09HR4SYDDJ3 20.0 34090.0

Roland RDI-WZ09HSS/N1 20.0 38790.0

Cooper&Hunter CH-S09FTXLA-NG WI-FI 1.0 60000.0

Cooper&Hunter CH-S09FTXLA-NG WI-FI 1.0 60000.0

Hisense AS-09UW4RYDTG05B 20.0 46590.0

Cooper&Hunter CH-S09FTXLA-NG WI-FI 1.0 60000.0

Hisense AS-09UR4SYDDL1(S) 4.0 36100.0

Как найти идентификатор организации продавца

Для этого используйте функцию moysklad_get_organizations(). Она вернет словарь, где ключом будет наименование организации, а значением - искомый идентификатор. Функция нужна если одной и той же базой товаров пользуются несколько юридических лиц.

Как добавить фотографию товара из базы “Мой Склад”

Для этого используйте функцию moysklad_get_goods_photo(goods), где goods – это список с данными одного товара (получить такой список можно через функцию moysklad_get_goods при фильтрации по имени товара или id товара)

photo = moysklad_get_goods_photo(goods)

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

Как создать заказ в “Мой склад”

Для создания заказа номер телефона обязателен!

Для создания заказа потребуется телефон клиента в виде строки. Телефон для связи поместите в переменную phone.

Также необходимо создать переменную для сохранения списка товаров, выбранных клиентом для заказа (аналог корзины).

Переменная должна выглядеть следующим образом:

basket = '[{"id":"06d58c3a-fb95-11ec-0a80-0fc700665cf3","name":"Hisense AS-13UW4RYDTV03","quantity":2,"price":45790.0}]'

В данном примере товар под названием Hisense AS-13UW4RYDTV03 заказан в количестве двух штук, цена указана за единицу товара.

Необходимыми являются только 3 параметра, все прочие можно добавить для удобства:

Для добавления нового товара используйте массив с описанной выше структурой, параметры перечисляем через запятую.

После этого можете перейти к оформлению заказа. Для этого используется метод moysklad_make_order(basket, comment, reserve, organization_id, vatEnabled, vatIncluded), где

zakaz=moysklad_make_order(basket, 'заказ клиента из salebot')

При выполнении данного метода будет произведена проверка есть ли id контрагента у клиента, если нет, то есть ли подходящий по коду клиент в базе (код клиента имеет вид salebot_id_{client_id}, где client_id - идентификатор пользователя в salebot). Если нет, то клиент будет создан с использованием имени клиента, телефона и его идентификатора в salebot (для создания кода).

После этого метод сформирует заказ на платформе “Мой склад” с именем заказа ”Заказ от Salebot №{номер сделки в salebot}”.

Клиенту будут созданы следующие переменные сделки: moysklad_user_id – идентификатор пользователя в Мой склад, moysklad_order – идентификатор заказа в Мой склад.

Если результат выполнения поместить в переменную, то в случае успеха, в нее будет помещен текст “order_created”, если сформировать заказ не удалось, то вернется информация об ошибке, а если ошибка возникла при создании клиента (нет необходимых данных), то вернет текст “Не удалось создать клиента”. Если все прошло успешно на сайте сервиса “Мой склад” в разделе продажи, в пункте заказы покупателей появится заказ с указанными ранее товарами и корректно подсчитанной итоговой суммой заказа, а также с комментарием:

Last updated