Napojenie Magenta na ERP, sklad a účtovníctvo
Deedspan prenáša objednávky, stav skladu, ceny a produkty medzi Magentom a vašimi ďalšími systémami. Každá integrácia je súbor YAML vo vašom git repozitári.
Váš e-shop
Vaša inštalácia
deedspan
- Prevedie dáta do spoločného modelu
- Vyberie len to, čo sa zmenilo
- Posiela po dávkach, pri chybe to skúsi znova
- Pri každom zázname uloží výsledok
Nastavenie integrácií máte vo svojom git repozitári.
Vaše systémy
- Zákazník vytvorí v Magente objednávku #1042.
- Deedspan ju prevedie a pošle do ERP.
- Číslo dokladu z ERP sa prepíše späť do objednávky.
- Zo skladu príde nový stav pri TENT-200.
- Pri BOOT-42 sa nič nezmenilo, takže sa nič neposiela.
Príklady
Integrácie, s ktorými e-shopy na Magente zvyčajne začínajú.
| Integrácia | Odkiaľ kam | Čo robí |
|---|---|---|
| Objednávky | Magento → ERP | Zaplatené objednávky založí v ERP. Číslo dokladu sa vráti do objednávky. |
| Sklad | ERP → Magento | Každých 15 minút, len zmenené množstvá, pre každý zdroj MSI. |
| Ceny | ERP → Magento | Základné, akciové a množstevné ceny pre jednotlivé store view. |
| Katalóg | ERP alebo PIM → Magento | Jednoduché a konfigurovateľné produkty, kategórie a súvisiaci tovar. |
| Faktúry | Magento → Fakturoid | Faktúry, opravné doklady a dobropisy. |
| Zásielky | sklad → Magento | Doplní do objednávky zásielku a sledovacie číslo. |
Spoločný dátový model a konektory
Každý systém napojíte raz na spoločný model a potom ho môžu využiť všetky integrácie.
E-shopy
ERP a účtovníctvo
Spoločný dátový model
Dáta nezávislé od e-shopu, doplnené o vaše vlastné polia.
Sklady a dopravcovia
sklad, zásielky, sledovanie
PIM a feedy
produktové dáta dnu, feedy von
CRM a marketing
zákazníci a objednávky
- Prenos dát
- REST, SOAP, SFTP, FTP, MS SQL a ďalšie databázy, webhooky, e-mail, S3
- Formáty
- CSV v akomkoľvek kódovaní, XML, JSON, JSON lines, pevná šírka stĺpcov
- Konektory
- Magento (jadro); Pohoda, Helios, Fakturoid (doplnky); vlastné v YAML
- Úpravy na mieru
- Mapovanie v YAML, potom výrazy ako
lookup(), nakoniec PHP hooky
Ukážka integrácie
Celý prenos skladu z ERP do Magenta v jednom súbore.
flows/stock-from-erp.yaml
flow: stock-from-erp
owner: erp
record: stock_level
1triggers:
schedule: "*/15 * * * *"
2source:
transport: sftp
connection: erp-ftp
path: /export/stock_*.csv
format: { type: csv, delimiter: ";" }
3map:
sku: "trim(row['sku'])"
location: "lookup('warehouses', row['warehouse'])"
quantity: "max(0, int(row['qty']))"
4hooks:
before_send: Acme\Hooks\MergeConsignmentStock
5target:
connector: magento
operation: stock.update
connection: shop
locations: { main: default, east: east }
6rules:
unknown_references: fail
max_change_share: 0.3
- 1
Spustenie
Podľa cronu. Ďalšie tri možnosti nájdete nižšie.
- 2
Zdroj
CSV na SFTP. Môže to byť aj REST API, SQL dopyt alebo dáta z webhooku.
- 3
Mapovanie
Jeden výraz na pole.
lookup()číta prevodovú tabuľku v CSV. - 4
Hook
PHP na to, čo výrazy nezvládnu.
- 5
Cieľ
stock.updatezapisuje sklad do Magenta (MSI). - 6
Pravidlá
Mení sa viac ako 30 % položiek? Prenos počká na schválenie.
Ako to funguje
Kedy sa synchronizácia spustí
- Podľa plánu
- Cron, napríklad každých 15 minút.
- Signál z e-shopu
- Modul v Magente ohlási, ktoré objednávky alebo produkty sa zmenili.
- Webhook
- Iný systém zavolá podpísaný
POST /webhooks/<name>. Pre istotu nechajte bežať aj pomalý plán. - Ručne
- Z príkazového riadka alebo cez API, naprázdno alebo ako opakovanie.
Pri každej zmene
- Kontrola
deedspan:flow:validateskontroluje nastavenie.- Skúška naprázdno
deedspan:flow:dry-runukáže, čo by sa zapísalo.- Nasadenie
- Najprv na staging, potom ten istý image na produkciu.
- Spracovanie
- Po dávkach 1 000 záznamov, posielajú sa len zmeny.
Monitoring a chyby
- Každý záznam
- Zapísané, bez zmeny, preskočené, chyba alebo zmazané, aj s chybovým hlásením.
- Dáta
- Uchovávajú sa 30 dní, história a výsledky zostávajú.
- Zoznam chýb
- Znova odošlete jeden záznam alebo celú synchronizáciu.
- Upozornenia
- E-mailom alebo webhookom, keď synchronizácia zlyhá, čaká na schválenie alebo sa prestane spúšťať.
- Administrácia Magenta
- Pri objednávke stav exportu a tlačidlo na opakovanie.
- Telemetria
- JSON logy, OpenTelemetry, heartbeaty, Sentry SDK.
stderr, jeden riadok JSON na udalosť
{
"level_name": "WARNING",
"message": "Record failed.",
"context": { "event": "record.failed" },
"extra": {
"run_id": "01a1d668-1076-746d-9a19",
"flow": "stock-from-erp",
"stage": "send",
"chunk": 3,
"record_key": "STOVE-9|east"
}
}
Licencia
Zdrojový kód máte k dispozícii a zostane vám (licencia FSL-1.1-MIT).
- Každá verziaFSL-1.1-MIT
Môžete ju používať, upravovať a prevádzkovať sami. Len ju nesmiete ponúkať ako konkurenčnú hostovanú službu.
- Po dvoch rokochMIT
Verzia prejde pod licenciu MIT, a to natrvalo.
- Keď od nás odídeteZostane vám
Inštalácia ďalej beží a zdrojový kód jadra aj doplnkov máte u seba.
Ako začať
Kostra projektu obsahuje ukážkovú integráciu, prevodovú tabuľku a vzorový súbor.
terminál
$ composer create-project deedhold/deedspan-skeleton acme-integrations
$ docker compose up -d
$ bin/console deedspan:flow:validate
Record types: category, price, product, stock_level
Connectors: magento
Flows: stock-from-erp
$ bin/console deedspan:flow:dry-run stock-from-erp samples/stock.csv
TENT-200|main: sku=TENT-200, location=main, quantity=15
BOOT-42|east: sku=BOOT-42, location=east, quantity=3
$ bin/console deedspan:flow:run stock-from-erp --sync
Run 01a1d5f1 completed: written 2, unchanged 0, skipped 0, failed 0.
Časté otázky
Čo je Deedspan?
Deedspan je integračný framework pre e-shopy na Magente. Prenáša objednávky, stav skladu, ceny, produkty a doklady medzi e-shopom a ERP, skladom alebo účtovníctvom. Každá integrácia je súbor YAML v git repozitári obchodníka.
Je Deedspan open source?
Nie. Zdrojový kód Deedspanu je k dispozícii pod licenciou FSL-1.1-MIT (source-available). Môžete ho používať, upravovať a prevádzkovať sami, len ho nesmiete ponúkať ako konkurenčnú hostovanú službu. Dva roky po vydaní prejde každá verzia aj pod licenciu MIT.
Aké systémy Deedspan prepojí?
Akýkoľvek systém, ktorý si vymieňa dáta cez REST, SOAP, súbory na SFTP alebo FTP, databázy typu MS SQL, webhooky, e-mail alebo S3. Magento je priamo v jadre, pre Pohodu, Helios a Fakturoid sú doplnkové konektory.
Funguje Deedspan s Pohodou, Heliosom a Fakturoidom?
Áno. Každý má vlastný doplnkový konektor: Pohoda cez XML doklady, Helios cez MS SQL a Fakturoid cez REST API. Napojiť ich ide aj všeobecnými prostriedkami jadra, konektor len ušetrí prácu s mapovaním.
Môže synchronizáciu spustiť webhook, alebo len cron?
Môže. Synchronizáciu spustí plán (cron), signál z modulu v Magente, podpísaný webhook z iného systému, alebo ju spustíte ručne. K webhooku nechajte bežať aj pomalý plán, lebo webhook sa môže stratiť.
Potrebujem na Deedspan programátora?
Väčšinou nie. Integrácia je hlavne mapovanie a prevodové tabuľky v YAML a skúška naprázdno na vzorovom súbore ukáže výsledok skôr, než sa čokoľvek odošle. PHP programátora potrebujete len na hooky a nové konektory.
Kde Deedspan beží?
Na linuxovom serveri vedľa vášho e-shopu, ako jeden projekt v Docker Compose s aplikáciou, MariaDB a RabbitMQ. Každý obchodník má vlastnú inštaláciu. Hostovať ju môžete sami, alebo to zariadi Deedhold.
Čo ak s Deedholdom prestanem spolupracovať?
Inštalácia pobeží ďalej. Nastavenie integrácií aj hooky máte vo svojom git repozitári, export k nim pridá zálohu databázy a archív súborov a zdrojový kód doplnkov vám zostane. Skončia len aktualizácie.
Čím sa Deedspan líši od iPaaS alebo jednoúčelového pluginu?
Plugin prepojí dva konkrétne systémy. iPaaS beží na zdieľanej platforme a často sa platí podľa objemu dát. Deedspan napojí každý systém raz na spoločný model, beží ako vaša vlastná inštalácia a za objem sa v ňom neplatí.
Ako Deedspan bráni duplicitným objednávkam a chybám v sklade?
Každý záznam má kľúč, napríklad číslo objednávky, a podľa neho sa nič nezapíše dvakrát. Posiela sa len to, čo sa zmenilo, takže dvakrát poslaný súbor ani opakovaný pokus nezaloží druhú objednávku ani nepohne skladom dvakrát.
Ako zistím, čo sa stalo s konkrétnou objednávkou?
Pozrite sa na výsledok jej záznamu. Pri každom zázname sa ukladá, či sa zapísal, nezmenil, preskočil, zmazal, alebo skončil chybou, a pri chybe aj prečo. Dáta sa uchovávajú 30 dní a neúspešný záznam môžete poslať znova.
Koľko Deedspan stojí?
Samotné jadro je zadarmo. Správa od Deedholdu je pevný mesačný poplatok za každý napojený systém a zahŕňa integrácie, hosting, monitoring aj priebežné úpravy. Za objem dát sa neplatí a zavedenie nacenime pevnou cenou.
Integrácie vám nastavíme a postaráme sa o prevádzku
Pevný mesačný poplatok za každý napojený systém, žiadne poplatky za objem dát. Kód zostáva vám.