8.11. Интеграция на Барси с WooCommerce

8.11.1. Въведение

Интеграцията на Барси с WooCommerce позволява да управлявате съдържанието на Вашият онлайн магазин през Барси.

Това включва:
  • Първоначално теглене на каталог(артикули, категории, атрибути) от WooCommerce към Барси

  • Периодично изпращане на каталог(артикули, категории, атрибути) от Барси към WooCommerce

  • Получванане на новосъздадени или променени поръчки от WooCommerce в Барси

  • Получаване на новорегистрирани клиенти от WooCommerce в Барси

Интеграцията се извършва чрез REST API на WooCommerce и не е необходимо активиране на допълнителни плъгини в интерфейса на WooCommerce.

8.11.2. Интеграция

Влизаме в Барси >> Настройки >> Системни >> Отдалечени системи >> Нова отдалечена система

Въвеждаме желаното име, а за протокол се избира “WooCommerce”, желания търговски обект и въвеждаме адреса на магазина в случая от примера http://192.168.77.127 и Запис.

След това влизаме отново в настройките на новосъздадената отдалечена система, кликаме на таб “Още настройки”.

Поле “Домейн на Вашето Барси” е въведено автоматично, ако полето е празно, моля въведете адреса на Вашето Барси. Препоръчително е “Домейн на Вашето Барси” да започва с https://, ако Вашият домейн започва с http:// , моля свържете се с нашият екип Има и други настройки, които могат да бъдат посочени сега или в последствие. Запишете отново и влезте пак в настройките.

Автоматична оторизация

Интеграцията на Барси и WooCommerce поддържа автоматична оторизация, ако Вашето Барси използва протокол https

След като “Домейн на Вашето Барси” е въведен можем да натиснем бутона “Конфигуриране”.

Натиснете Click here на отворилия се прозорец.

Ще бъдете препратен във Вашият онлайн магазин за да одобрите операцията.

След това ще бъдете пренасочен отново във Вашето Барси.

Ако оторизацията е преминала успешно във настройките на отдалечената система трябва да са се запълнили тези полета: “Потребителски ключ” и “Секретен ключ”

Ръчна оторизация

Ако Вашето Барси е с протокол http или искате интеграцията да е назначена на точно определен WooCommerce потребител можете да конфигурирате ръчно оторизацията в WooCommerce.

Влизате в административния панел на Вашия WordPress сайт, след това в меню WooCommerce >> Settings >> таб Advanced >> таб REST API >> Add key

Въвежда се име/описание на интеграцията, избира се потребител и права (“Четене”, “Писане”, “Четене/Писане”) и се натиска Generate API key

Биват генерирани Consumer key и Consumer secret, които трябва да бъдат копирани в кореспондиращите полета в Барси интерфейса за създаване на интеграция с WooCommerce (Още настройки).

След като напуснете тази страница няма да имате достъп отново до Consumer key и Consumer secret затова е препоръчително да ги копирате на момента. Имайте предвид, че това е чувствителна информация и ако друг разполага с Вашите Consumer key и Consumer secret би могъл да има достъп до Вашият магазин.

След като връзката с WooCommerce магазина е оторизирана, можете да настройте Webhook-овете, чрез тях ще получавате новосъздадени или обновени сметки, или клиенти. За целта натиснете бутона, “Създаване” срещу поле “Създаване на webhook-ове”. При успешно създаване ще получите следното съобщение:

Ако автоматичното създаване на webhook-ове не сработи можете да създадете такива през WooCommerce

Влизате в административния панел на Вашия WordPress сайт, след това в меню WooCommerce >> Settings >> таб Advanced >> таб Webhooks.

Тук трябва да бъдат въведени 6 записа за всички действия, които искаме да бъдат изпратени към Барси от WooCommerce:
  • Създаване на сметка (order.created)

  • Редактиране на сметка (order.updated)

  • Изтриване/канселиране на сметка (order.deleted)

  • Създаване на клиент (customer.created)

  • Редактиране на клиент (customer.updated)

  • Изтриване на клиент (customer.deleted)

Важно е да бъде формиран Delivery URL, това е адресът във Вашето Барси, които ще приема изпратената информация. Формира се по следния начин : <адресът на Вашето Барси> + /endpoints/json/Remotesystems_receive?remote_id= + id на отдалечената система в Барси id на отдалечената система в Барси можете да видите в първата колона на страницата с всички отдалечени системи или в горния десен ъгъл при “редактиране на отдалечена система

в примера id-то е 6, съответно Delivery URL ще е https://demo.mitko.office.lukanet.com/endpoints/json/Remotesystems_receive?remote_id=6

