Левон Оганесян › nemesiswebp Сбер ID
Full-stack: Laravel, Vue, Telegram-боты, Mini Apps и AI
Рейтинг
5 441
№ 279 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Опыт работы
6 лет
На сайте с
2022 года
Юридический статус
Частное лицо

Интеграция интернет-магазина (WooCommerce, Shopify) с МойСклад и Xero: заказы, оплаты, остатки и цены с журналом и повторами

Используемые навыки Next.js Node.js Typescript Интеграция API Интернет магазин

Описание

Собственный продукт. Задача: связать интернет-магазин с учётной системой так, чтобы менеджер больше не переносил заказы руками. Заказы должны сами создаваться в МойСклад или Xero вместе с клиентом, скидками, НДС и доставкой, оплаты отмечаться в учёте, а остатки и цены возвращаться в магазин. Главное требование: интеграция не должна молча терять заказы и плодить дубли.

Решение

Сделал сервис на NestJS с очередями BullMQ и панелью на Next.js. Четыре коннектора работают на одном интерфейсе: WooCommerce REST, Shopify GraphQL, МойСклад JSON API 1.2 и Xero с OAuth 2.0 и обновлением токенов. Шесть потоков: заказ, оплата, остатки, цены, новые товары, обновление каталога с автосопоставлением по артикулу и штрихкоду.

Больше всего работы ушло на случаи, когда что-то идёт не так. Каждая операция записана с запросом и ответом (ключи замаскированы), ошибка объяснена обычными словами и подсказывает, что сделать. Дубли отсекаются на трёх уровнях: id доставки вебхука, ключ операции и поиск документа в учёте. При лимитах провайдера задача ждёт и продолжает сама, после нескольких неудач попадает в список ошибок с кнопкой «Повторить» и алертом в Telegram. Если в учёте нет товара, заказ встаёт на паузу: достаточно один раз выбрать пару, и все ждущие заказы уйдут сами. Сверка по расписанию находит заказы, вебхуки которых не дошли.

Результат

- 4 коннектора и 6 потоков данных между магазином и учётом
- Защита от дублей на трёх уровнях и сверка пропущенных вебхуков
- Ограничение частоты запросов под лимиты каждого провайдера
- Панель на 8 экранов: обзор с графиками, живой журнал, ошибки, конфликты, маппинг, подключения, алерты; светлая и тёмная тема, RU/EN
- 130+ тестов, включая сквозной от вебхука до документа в учёте
- Демо без регистрации: встроенный эмулятор API присылает заказы и иногда «падает», поэтому на панели видна живая работа
- Запуск одной командой docker compose up, CI в GitHub Actions

Оценили проект:

Другие проекты

Все проекты →
ИИ и Нейросети Telego: управление проектами в Telegram с AI-ответами по документации
Telego: управление проектами в Telegram с AI-ответами по документации
28
Веб-разработка и IT Telegram Mini Apps с NFT и криптоплатежами на 50 тысяч пользователей
Telegram Mini Apps с NFT и криптоплатежами на 50 тысяч пользователей
26
ИИ и Нейросети Распознавание счетов, накладных и чеков: OCR, 9 проверок, очередь ручной проверки и выгрузка в 1С, Excel, Google Таблицы и Xero
Распознавание счетов, накладных и чеков: OCR, 9 проверок, очередь ручной проверки и выгрузка в 1С, Excel, Google Таблицы и Xero
21
Веб-разработка и IT Multichain dApp на EVM и Solana: подключение кошельков (Reown AppKit), вход по подписи, airdrop-claim без газа и закрытый доступ по токенам
Multichain dApp на EVM и Solana: подключение кошельков (Reown AppKit), вход по подписи, airdrop-claim без газа и закрытый доступ по токенам
13