Napojení Magenta na ERP, sklad a účetnictví
Deedspan přenáší objednávky, stav skladu, ceny a produkty mezi Magentem a vašimi dalšími systémy. Každá integrace je soubor YAML ve vašem git repozitáři.
Váš e-shop
Vaše instalace
deedspan
- Převede data do společného modelu
- Vybere jen to, co se změnilo
- Posílá po dávkách, při chybě to zkusí znovu
- U každého záznamu uloží výsledek
Nastavení integrací máte ve svém git repozitáři.
Vaše systémy
- Zákazník vytvoří v Magentu objednávku #1042.
- Deedspan ji převede a pošle do ERP.
- Číslo dokladu z ERP se propíše zpátky do objednávky.
- Ze skladu přijde nový stav u TENT-200.
- U BOOT-42 se nic nezměnilo, takže se nic neposílá.
Příklady
Integrace, se kterými e-shopy na Magentu obvykle začínají.
| Integrace | Odkud kam | Co dělá |
|---|---|---|
| Objednávky | Magento → ERP | Zaplacené objednávky založí v ERP. Číslo dokladu se vrátí do objednávky. |
| Sklad | ERP → Magento | Každých 15 minut, jen změněná množství, pro každý zdroj MSI. |
| Ceny | ERP → Magento | Základní, akční a množstevní ceny pro jednotlivé store view. |
| Katalog | ERP nebo PIM → Magento | Jednoduché a konfigurovatelné produkty, kategorie a související zboží. |
| Faktury | Magento → Fakturoid | Faktury, opravné doklady a dobropisy. |
| Zásilky | sklad → Magento | Doplní do objednávky zásilku a sledovací číslo. |
Společný datový model a konektory
Každý systém napojíte jednou na společný model a pak ho můžou využít všechny integrace.
E-shopy
ERP a účetnictví
Společný datový model
Data nezávislá na e-shopu, doplněná o vaše vlastní pole.
Sklady a dopravci
sklad, zásilky, sledování
PIM a feedy
produktová data dovnitř, feedy ven
CRM a marketing
zákazníci a objednávky
- Přenos dat
- REST, SOAP, SFTP, FTP, MS SQL a další databáze, webhooky, e-mail, S3
- Formáty
- CSV v jakémkoli kódování, XML, JSON, JSON lines, pevná šířka sloupců
- Konektory
- Magento (jádro); Pohoda, Helios, Fakturoid (doplňky); vlastní v YAML
- Úpravy na míru
- Mapování v YAML, pak výrazy jako
lookup(), nakonec PHP hooky
Ukázka integrace
Celý přenos skladu z ERP do Magenta v jednom souboru.
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
Spuštění
Podle cronu. Další tři možnosti najdete níže.
- 2
Zdroj
CSV na SFTP. Může to být i REST API, SQL dotaz nebo data z webhooku.
- 3
Mapování
Jeden výraz na pole.
lookup()čte převodní tabulku v CSV. - 4
Hook
PHP na to, co výrazy nezvládnou.
- 5
Cíl
stock.updatezapisuje sklad do Magenta (MSI). - 6
Pravidla
Mění se víc než 30 % položek? Přenos počká na schválení.
Jak to funguje
Kdy se synchronizace spustí
- Podle plánu
- Cron, třeba každých 15 minut.
- Signál z e-shopu
- Modul v Magentu ohlásí, které objednávky nebo produkty se změnily.
- Webhook
- Jiný systém zavolá podepsaný
POST /webhooks/<name>. Pro jistotu nechte běžet i pomalý plán. - Ručně
- Z příkazové řádky nebo přes API, nanečisto nebo jako opakování.
Při každé změně
- Kontrola
deedspan:flow:validatezkontroluje nastavení.- Zkouška nanečisto
deedspan:flow:dry-runukáže, co by se zapsalo.- Nasazení
- Nejdřív na staging, pak stejný image na produkci.
- Zpracování
- Po dávkách 1 000 záznamů, posílají se jen změny.
Monitoring a chyby
- Každý záznam
- Zapsáno, beze změny, přeskočeno, chyba nebo smazáno, i s chybovou hláškou.
- Data
- Drží se 30 dní, historie a výsledky zůstávají.
- Seznam chyb
- Znovu odešlete jeden záznam nebo celou synchronizaci.
- Upozornění
- E-mailem nebo webhookem, když synchronizace selže, čeká na schválení nebo se přestane spouštět.
- Administrace Magenta
- U objednávky stav exportu a tlačítko pro opakování.
- Telemetrie
- JSON logy, OpenTelemetry, heartbeaty, Sentry SDK.
stderr, jeden řádek JSON na událost
{
"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"
}
}
Licence
Zdrojový kód máte k dispozici a zůstane vám (licence FSL-1.1-MIT).
- Každá verzeFSL-1.1-MIT
Můžete ji používat, upravovat a provozovat sami. Jen ji nesmíte nabízet jako konkurenční hostovanou službu.
- Po dvou letechMIT
Verze přejde pod licenci MIT, a to natrvalo.
- Když od nás odejdeteZůstane vám
Instalace dál běží a zdrojový kód jádra i doplňků máte u sebe.
Jak začít
Kostra projektu obsahuje ukázkovou integraci, převodní tabulku a vzorový soubor.
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
Co je Deedspan?
Deedspan je integrační framework pro e-shopy na Magentu. Přenáší objednávky, stav skladu, ceny, produkty a doklady mezi e-shopem a ERP, skladem nebo účetnictvím. Každá integrace je soubor YAML v git repozitáři obchodníka.
Je Deedspan open source?
Ne. Zdrojový kód Deedspanu je k dispozici pod licencí FSL-1.1-MIT (source-available). Můžete ho používat, upravovat a provozovat sami, jen ho nesmíte nabízet jako konkurenční hostovanou službu. Dva roky po vydání přejde každá verze i pod licenci MIT.
Jaké systémy Deedspan propojí?
Jakýkoli systém, který si vyměňuje data přes REST, SOAP, soubory na SFTP nebo FTP, databáze typu MS SQL, webhooky, e-mail nebo S3. Magento je přímo v jádru, pro Pohodu, Helios a Fakturoid jsou doplňkové konektory.
Funguje Deedspan s Pohodou, Heliosem a Fakturoidem?
Ano. Každý má vlastní doplňkový konektor: Pohoda přes XML doklady, Helios přes MS SQL a Fakturoid přes REST API. Napojit je jde i obecnými prostředky jádra, konektor jen ušetří práci s mapováním.
Může synchronizaci spustit webhook, nebo jen cron?
Může. Synchronizaci spustí plán (cron), signál z modulu v Magentu, podepsaný webhook z jiného systému, nebo ji spustíte ručně. K webhooku nechte běžet i pomalý plán, protože se webhook může ztratit.
Potřebuji k Deedspanu programátora?
Většinou ne. Integrace je hlavně mapování a převodní tabulky v YAML a zkouška nanečisto na vzorovém souboru ukáže výsledek dřív, než se cokoli odešle. PHP programátora potřebujete jen na hooky a nové konektory.
Kde Deedspan běží?
Na linuxovém serveru vedle vašeho e-shopu, jako jeden projekt v Docker Compose s aplikací, MariaDB a RabbitMQ. Každý obchodník má vlastní instalaci. Hostovat ji můžete sami, nebo to zařídí Deedhold.
Co když s Deedholdem přestanu spolupracovat?
Instalace poběží dál. Nastavení integrací i hooky máte ve svém git repozitáři, export k nim přidá zálohu databáze a archiv souborů a zdrojový kód doplňků vám zůstane. Skončí jen aktualizace.
Čím se Deedspan liší od iPaaS nebo jednoúčelového pluginu?
Plugin propojí dva konkrétní systémy. iPaaS běží na sdílené platformě a často se platí podle objemu dat. Deedspan napojí každý systém jednou na společný model, běží jako vaše vlastní instalace a za objem se v něm neplatí.
Jak Deedspan brání duplicitním objednávkám a chybám ve skladu?
Každý záznam má klíč, třeba číslo objednávky, a podle něj se nic nezapíše dvakrát. Posílá se jen to, co se změnilo, takže dvakrát poslaný soubor ani opakovaný pokus nezaloží druhou objednávku ani nepohne skladem dvakrát.
Jak zjistím, co se stalo s konkrétní objednávkou?
Podívejte se na výsledek jejího záznamu. U každého záznamu se ukládá, jestli se zapsal, nezměnil, přeskočil, smazal, nebo skončil chybou, a u chyby i proč. Data se drží 30 dní a neúspěšný záznam můžete poslat znovu.
Kolik Deedspan stojí?
Samotné jádro je zdarma. Správa od Deedholdu je pevný měsíční poplatek za každý napojený systém a zahrnuje integrace, hosting, monitoring i průběžné úpravy. Za objem dat se neplatí a zavedení naceníme pevnou cenou.
Integrace vám nastavíme a postaráme se o provoz
Pevný měsíční poplatek za každý napojený systém, žádné poplatky za objem dat. Kód zůstává vám.