След като имате формиран Delivery URL можете да преминете към създаване на самите webhook-ове, в WooCommerce натискате Add webhook бутона. Появява се страница със следните полета:

Потвърждаваме с Save webhook.

При създаването на webhook се изпраща тестова информация към посочения Delivery URL, тава позволява да получите обратна връзка дали е формиран правилно (препоръчително е да се ползва https протокол)

Ако след потвърждението видите Webhook updated successfully. значи конфигурирането е минало успешно.

Ако вместо това получите съобщение Error: Delivery URL cannot be reached: A valid URL was not provided. има проблем с адреса за получаване на информация.

Това действие трябва да бъде повторено за всички останали действия описани по-горе. В края на конфигурирането трябва да получите настройки приличащи на тези:

Допълнителни настройки на WooCommerce интеграцията

Описание:
  • Списък Търговски обекти: Тази настройка е необходима, ако възнамерявате да приемате поръчки от WooCommerce чрез webhook. Във всеки маркиран търговски обект ще бъде създадена служебна каса, която е необходима за приемане на поръчки там. По подразбиране поръчката ще бъде изпратена към основния търговски обект за интеграцията, затова е необходимо да има отметка за него. Има възможност WooCommerce да определя към кой ТО да разпредели дадена поръчка. За целта е нужно в мета данните на поръчката да се добави key-value pair, като key = “for_barsy”, а value е равно на ID на търговския обект по номенклатурата на Барси. Имайте предвид, че маркирането на всеки ТО в тази настройка ще създаде нова служебна каса и трябва да предвидите това в лиценза си.

  • Изпращане на SKU код към артикулите: Тази настройка определя дали искате SKU (Stock Keeping Unit) код да бъде генериран в WooCommerce. Опциите предлагат да бъде генериран SKU за всички артикули при експорт или само за тези, които нямат такъв в WooCommerce. Ако сте направили първоначален импорт от Woo и импортираните артикули са имали SKU, информацията от Барси няма да пренаписва техния SKU. Изпращането на SKU код е добра практика, защото предотвратява нежелано дублиране на артикули в WooCommerce, създадени при потенциални неуспешни или недовършени експорти. Ако при опит за създаване на продукт, интеграцията срещне продукт със съществуващ SKU и имената на съществуващия и новосъздавания продукт съвпадат, ще бъде направена връзка между тях. Генерирането на SKU става като b + <id на артикул>. Интеграцията поддържа възможността да бъдат интегрирани няколко търговски обекта от Барси в WooCommerce, поддържащ multivendor module. Ако искате да се възползвате от такъв тип интеграция, трябва да настроите системата да не изпраща SKU код.

  • Стартова категория за синхронизацията: Тук можете да зададете коя или кои категории да бъдат синхронизирани с WooCommerce магазина Ви. Това е подходящ способ, ако желаете само част от артикулите Ви да бъдат видими в WooCommerce. Маркирането на стартова категория е задължително, ако желаете целият каталог да бъде експортиран. Погрижете се да го преместите в една главна категория. Маркираната с отметка категория, всички нейни подкатегории и артикулите в тях ще бъдат включени в бъдещ експорт. Ако артикул или подкатегория бъдат преместени/извадени от стартовата категория, при следващия експорт ще бъде изпратена команда за изтриване на въпросните подкатегории и артикули. Ако стартовата категория бъде сменена, при експорт ще бъде изпратена команда за изтриване на всичко от старата стартова категория (самата категория, подкатегории и артикули), и ще бъдат създадени категориите и артикулите от новата стартова категория.

  • Payment methods: Под “Стартова категория за синхронизацията” следват нефиксиран брой полета, свързани с начините на разплащане. Броят на полетата зависи от броя начини на разплащане, които сте активирали в WooCommerce. Целта на тези настройки е да синхронизирате начините на плащане от WooCommerce и Барси. Нови начини за разплащане могат да бъдат добавяни в WooCommerce, като активирате съответните плъгини.

  • Зареждане на артикули: Зареждането на артикули трябва да бъде ИЗКЛЮЧЕНО! WooCommerce интеграцията работи на принципа на експорт от Барси към WooCommerce (с опция за еднократен първоначален импорт).

  • Изпращане на артикули: Изпращането на артикули активира експорт от Барси към WooCommerce, като опциите на настройката определят честотата на експортите. Уверете се, че сте конфигурирали всичко по настройките на отдалечената система преди да пуснете тази опция.

  • Как да бъдат записвани поръчките от отдалечения обект: Тази настройка е нужна, ако имате конфигуриран webhook за приемане на поръчки от отдалечения обект. Ако бизнесът Ви налага по-бързо обработваеми поръчки, по които няма да бъдат правени редакции и не изискват потвърждение, като в хранителен обект например, можете да изберете новите поръчки да се записват директно като финализирани поръчки. Ако желаете да имате повече контрол над поръчаното, да проверите наличност, да верифицирате поръчката, по-добрият вариант за Вас е “запис като клиентска заявка”, което след преглед можете да направите в сметка.

  • Изпращане на наличности: Тук има множество опции - изберете тази, която най-добре отговаря на Вашия бизнес модел.

  • Първоначален импорт на каталог: Първоначалният импорт предлага възможността, ако имате съществуващ WooCommerce търговски обект и празно Барси, ЕДНОКРАТНО да импортирате продуктите си от Woo в Барси. Тази опция не извършва “напасване” на съществуващи продукти/артикули в двете системи. Ако имате смислово еднакъв артикул и в двете системи, и направите първоначален импорт от Woo, между двата продукта няма да се създаде връзка, а ще бъде създаден втори (дублиращ се) артикул в Барси. Ако имената са идентични, това ще причини грешка, защото имената в Барси трябва да са уникални за всеки каталог. За успешната автономна интеграция е необходимо или Вашето Барси, или WooCommerce обектът Ви да е празен. Въпреки това има възможност за ръчно напасване на артикулите и категориите, ако имате съществуващи номенклатури в Барси и Woo, погледнете раздел “Настройки по артикул”.

  • Група складове: Тази настройка също е свързана с наличностите. Тя се взема под внимание само ако на горната настройка сте задали опция “Изпращай общите наличности за всички търговски обекти”. Чрез нея можете да изберете от кои складове да се изпращат наличностите към WooCommerce. Така можете да създадете специализиран склад за онлайн магазина си или да изключите склад от изпращане на наличности.

  • Синхронизиране на плащания от отдалечени сметки: Ако дадете отметка на тази настройка, извършеното плащане (потвърдено) в WooCommerce ще бъде прехвърлено/създадено и в Барси. Това действие може да бъде настроено като индикация сметката да премине в статус “За обслужване”.

  • Изпращане на категории: По подразбиране тази настройка е маркирана, което означава, че категориите от Барси ще бъдат изпращани към WooCommerce. Ако не желаете категориите да бъдат изпратени, трябва да махнете отметката още преди първото включване на “Изпращане на артикули”. Ако категориите веднъж бъдат изпратени и след това махнете настройката, това няма да ги изтрие в WooCommerce. Имайте предвид, че дори да не изпращате категории към WooCommerce, “стартовата категория” отново ще оказва влияние какво да се изпраща.

  • Какво да се обновява - Тук можете да зададете коя информация да бъде обновявана в продуктите Ви в WooCommerce. Например, ако искате описанието в Barsy и WooCommerce да се различават, можете да въведете описание в WooCommerce и да бъдете спокойни, че информацията от Barsy няма да презапише тази в WooCommerce при актуализация на артикула/продукта.

  • Изпращай като чернови - Ако сложите отметка тук, всички експортирани артикули ще се създадат като чернови, т.е. няма да бъдат видими за крайните клиенти. Ако отметката не е поставена, артикулите ще се въведат като публични. Имайте предвид, че ако бизнес логиката Ви е продуктите да се създават като чернови, но впоследствие ръчно да ги редактирате на публични в WooCommerce, трябва да махнете отметката на опцията “Какво да се обновява” - Статус. В противен случай, при всяка редакция на артикула, той ще бъде върнат в статус “чернова”, дори и продуктите, които вече сте направили публични.

  • Обнови синхронизирания каталог - Интеграцията работи като периодично проверява кои вече интегрирани артикули са претърпели промени и изпраща само тях. Това е оптимален начин за предотвратяване на излишни заявки. Ако обаче бъде променена генерална настройка на интеграцията, това не води до автоматична промяна в артикулите, и промените няма да се отразят. Затова този бутон симулира промяна във всички артикули и категории, които вече са интегрирани. Имайте предвид, че подобно обновление може да отнеме часове, дори и дни, в зависимост от големината на каталога Ви. Затова използвайте обновлението само при необходимост.

Ръчно напасване на артикули и категории

Както беше споменато по-горе, ако имате вече съществуващ каталог в Барси и WooCommerce, в този таб можете да “напаснете” смислово еднаквите артикули и категории. Операцията се изразява в свързването на ID-та от номенклатурата на Барси с кореспондиращи ID-та от номенклатурата на WooCommerce. Имайте предвид, че подобна операция носи голям риск от грешки, особено ако каталогът Ви е обемен. Грешно свързани ID-та могат да доведат до нежелано изтриване на продукти или информация, съдържаща се в тях. Ако имате възможност, изчистете WooCommerce каталога си и вземете цялата съществуваща информация от Барси.

  • Таб “Настройки по артикул” - В този таб можете да видите връзките между Barsy-ID и ID в отдалечената система. Ако желаете да създадете нова връзка, натиснете бутона “Нов ред”. В колоната “Артикули” въведете името на Барси артикула. След като го маркирате, Barsy ID-то му ще се въведе отдясно и остава да въведете ID-то му в WooCommerce в “ID в отдалечената система”. Можете да създадете множество редове по този начин, но не забравяйте да натиснете “Запис” след въвеждането. От този прозорец можете също да изтривате връзки. Между колоните Barsy-ID и ID в отдалечената система има бутон с кошче; ако го натиснете и след това натиснете “Запис”, връзката ще бъде изтрита. Това е специфично действие, което не бива да се прави при нормално работеща система. Не го правете без да сте се консултирали с екипа ни.

  • Таб “Настройки по категория” - Този таб наподобява предходния, с разликата, че тук би трябвало да се визуализират всички категории, дори ако нямат връзки. Това елиминира необходимостта да се натиска бутон “Нов ред” и да се въвежда име, тъй като всички категории ще бъдат показани на екрана Ви. Работата по създаване и изтриване на връзка е идентична.

Имайте предвид, че “напасването” трябва да се извърши преди пускането на “Изпращане на артикули”. Също така, артикулите, които ще “напасвате”, трябва да са категоризирани със стартовата категория или нейна подкатегория. В противен случай те ще бъдат изтрити. Вариационни артикули не могат да бъдат ръчно напасвани на този етап.

Добри практики

Триене на продукти, принадлежащи на интеграцията, директно в WooCommerce не бива да бъде правено - това ще доведе до грешки. Правилният начин на работа е да създадете категория, предназначена за интеграцията, и да я маркирате като стартова категория. Тя може да съдържа в себе си структура от категории или не. Ако добавите артикул във въпросната категория, той ще се изпрати към Woo, ако го махнете от категорията, той ще се изтрие оттам. Ако смените стартовата категория със друга, всички категории и артикули, които не влизат в новата стартова категория, ще бъдат изтрити от Woo и съответно всички нови ще се създадат.

Ако искате да създадете вариационни артикули, то в Барси създавате група атрибути (Настройки >> Артикули >> Групи Атрибути), присвоявате ги на артикула и избирате опциите, които искате да има. Това ще създаде също вариационен артикул в Woo с идентични вариации като в Барси.

Интеграцията позволява “козметични” промени на продуктите директно в Woo, но не и структурни такива.

Поръчки от Woo могат да бъдат приемани само ако в тях фигурират правилно интегрирани продукти.

Изпращане на снимки от Барси към WooCommerce

За да бъдат изпращани снимките на артикулите Ви при експорт към WooCommerce е нужна оторизация към WordPress API. Тази оторизация става на базата на потребител и специфична парола, създадена конкретно за тази цел, наречена Application Password. За да създадете такава парола, трябва задължително Вашият WooCommerce да използва https протокол.

Потребителското име и паролата трябва да бъдат записани в Отдалечени системи>>Още настройки полета “Потребителско име в WordPress” и “Специална парола за API достъп (Application Password)”.

Оторизация към WordPress

В административната страница на WordPress (/wp-admin/) влизате в меню Users. Тук можете да създадете нов или да ползвате съществуващ потребител.

За да може този потребител да качва изображения, неговата роля трябва да е една от изброените: Administrator, Editor, или Author. Влизате в редакция на избрания от Вас потребител и ще видите бутон Add New Application Password. Задайте избрано име в New Application Password Name и натиснете бутона.

Натискането му ще генерира нова парола.

Сега е моментът, в който трябва да въведете потребителското име и новата парола в полетата “Потребителско име в WordPress” и “Специална парола за API достъп (Application Password)” в настройките на Барси натиснете запис.

Имайте предвид, че ако затворите прозореца с новата Application Password, тя НЕ МОЖЕ ДА БЪДЕ ПОКАЗАНА ПОВЕЧЕ. Ако не успеете да я запишете, трябва да създадете нова. Важно е също да знаете, че това НЕ Е ПАРОЛА ЗА АДМИНИСТРАТИВЕН ДОСТЪП до Вашия WooCommerce сайт, т.е. не можете да се логнете с тази парола.