{"id":2549,"date":"2026-10-23T12:25:11","date_gmt":"2026-10-23T10:25:11","guid":{"rendered":"https:\/\/jsoncrew.com\/?post_type=case_studies&#038;p=2549"},"modified":"2026-10-23T12:32:30","modified_gmt":"2026-10-23T10:32:30","slug":"api-dropshipping-woocommerce-sellasist-producent-listew","status":"publish","type":"case_studies","link":"https:\/\/jsoncrew.com\/de\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/","title":{"rendered":"Dropshipping-API f\u00fcr einen Leistenhersteller: 80 % der Partnerbestellungen ohne manuelles Abtippen"},"content":{"rendered":"\n<style>\n.kdcs-lead{font-size:1.3rem;line-height:1.5;font-weight:500;color:#0B1620;margin:0 0 1.8rem}\n.kdcs-box{margin:2.2rem 0;padding:1.6rem 1.8rem;border-radius:6px}\n.kdcs-box p{margin:0}\n.kdcs-box .kdcs-box-eye{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}\n.kdcs-box--blue{background:#EEF1FB;border-left:4px solid #1F2D8C}.kdcs-box--blue .kdcs-box-eye{color:#1F2D8C}\n.kdcs-box--yellow{background:#FFF8E6;border-left:4px solid #E8B500}.kdcs-box--yellow .kdcs-box-eye{color:#8B6914}\n.kdcs-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:2rem 0}\n.kdcs-tiles div{background:#fff;border:1px solid rgba(11,22,32,.1);border-radius:12px;padding:22px}\n.kdcs-tiles div:first-child{background:#0B1620;border-color:#0B1620}\n.kdcs-tiles strong{display:block;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;color:#0B1620;letter-spacing:-.02em}\n.kdcs-tiles span{display:block;margin-top:8px;font-size:.92rem;line-height:1.45;color:#4A5C69}\n.kdcs-tiles div:first-child strong{color:#16C47F}.kdcs-tiles div:first-child span{color:rgba(255,255,255,.75)}\n@media(max-width:720px){.kdcs-tiles{grid-template-columns:1fr}}\n.kdcs-ep{width:100%;border-collapse:collapse;font-size:.93rem;line-height:1.45;margin:1.4rem 0 2rem}\n.kdcs-ep th{text-align:left;padding:10px 12px;background:#F1F6F3;color:#0B1620;font-weight:700;border-bottom:1px solid rgba(11,22,32,.12)}\n.kdcs-ep td{padding:10px 12px;border-bottom:1px solid rgba(11,22,32,.08);vertical-align:top;color:#22323F}\n.kdcs-ep td code{font-family:ui-monospace,Consolas,monospace;font-size:.85rem;background:#F4F6F8;padding:2px 6px;border-radius:4px;color:#0B1620;white-space:nowrap}\n.kdcs-tablewrap{overflow-x:auto}\n.kdcs-qa{margin:2.6rem 0 0;padding-top:.4rem}\n.case-study-single .case-study-content .kdcs-qa h3{margin:1.6rem 0 .4rem;font-size:1.12rem;line-height:1.35}\n.case-study-single .case-study-content .kdcs-qa p{margin:0}\n.kdcs-more{margin-top:1.4rem}\n.kdcs-invite{padding-block:clamp(40px,6vw,80px) 0}\n.case-study-single .kdcs-invite .cs-invite-box{padding-inline:clamp(20px,3vw,40px)}\n.case-study-single .kdcs-invite .cs-invite-box h2{max-width:32ch}\n.case-study-single .kdcs-invite .cs-invite-box p{max-width:72ch}\n.case-study-single .kdcs-invite .cs-invite-box p.kdcs-invite-alt{margin:18px auto 0;font-size:.92rem;color:#4A5C69}\n.case-study-single .kdcs-invite .kdcs-invite-alt a{color:#109A63;font-weight:600}\n\n.kdw{background:#fff;border:1px solid rgba(11,22,32,.12);border-radius:14px;padding:clamp(18px,3vw,28px);margin:2rem 0;box-shadow:0 18px 40px -30px rgba(11,22,32,.35)}\n.kdw-eye{display:block;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#109A63;font-weight:700;margin:0 0 6px}\n.case-study-single .case-study-content .kdw h3{margin:0 0 6px;color:#0B1620;font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.25}\n.case-study-single .case-study-content .kdw p.kdw-sub{margin:0 0 18px;color:#4A5C69;font-size:.95rem;line-height:1.55}\n.case-study-single .kdw ul li,.case-study-single .kdw ol li{padding-left:0}\n.case-study-single .kdw ul li::before,.case-study-single .kdw ol li::before{content:none}\n.kdw-note{margin:14px 0 0;font-size:.8rem;line-height:1.5;color:rgba(11,22,32,.55)}\n.kdw-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}\n.kdw-tabs button{font:inherit;font-size:.88rem;font-weight:600;padding:9px 14px;border-radius:99px;border:1px solid rgba(11,22,32,.16);background:#fff;color:#22323F;cursor:pointer}\n.kdw-tabs button[aria-pressed=\"true\"]{background:#0B1620;border-color:#0B1620;color:#fff}\n.kdw-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}\n.kdw-flow li{position:relative;margin:0;border:1px solid rgba(11,22,32,.12);border-radius:10px;padding:12px 14px;font-size:.88rem;line-height:1.4;color:#0B1620;background:#fff;transition:opacity .3s,background .3s,border-color .3s,transform .3s}\n.kdw-flow li small{display:block;font-family:ui-monospace,Consolas,monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#4A5C69;margin-bottom:5px}\n.kdw-flow li em{display:block;font-style:normal;font-size:.8rem;color:#4A5C69;margin-top:5px}\n.kdw-flow li.is-ok{background:#EAF8F1;border-color:#16C47F}\n.kdw-flow li.is-stop{background:#FDF0EF;border-color:#B3261E}\n.kdw-flow li.is-stop small{color:#8C1D17}\n.kdw-flow li.is-skip{opacity:.35}\n.kdw-flow li.is-now{transform:translateY(-3px);box-shadow:0 8px 20px -12px rgba(11,22,32,.4)}\n.kdw-run{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 0}\n.kdw-btn{font:inherit;font-size:.92rem;font-weight:700;padding:11px 18px;border-radius:10px;border:0;background:#16C47F;color:#0B1620;cursor:pointer}\n.kdw-btn:disabled{opacity:.5;cursor:default}\n.kdw-json{margin:16px 0 0;padding:14px 16px;border-radius:10px;background:#0B1620;color:#CFE9DC;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;min-height:4.5em}\n.kdw-json b{color:#16C47F;font-weight:400}\n.kdw-json i{color:#FF8A80;font-style:normal}\n.kdw-out{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#F1F6F3;font-size:.93rem;line-height:1.5;color:#0B1620}\n.kdw-out.is-bad{background:#FDF0EF;color:#5E120D}\n.kdw-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}\n.kdw-form label{display:block;font-size:.88rem;color:#22323F;font-weight:600}\n.kdw-form output{float:right;font-family:ui-monospace,Consolas,monospace;color:#0B1620}\n.kdw-form input[type=range]{width:100%;margin:8px 0 0;accent-color:#16C47F}\n.kdw-form input[type=number],.kdw-form input[type=text],.kdw-form select{display:block;width:100%;margin:8px 0 0;font:inherit;font-size:.95rem;padding:9px 12px;border:1px solid rgba(11,22,32,.2);border-radius:8px;background:#fff;color:#0B1620;box-sizing:border-box}\n.kdw-form .kdw-check{display:flex;gap:10px;align-items:center;font-weight:600}\n.kdw-form .kdw-check input{width:18px;height:18px;accent-color:#16C47F;margin:0}\n@media(max-width:640px){.kdw-form{grid-template-columns:1fr}}\n.kdw-vs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 0}\n.kdw-vs > div{border-radius:12px;padding:16px 18px;border:1px solid rgba(11,22,32,.1);background:#F8F8FF}\n.kdw-vs > div.is-bad{background:#FDF0EF;border-color:#E9B8B4}\n.kdw-vs > div.is-good{background:#EAF8F1;border-color:#9FDDC2}\n.kdw-vs h4{margin:0 0 10px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#4A5C69}\n.kdw-vs dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:.92rem}\n.kdw-vs dt{color:#4A5C69}.kdw-vs dd{margin:0;font-family:ui-monospace,Consolas,monospace;color:#0B1620;text-align:right}\n.kdw-vs p{margin:12px 0 0;font-weight:700;font-size:.95rem}\n.kdw-vs .is-bad p{color:#8C1D17}.kdw-vs .is-good p{color:#016C47}\n@media(max-width:640px){.kdw-vs{grid-template-columns:1fr}}\n.kdw-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}\n.kdw-chips button{font:inherit;font-size:.82rem;padding:6px 11px;border-radius:99px;border:1px dashed rgba(11,22,32,.25);background:#fff;color:#22323F;cursor:pointer}\n.kdw-res{margin:20px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}\n.kdw-res div{border-radius:12px;padding:16px;background:#F8F8FF;border:1px solid rgba(11,22,32,.08)}\n.kdw-res div:last-child{background:#0B1620;border-color:#0B1620}\n.kdw-res strong{display:block;font-size:clamp(1.1rem,2.6vw,1.5rem);line-height:1.2;color:#0B1620;word-break:break-word}\n.kdw-res span{display:block;font-size:.82rem;color:#4A5C69;margin-top:4px}\n.kdw-res div:last-child strong{color:#16C47F}.kdw-res div:last-child span{color:rgba(255,255,255,.7)}\n@media(max-width:640px){.kdw-res{grid-template-columns:1fr}}\n.kdw-time{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}\n.kdw-time li{margin:0;border-top:4px solid rgba(11,22,32,.15);padding:12px 4px 0;font-size:.9rem;line-height:1.45;color:#22323F;transition:border-color .3s}\n.kdw-time li small{display:block;font-family:ui-monospace,Consolas,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#4A5C69;margin-bottom:4px}\n.kdw-time li b{display:block;color:#0B1620;margin-bottom:3px}\n.kdw-time li.is-bad{border-color:#B3261E}.kdw-time li.is-bad b{color:#8C1D17}\n.kdw-time li.is-good{border-color:#16C47F}.kdw-time li.is-good b{color:#016C47}\n@media(max-width:700px){.kdw-time{grid-template-columns:1fr 1fr}}\n.kdw-chart{position:relative;height:300px}\n<\/style>\n\n<p class=\"kdcs-lead\"><strong>Producent listew wyko\u0144czeniowych chcia\u0142, \u017ceby sklepy partnerskie mog\u0142y sprzedawa\u0107 jego towar bez w\u0142asnego magazynu, a zam\u00f3wienia trafia\u0142y prosto do systemu wysy\u0142ek. Zbudowali\u015bmy API dropshippingowe na WooCommerce, kt\u00f3re samo liczy rabaty B2B, sprawdza stany i przekazuje zam\u00f3wienia do Sellasist zgodne co do grosza. Po dw\u00f3ch miesi\u0105cach przez API przechodzi oko\u0142o 80% wszystkich zam\u00f3wie\u0144 sklepu.<\/strong><\/p>\n\n<p>Klient produkuje listwy przypod\u0142ogowe, sufitowe i \u015bcienne: z polistyrenu, MDF (tak\u017ce w wersji ognioodpornej i wilgocioodpornej), XPS i stali nierdzewnej. Sprzedaje przez w\u0142asny sklep na WooCommerce, a zam\u00f3wienia, wysy\u0142ki i faktury obs\u0142uguje w Sellasist. Firmy, kt\u00f3re same sprzedaj\u0105 materia\u0142y wyko\u0144czeniowe, chcia\u0142y mie\u0107 te listwy w swojej ofercie, ale bez trzymania towaru u siebie i bez przepisywania ka\u017cdego zam\u00f3wienia r\u0119cznie.<\/p>\n\n<figure class=\"jc-shot\"><img decoding=\"async\" src=\"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-magazyn-listew.jpg\" alt=\"Paczki bia\u0142ych listew sufitowych i przypod\u0142ogowych na przeno\u015bniku rolkowym w magazynie, w tle rega\u0142y z zielonymi liniami \u015bwiat\u0142a\" loading=\"lazy\" width=\"1600\" height=\"900\"><figcaption><b>Illustration.<\/b> Grafika wygenerowana przez AI (Magnific). Zrzut\u00f3w z panelu nie pokazujemy, bo s\u0105 w nim dane klient\u00f3w ko\u0144cowych.<\/figcaption><\/figure>\n\n<div class=\"kdcs-tiles\"><div><strong>~80%<\/strong><span>wszystkich zam\u00f3wie\u0144 sklepu przechodzi dzi\u015b przez API (361 z 453)<\/span><\/div><div><strong>121 677 z\u0142<\/strong><span>brutto w zam\u00f3wieniach od partner\u00f3w, g\u0142\u00f3wnie we wrze\u015bniu i pa\u017adzierniku<\/span><\/div><div><strong>0<\/strong><span>odrzuconych zam\u00f3wie\u0144 i duplikat\u00f3w w ostatnich 30 dniach<\/span><\/div><\/div>\n\n<h2>Punkt wyj\u015bcia<\/h2>\n<p>Dropshipping wygl\u0105da prosto: partner sprzedaje, producent wysy\u0142a. Diabe\u0142 siedzi w szczeg\u00f3\u0142ach, a tu by\u0142o ich sporo:<\/p>\n<ul>\n<li><strong>Ceny B2B s\u0105 indywidualne.<\/strong> Firmy z kontem Biznes maj\u0105 osobne rabaty na poszczeg\u00f3lne kategorie i grupy produkt\u00f3w. Partner nie mo\u017ce sam wpisywa\u0107 ceny w zam\u00f3wieniu, bo wtedy rabat kontroluje on, a nie producent.<\/li>\n<li><strong>Cz\u0119\u015b\u0107 towaru sprzedaje si\u0119 na metry.<\/strong> W sklepie cena listwy to cena za metr, a do partnera trafia sztuka o konkretnej d\u0142ugo\u015bci. Cena za sztuk\u0119 musi wynika\u0107 z d\u0142ugo\u015bci produktu.<\/li>\n<li><strong>Zam\u00f3wienia musz\u0105 od razu l\u0105dowa\u0107 w Sellasist.<\/strong> Tam powstaje list przewozowy, faktura i termin p\u0142atno\u015bci. Wszystko, co do Sellasist dotrze krzywo, kto\u015b musi poprawia\u0107 r\u0119cznie.<\/li>\n<li><strong>Partnerzy maj\u0105 r\u00f3\u017cne systemy.<\/strong> Jeden ma sklep, inny ERP. Ka\u017cdy inaczej nazywa metody wysy\u0142ki i inaczej ponawia wysy\u0142k\u0119 zam\u00f3wienia, gdy co\u015b p\u00f3jdzie nie tak z sieci\u0105.<\/li>\n<\/ul>\n<p>Das Ziel: <strong>partner pod\u0142\u0105cza sw\u00f3j system raz, a potem zam\u00f3wienia p\u0142yn\u0105 same, z w\u0142a\u015bciw\u0105 cen\u0105, w\u0142a\u015bciw\u0105 wysy\u0142k\u0105 i w\u0142a\u015bciwym terminem p\u0142atno\u015bci.<\/strong><\/p>\n\n<h2>Rozwi\u0105zanie: API dropshippingowe wewn\u0105trz WooCommerce<\/h2>\n<p>Zamiast osobnej platformy napisali\u015bmy wtyczk\u0119 do istniej\u0105cego sklepu. Dzi\u0119ki temu katalog, stany i ceny maj\u0105 jedno \u017ar\u00f3d\u0142o: to samo, z kt\u00f3rego korzysta sklep. Ka\u017cdy partner dostaje w\u0142asny klucz API, kt\u00f3ry w bazie przechowujemy wy\u0142\u0105cznie jako skr\u00f3t (hash), wi\u0119c nawet wyciek bazy nie zdradza kluczy.<\/p>\n<div class=\"kdcs-tablewrap\"><table class=\"kdcs-ep\"><thead><tr><th>Endpunkt<\/th><th>Do czego s\u0142u\u017cy partnerowi<\/th><\/tr><\/thead><tbody>\n<tr><td><code>GET \/ping<\/code><\/td><td>Test po\u0142\u0105czenia i klucza.<\/td><\/tr>\n<tr><td><code>GET \/products<\/code><\/td><td>Katalog z cen\u0105 ju\u017c po rabacie partnera, wymiarami, wag\u0105 i zdj\u0119ciami, stronicowany.<\/td><\/tr>\n<tr><td><code>GET \/products\/{sku}<\/code><\/td><td>Ein einzelnes Produkt per SKU.<\/td><\/tr>\n<tr><td><code>GET \/stock<\/code><\/td><td>Same stany magazynowe, lekkie zapytanie do cz\u0119stej synchronizacji.<\/td><\/tr>\n<tr><td><code>POST \/orders<\/code><\/td><td>Z\u0142o\u017cenie zam\u00f3wienia z numerem z systemu partnera.<\/td><\/tr>\n<tr><td><code>GET \/orders\/{id}<\/code><\/td><td>Status, numer przesy\u0142ki i link do \u015bledzenia.<\/td><\/tr>\n<tr><td><code>POST \/orders\/{id}\/status<\/code><\/td><td>Anulowanie albo zwrot, dop\u00f3ki towar nie wyjecha\u0142 z magazynu.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>Najwa\u017cniejszy jest <code>POST \/orders<\/code>. Zanim zam\u00f3wienie powstanie, przechodzi przez kilka bramek. Zobacz, co dzieje si\u0119 w ka\u017cdym scenariuszu:<\/p>\n\n<div class=\"kdw\" id=\"kdw-sim\"><span class=\"kdw-eye\">Symulator \u00b7 dane fikcyjne<\/span><h3>Co si\u0119 dzieje, gdy partner wysy\u0142a zam\u00f3wienie?<\/h3><p class=\"kdw-sub\">Kliknij scenariusz, a zobaczysz, przez kt\u00f3re kroki przejdzie zam\u00f3wienie i co odpowie API. Kroki i odpowiedzi odpowiadaj\u0105 temu, jak dzia\u0142a wdro\u017cony system.<\/p>\n<div class=\"kdw-tabs\" role=\"group\" aria-label=\"Scenariusz\"><button type=\"button\" data-sc=\"ok\" aria-pressed=\"true\">Wszystko w porz\u0105dku<\/button><button type=\"button\" data-sc=\"stock\" aria-pressed=\"false\">Ware fehlt<\/button><button type=\"button\" data-sc=\"dup\" aria-pressed=\"false\">Wys\u0142ane drugi raz<\/button><button type=\"button\" data-sc=\"key\" aria-pressed=\"false\">Z\u0142y klucz API<\/button><\/div>\n<ol class=\"kdw-flow\"><li data-s=\"0\"><small>1 \u00b7 Partner<\/small>System partnera wysy\u0142a zam\u00f3wienie<em>numer, pozycje, adres, wysy\u0142ka<\/em><\/li><li data-s=\"1\"><small>2 \u00b7 Klucz<\/small>Prüfung des API-Schlüssels<em>skr\u00f3t por\u00f3wnany z baz\u0105<\/em><\/li><li data-s=\"2\"><small>3 \u00b7 Duplikat<\/small>Czy ten numer ju\u017c by\u0142?<em>Sperre auf Datenbankebene<\/em><\/li><li data-s=\"3\"><small>4 \u00b7 Stany<\/small>Ist für alle Positionen Ware da?<em>przed utworzeniem zam\u00f3wienia<\/em><\/li><li data-s=\"4\"><small>5 \u00b7 Cena<\/small>Preis und Rabatt berechnet der Hersteller<em>cena z \u017c\u0105dania jest ignorowana<\/em><\/li><li data-s=\"5\"><small>6 \u00b7 Sklep<\/small>Zam\u00f3wienie w WooCommerce<em>stan zdj\u0119ty automatycznie<\/em><\/li><li data-s=\"6\"><small>7 \u00b7 Sellasist<\/small>Wysy\u0142ka, faktura, termin p\u0142atno\u015bci<em>bez r\u0119cznego przepisywania<\/em><\/li><\/ol>\n<div class=\"kdw-run\"><button type=\"button\" class=\"kdw-btn\">\u21bb Wy\u015blij jeszcze raz<\/button><\/div>\n<pre class=\"kdw-json\" aria-live=\"polite\">\/\/ tu pojawi si\u0119 odpowied\u017a API<\/pre>\n<p class=\"kdw-out\" aria-live=\"polite\">Wybierz scenariusz i wy\u015blij zam\u00f3wienie.<\/p><\/div>\n<script>(function(){var w=document.getElementById('kdw-sim');if(!w)return;var L=(location.pathname.match(\/^.(en|de)(.|$)\/)||[])[1]||'pl';var LOC={pl:'pl-PL',en:'en-GB',de:'de-DE'}[L];var tabs=w.querySelectorAll('.kdw-tabs button'),ls=w.querySelectorAll('.kdw-flow li'),btn=w.querySelector('.kdw-btn'),js=w.querySelector('.kdw-json'),out=w.querySelector('.kdw-out'),sc='ok',tm=[];\nvar C={ok:'201 Created',stock:'409 Conflict',dup:'200 OK',key:'403 Forbidden'},ST={ok:-1,stock:3,dup:-2,key:1};\nvar J={ok:'{\\n  <b>\"order_number\"<\/b>: \"48213\",\\n  <b>\"external_order_id\"<\/b>: \"SKLEP-2026-10-0187\",\\n  <b>\"status\"<\/b>: \"processing\",\\n  <b>\"total\"<\/b>: \"562.10\",\\n  <b>\"currency\"<\/b>: \"PLN\",\\n  <b>\"duplicate\"<\/b>: false\\n}',\nstock:'{\\n  <b>\"code\"<\/b>: <i>\"kds_out_of_stock\"<\/i>,\\n  <b>\"message\"<\/b>: \"Brak wystarczaj\u0105cego stanu magazynowego.\",\\n  <b>\"data\"<\/b>: { <b>\"out_of_stock\"<\/b>: [\\n    { <b>\"sku\"<\/b>: \"MDF-L-80\", <b>\"requested\"<\/b>: 40, <b>\"available\"<\/b>: 26 }\\n  ] }\\n}',\ndup:'{\\n  <b>\"order_number\"<\/b>: \"48213\",\\n  <b>\"external_order_id\"<\/b>: \"SKLEP-2026-10-0187\",\\n  <b>\"status\"<\/b>: \"processing\",\\n  <b>\"duplicate\"<\/b>: <i>true<\/i>\\n}',\nkey:'{\\n  <b>\"code\"<\/b>: <i>\"kds_bad_key\"<\/i>,\\n  <b>\"message\"<\/b>: \"Nieprawid\u0142owy klucz API.\"\\n}'};\nvar TX={pl:{wait:'\/\/ wysy\u0142anie\u2026',ok:'Zam\u00f3wienie przesz\u0142o wszystkie bramki. Partner dostaje numer zam\u00f3wienia u producenta, a Sellasist od razu widzi zam\u00f3wienie z w\u0142a\u015bciw\u0105 metod\u0105 wysy\u0142ki i terminem p\u0142atno\u015bci.',stock:'Zam\u00f3wienie nie powstaje, a partner dostaje list\u0119 brak\u00f3w z dost\u0119pn\u0105 ilo\u015bci\u0105. Mo\u017ce od razu zaproponowa\u0107 klientowi mniej sztuk albo inny produkt, zamiast dowiadywa\u0107 si\u0119 o problemie po kilku dniach.',dup:'System partnera wys\u0142a\u0142 to samo zam\u00f3wienie drugi raz, bo np. zerwa\u0142o mu po\u0142\u0105czenie. Zamiast drugiej paczki dostaje to samo zam\u00f3wienie z flag\u0105 \u201eduplicate\u201d. Dwa r\u00f3wnoleg\u0142e \u017c\u0105dania z tym samym numerem te\u017c nie za\u0142o\u017c\u0105 dw\u00f3ch zam\u00f3wie\u0144, bo pilnuje tego unikalny indeks w bazie.',key:'Bez wa\u017cnego klucza nic dalej si\u0119 nie dzieje. Pr\u00f3ba trafia do dziennika API, wi\u0119c \u0142atwo sprawdzi\u0107, kt\u00f3ry partner ma \u017ale skonfigurowane po\u0142\u0105czenie.'},\nen:{wait:'\/\/ sending\u2026',ok:'The order passed every gate. The partner receives the manufacturer\u2019s order number, and Sellasist immediately sees the order with the right shipping method and payment terms.',stock:'No order is created, and the partner receives a list of shortages with the available quantity. They can offer their customer fewer units or a different product straight away, instead of finding out about the problem days later.',dup:'The partner\u2019s system sent the same order a second time, for example because its connection dropped. Instead of a second parcel, it gets the same order back with the \u201cduplicate\u201d flag. Two parallel requests with the same number cannot create two orders either, because a unique database index prevents it.',key:'Without a valid key nothing else happens. The attempt is written to the API log, so it is easy to see which partner has a misconfigured connection.'},\nde:{wait:'\/\/ wird gesendet\u2026',ok:'Die Bestellung hat alle Pr\u00fcfungen bestanden. Der Partner erh\u00e4lt die Bestellnummer des Herstellers, und Sellasist sieht die Bestellung sofort mit der richtigen Versandart und dem richtigen Zahlungsziel.',stock:'Es wird keine Bestellung angelegt, und der Partner erh\u00e4lt eine Liste der Fehlmengen mit der verf\u00fcgbaren Menge. Er kann seinem Kunden sofort weniger St\u00fcck oder ein anderes Produkt anbieten, statt erst Tage sp\u00e4ter von dem Problem zu erfahren.',dup:'Das System des Partners hat dieselbe Bestellung ein zweites Mal gesendet, zum Beispiel weil die Verbindung abgebrochen ist. Statt eines zweiten Pakets erh\u00e4lt es dieselbe Bestellung mit dem Kennzeichen \u201eduplicate\u201c zur\u00fcck. Auch zwei parallele Anfragen mit derselben Nummer legen keine zwei Bestellungen an, weil ein eindeutiger Datenbankindex das verhindert.',key:'Ohne g\u00fcltigen Schl\u00fcssel passiert nichts weiter. Der Versuch landet im API-Protokoll, sodass sich leicht pr\u00fcfen l\u00e4sst, welcher Partner eine falsch konfigurierte Verbindung hat.'}}[L];\nfunction reset(){tm.forEach(clearTimeout);tm=[];ls.forEach(function(li){li.className='';});}\nfunction go(instant){reset();btn.disabled=true;var stop=ST[sc],n=ls.length,last=stop>=0?stop:(stop===-2?2:n-1);js.innerHTML=TX.wait;out.className='kdw-out';out.textContent='\u2026';\nfor(var i=0;i<n;i++){(function(i){tm.push(setTimeout(function(){ls.forEach(function(x){x.classList.remove('is-now');});var li=ls[i];if(i<last){li.className='is-ok';}else if(i===last){li.className=(stop>=0?'is-stop':'is-ok')+(instant?'':' is-now');}else{li.className='is-skip';}if(i===n-1){js.innerHTML='<b>HTTP '+C[sc]+'<\/b>\\n'+J[sc];out.className='kdw-out'+(stop>=0?' is-bad':'');out.textContent=TX[sc];btn.disabled=false;}},instant?0:i*(i<=last?380:60)));})(i);}}\nfunction pick(b){tabs.forEach(function(x){x.setAttribute('aria-pressed',x===b?'true':'false');});sc=b.getAttribute('data-sc');go(false);}\ntabs.forEach(function(b){b.addEventListener('click',function(){pick(b);});});btn.addEventListener('click',function(){go(false);});go(true);})();<\/script>\n\n<figure class=\"jc-shot\"><img decoding=\"async\" src=\"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-siec-partnerow.jpg\" alt=\"Miniaturowa makieta: bia\u0142a fabryka po\u015brodku po\u0142\u0105czona zielonymi \u015bwietlnymi \u015bcie\u017ckami z kilkoma sklepami, po \u015bcie\u017ckach jad\u0105 ma\u0142e paczki\" loading=\"lazy\" width=\"1600\" height=\"900\"><figcaption><b>Illustration.<\/b> Jeden katalog i jeden magazyn, wiele sklep\u00f3w partnerskich. Grafika wygenerowana przez AI (Magnific).<\/figcaption><\/figure>\n\n<h2>Den Preis berechnet immer der Hersteller<\/h2>\n<p>To by\u0142a najwa\u017cniejsza zasada projektu. Partner w zam\u00f3wieniu podaje tylko SKU i ilo\u015b\u0107. Nawet je\u015bli wy\u015ble cen\u0119, system j\u0105 pomija i liczy w\u0142asn\u0105:<\/p>\n<ul>\n<li><strong>Der Partnerrabatt<\/strong> to jeden procent na ca\u0142y katalog, ustawiany w panelu.<\/li>\n<li><strong>Der Business-Rabatt<\/strong> dzia\u0142a wtedy, gdy e-mail partnera pasuje do konta Biznes w sklepie. Wtyczka sama \u0142\u0105czy te konta przy zapisie partnera. Rabat jest liczony per produkt: najpierw wed\u0142ug grupy (tagu) produktu, potem wed\u0142ug kategorii.<\/li>\n<li>Es gewinnt <strong>wy\u017cszy z dw\u00f3ch rabat\u00f3w<\/strong>. Dla listew sprzedawanych na metry cena za metr jest mno\u017cona przez d\u0142ugo\u015b\u0107 sztuki, dok\u0142adnie tak samo jak w koszyku sklepu.<\/li>\n<\/ul>\n<p>W praktyce rabat dla partner\u00f3w idzie z konta Biznes: 356 z 360 zam\u00f3wie\u0144 przez API dosta\u0142o go automatycznie, bez r\u0119cznego liczenia.<\/p>\n\n<div class=\"kdw\" id=\"kdw-disc\"><span class=\"kdw-eye\">Kalkulator \u00b7 przyk\u0142adowe rabaty<\/span><h3>Kt\u00f3ry rabat wygrywa?<\/h3><p class=\"kdw-sub\">Wybierz produkt, ustaw rabat partnera i w\u0142\u0105cz albo wy\u0142\u0105cz konto Biznes. Spr\u00f3buj te\u017c wpisa\u0107 \u201eswoj\u0105\u201d cen\u0119 w polu partnera.<\/p>\n<div class=\"kdw-form\"><label>Produkt<select data-k=\"prod\"><option value=\"0\">Listwa przypod\u0142ogowa MDF lakierowana, 2,4 m (cena za metr)<\/option><option value=\"1\">Deckenleiste aus Polystyrol, 2 m (Meterpreis)<\/option><option value=\"2\">Listwa przypod\u0142ogowa ze stali nierdzewnej, 2,5 m<\/option><\/select><\/label><label>Der Partnerrabatt <output data-o=\"pd\">0%<\/output><input type=\"range\" min=\"0\" max=\"30\" step=\"1\" value=\"0\" data-k=\"pd\"><\/label><label class=\"kdw-check\"><input type=\"checkbox\" data-k=\"biz\" checked> Partner hat ein Business-Konto<\/label><label>Cena wys\u0142ana przez partnera (z\u0142)<input type=\"number\" min=\"0\" step=\"0.01\" value=\"1.00\" data-k=\"fake\"><\/label><\/div>\n<div class=\"kdw-res\"><div><strong data-r=\"rule\">\u2026<\/strong><span data-r=\"rulename\">Business-Rabatt für dieses Produkt<\/span><\/div><div><strong data-r=\"disc\">\u2026<\/strong><span>rabat zastosowany w zam\u00f3wieniu<\/span><\/div><div><strong data-r=\"price\">\u2026<\/strong><span>cena netto za sztuk\u0119 policzona przez producenta<\/span><\/div><\/div>\n<p class=\"kdw-out\" data-r=\"why\" aria-live=\"polite\"><\/p>\n<p class=\"kdw-note\">Ceny i procenty s\u0105 przyk\u0142adowe. Mechanika jest taka jak we wdro\u017ceniu: grupa produktu ma pierwsze\u0144stwo przed kategori\u0105, wygrywa wy\u017cszy rabat, cena z \u017c\u0105dania nie ma wp\u0142ywu na wynik.<\/p><\/div>\n<script>(function(){var w=document.getElementById('kdw-disc');if(!w)return;var L=(location.pathname.match(\/^.(en|de)(.|$)\/)||[])[1]||'pl';var LOC={pl:'pl-PL',en:'en-GB',de:'de-DE'}[L];var f=new Intl.NumberFormat(LOC,{style:'currency',currency:'PLN'});\nvar RN={pl:['grupa \u201eMDF lakierowane\u201d','kategoria \u201eListwy polistyrenowe\u201d','kategoria \u201eListwy stalowe\u201d'],en:['group \u201cLacquered MDF\u201d','category \u201cPolystyrene mouldings\u201d','category \u201cSteel mouldings\u201d'],de:['Gruppe \u201eMDF lackiert\u201c','Kategorie \u201ePolystyrolleisten\u201c','Kategorie \u201eEdelstahlleisten\u201c']}[L];\nvar TX={pl:{none:'brak',nobiz:'partner bez konta Biznes',biz:'rabat Biznes: ',pd:'rabat partnera',bd:'rabat Biznes',pm:'Cena bazowa: {a} za metr \u00d7 {l} m = {b}. ',pu:'Cena bazowa: {b} za sztuk\u0119. ',win:'Wygrywa {s}. ',fake:'Cena {x} wys\u0142ana przez partnera zosta\u0142a pomini\u0119ta.'},\nen:{none:'none',nobiz:'partner without a Business account',biz:'Business discount: ',pd:'the partner discount',bd:'the Business discount',pm:'Base price: {a} per metre \u00d7 {l} m = {b}. ',pu:'Base price: {b} per piece. ',win:'{S} wins. ',fake:'The price of {x} sent by the partner was ignored.'},\nde:{none:'keiner',nobiz:'Partner ohne Business-Konto',biz:'Business-Rabatt: ',pd:'der Partnerrabatt',bd:'der Business-Rabatt',pm:'Grundpreis: {a} pro Meter \u00d7 {l} m = {b}. ',pu:'Grundpreis: {b} pro St\u00fcck. ',win:'Es gewinnt {s}. ',fake:'Der vom Partner gesendete Preis von {x} wurde ignoriert.'}}[L];\nvar P=[{m:14.90,len:2.4,rd:25},{m:6.50,len:2,rd:20},{m:null,unit:89.00,len:2.5,rd:15}];\nfunction q(k){return w.querySelector('[data-k=\"'+k+'\"]');}function r(k){return w.querySelector('[data-r=\"'+k+'\"]');}\nfunction calc(){var i=+q('prod').value,p=P[i],pd=+q('pd').value,biz=q('biz').checked,fake=parseFloat(q('fake').value)||0;w.querySelector('[data-o=\"pd\"]').textContent=pd+'%';\nvar base=p.m!==null?p.m*p.len:p.unit,eff=pd,src=TX.pd;if(biz){if(p.rd>eff){eff=p.rd;src=TX.bd+' ('+RN[i]+')';}}\nvar price=Math.round(base*(1-eff\/100)*100)\/100;r('rule').textContent=biz?p.rd+'%':TX.none;r('rulename').textContent=biz?TX.biz+RN[i]:TX.nobiz;r('disc').textContent=eff+'%';r('price').textContent=f.format(price);\nvar why=p.m!==null?TX.pm.replace('{a}',f.format(p.m)).replace('{l}',p.len.toLocaleString(LOC)).replace('{b}',f.format(base)):TX.pu.replace('{b}',f.format(base));\nwhy+=TX.win.replace('{s}',src).replace('{S}',src.charAt(0).toUpperCase()+src.slice(1))+TX.fake.replace('{x}',f.format(fake));r('why').textContent=why;}\nw.querySelectorAll('[data-k]').forEach(function(el){el.addEventListener('input',calc);el.addEventListener('change',calc);});calc();})();<\/script>\n\n<h2>Cztery rzeczy, kt\u00f3rych nie wida\u0107 w dokumentacji<\/h2>\n<p>Samo API to po\u0142owa pracy. Druga po\u0142owa zacz\u0119\u0142a si\u0119, gdy prawdziwe zam\u00f3wienia zacz\u0119\u0142y p\u0142yn\u0105\u0107 do Sellasist. Ka\u017cdy z poni\u017cszych problem\u00f3w wyszed\u0142 dopiero na produkcji i ka\u017cdy kosztowa\u0142by zesp\u00f3\u0142 klienta codzienne r\u0119czne poprawki.<\/p>\n\n<h3>1. Wo der Groschen verschwindet<\/h3>\n<p>Sellasist czyta z zam\u00f3wienia cen\u0119 jednostkow\u0105 i wymaga, \u017ceby cena jednostkowa razy ilo\u015b\u0107 dawa\u0142a dok\u0142adnie warto\u015b\u0107 pozycji. Standardowy WooCommerce liczy VAT od sumy netto ca\u0142ej pozycji i zaokr\u0105gla dopiero na ko\u0144cu. Przy wi\u0119kszych ilo\u015bciach te dwie metody rozje\u017cd\u017caj\u0105 si\u0119 o kilka groszy, a wtedy Sellasist rozbija pozycj\u0119 na dwie linie. Przy listwach to nie jest wyj\u0105tek: <strong>327 z 393 pozycji w zam\u00f3wieniach od partner\u00f3w ma ilo\u015b\u0107 wi\u0119ksz\u0105 ni\u017c 1<\/strong>.<\/p>\n<p>Rozwi\u0105zanie: liczymy najpierw cen\u0119 jednostkow\u0105 brutto, mno\u017cymy przez ilo\u015b\u0107, a VAT wyznaczamy jako r\u00f3\u017cnic\u0119. Podatki ustawiamy r\u0119cznie na ka\u017cdej pozycji i na wysy\u0142ce, \u017ceby WooCommerce ich potem nie przeliczy\u0142 po swojemu.<\/p>\n\n<div class=\"kdw\" id=\"kdw-cent\"><span class=\"kdw-eye\">Rechnen Sie selbst<\/span><h3>Czy ta pozycja rozjedzie si\u0119 w Sellasist?<\/h3><p class=\"kdw-sub\">Domy\u015blne warto\u015bci to prawdziwy przypadek z produkcji: 22 sztuki po 20,77 z\u0142 netto, VAT 23%. Zmie\u0144 cen\u0119 i ilo\u015b\u0107.<\/p>\n<div class=\"kdw-form\"><label>Cena netto za sztuk\u0119 (z\u0142)<input type=\"number\" min=\"0.01\" step=\"0.01\" value=\"20.77\" data-k=\"net\"><\/label><label>Ilo\u015b\u0107 <output data-o=\"qty\">22<\/output><input type=\"range\" min=\"1\" max=\"60\" step=\"1\" value=\"22\" data-k=\"qty\"><\/label><\/div>\n<div class=\"kdw-vs\"><div data-v=\"std\"><h4>Standardberechnung in WooCommerce<\/h4><dl><dt>Netto der Position<\/dt><dd data-c=\"sn\"><\/dd><dt>MwSt. auf die Summe<\/dt><dd data-c=\"st\"><\/dd><dt>Brutto der Position<\/dt><dd data-c=\"sg\"><\/dd><dt>Cena jedn. \u00d7 ilo\u015b\u0107<\/dt><dd data-c=\"sc\"><\/dd><\/dl><p data-c=\"sv\"><\/p><\/div><div class=\"is-good\"><h4>Unser Algorithmus<\/h4><dl><dt>Bruttostückpreis<\/dt><dd data-c=\"ou\"><\/dd><dt>Brutto der Position<\/dt><dd data-c=\"og\"><\/dd><dt>VAT jako r\u00f3\u017cnica<\/dt><dd data-c=\"ot\"><\/dd><dt>Cena jedn. \u00d7 ilo\u015b\u0107<\/dt><dd data-c=\"oc\"><\/dd><\/dl><p>Zgadza si\u0119 co do grosza<\/p><\/div><\/div>\n<p class=\"kdw-note\" data-c=\"mc\"><\/p><\/div>\n<script>(function(){var w=document.getElementById('kdw-cent');if(!w)return;var L=(location.pathname.match(\/^.(en|de)(.|$)\/)||[])[1]||'pl';var LOC={pl:'pl-PL',en:'en-GB',de:'de-DE'}[L];var f=new Intl.NumberFormat(LOC,{minimumFractionDigits:2,maximumFractionDigits:2});function r2(x){return Math.round((x+1e-9)*100)\/100;}\nvar TX={pl:{bad:'R\u00f3\u017cnica {d} gr: Sellasist rozbije pozycj\u0119 na dwie linie',good:'Tym razem si\u0119 zgadza',mc:'Dla por\u00f3wnania: na {t} kombinacjach cen od 5 do 80 z\u0142 netto i ilo\u015bci od 2 do 30 sztuk standardowe liczenie rozje\u017cd\u017ca si\u0119 w {p}% przypadk\u00f3w. Liczone na \u017cywo w Twojej przegl\u0105darce.'},\nen:{bad:'Off by {d} grosz: Sellasist will split the line into two',good:'This time it matches',mc:'For comparison: across {t} combinations of net prices from PLN 5 to 80 and quantities from 2 to 30, standard rounding goes off in {p}% of cases. Calculated live in your browser.'},\nde:{bad:'Abweichung von {d} Groschen: Sellasist teilt die Position in zwei Zeilen',good:'Diesmal stimmt es',mc:'Zum Vergleich: Bei {t} Kombinationen aus Nettopreisen von 5 bis 80 PLN und Mengen von 2 bis 30 St\u00fcck weicht die Standardrechnung in {p}% der F\u00e4lle ab. Live in Ihrem Browser berechnet.'}}[L];\nfunction c(k){return w.querySelector('[data-c=\"'+k+'\"]');}function q(k){return w.querySelector('[data-k=\"'+k+'\"]');}\nfunction std(net,qty){var ln=r2(net*qty),t=r2(ln*0.23),g=r2(ln+t),u=r2(g\/qty);return{ln:ln,t:t,g:g,u:u,chk:r2(u*qty)};}\nfunction calc(){var net=parseFloat(q('net').value)||0,qty=+q('qty').value;w.querySelector('[data-o=\"qty\"]').textContent=qty;var s=std(net,qty);\nc('sn').textContent=f.format(s.ln);c('st').textContent=f.format(s.t);c('sg').textContent=f.format(s.g);c('sc').textContent=f.format(s.u)+' \u00d7 '+qty+' = '+f.format(s.chk);\nvar bad=Math.abs(s.chk-s.g)>0.001,box=w.querySelector('[data-v=\"std\"]');box.className=bad?'is-bad':'is-good';c('sv').textContent=bad?TX.bad.replace('{d}',Math.round(Math.abs(s.chk-s.g)*100)):TX.good;\nvar u=r2(net*1.23),g=r2(u*qty),n=r2(g\/1.23);c('ou').textContent=f.format(u);c('og').textContent=f.format(g);c('ot').textContent=f.format(r2(g-n));c('oc').textContent=f.format(u)+' \u00d7 '+qty+' = '+f.format(g);}\nvar tot=0,badc=0;for(var cents=500;cents<=8000;cents+=7){for(var qq=2;qq<=30;qq++){tot++;var s=std(cents\/100,qq);if(Math.abs(s.chk-s.g)>0.001)badc++;}}\nc('mc').textContent=TX.mc.replace('{t}',tot.toLocaleString(LOC)).replace('{p}',Math.round(badc\/tot*100));\nw.querySelectorAll('[data-k]').forEach(function(el){el.addEventListener('input',calc);});calc();})();<\/script>\n\n<h3>2. Kurier oder Paketstation?<\/h3>\n<p>Na pocz\u0105tku wszystkie zam\u00f3wienia od partner\u00f3w mia\u0142y w WooCommerce t\u0119 sam\u0105 metod\u0119 wysy\u0142ki. Sellasist mapuje wysy\u0142ki po identyfikatorze metody, wi\u0119c nie umia\u0142 odr\u00f3\u017cni\u0107 kuriera od paczkomatu i zam\u00f3wienia wpada\u0142y z komunikatem o braku zmapowanej wysy\u0142ki. Okaza\u0142o si\u0119 te\u017c, \u017ce wolny tekst w zam\u00f3wieniu nie wystarcza: Sellasist buduje list\u0119 do mapowania z metod zarejestrowanych w strefie wysy\u0142ki sklepu.<\/p>\n<p>Dodali\u015bmy wi\u0119c pi\u0119\u0107 prawdziwych metod wysy\u0142ki (kurier, paczkomat, odbi\u00f3r osobisty, darmowa i zbiorcza) widocznych w API sklepu, ale niewidocznych dla klient\u00f3w w koszyku. Partner mo\u017ce poda\u0107 typ wysy\u0142ki wprost albo tylko jej nazw\u0119, a system sam rozpozna, o co chodzi. Koszt wysy\u0142ki pochodzi z tego samego cennika, kt\u00f3rego u\u017cywa Sellasist. Po jednorazowym ustawieniu regu\u0142 w panelu Sellasist przemapowa\u0142 te\u017c wcze\u015bniejsze zam\u00f3wienia.<\/p>\n\n<div class=\"kdw\" id=\"kdw-ship\"><span class=\"kdw-eye\">T\u0142umacz metod wysy\u0142ki<\/span><h3>Jak partner nazwa\u0142 wysy\u0142k\u0119 i co z tego wyjdzie?<\/h3><p class=\"kdw-sub\">Wpisz nazw\u0119 metody tak, jak m\u00f3g\u0142by j\u0105 wys\u0142a\u0107 sklep partnera, albo kliknij przyk\u0142ad.<\/p>\n<div class=\"kdw-form\"><label>Nazwa wysy\u0142ki u partnera<input type=\"text\" value=\"Kurier DPD\" data-k=\"name\" data-no-translation autocomplete=\"off\"><\/label><label>Warto\u015b\u0107 towaru brutto <output data-o=\"val\">450 z\u0142<\/output><input type=\"range\" min=\"50\" max=\"1500\" step=\"10\" value=\"450\" data-k=\"val\"><\/label><\/div>\n<div class=\"kdw-chips\" data-no-translation><button type=\"button\">Paczkomat InPost 24\/7<\/button><button type=\"button\">Kurier GLS<\/button><button type=\"button\">Odbi\u00f3r osobisty w magazynie<\/button><button type=\"button\">Darmowa dostawa<\/button><button type=\"button\">Transport paletowy<\/button><\/div>\n<div class=\"kdw-res\"><div><strong data-r=\"slug\">\u2026<\/strong><span>Methode in WooCommerce<\/span><\/div><div><strong data-r=\"sel\">\u2026<\/strong><span>jak widzi j\u0105 Sellasist po zmapowaniu<\/span><\/div><div><strong data-r=\"cost\">\u2026<\/strong><span>koszt wysy\u0142ki brutto w zam\u00f3wieniu<\/span><\/div><\/div>\n<p class=\"kdw-out\" data-r=\"why\" aria-live=\"polite\"><\/p><\/div>\n<script>(function(){var w=document.getElementById('kdw-ship');if(!w)return;var L=(location.pathname.match(\/^.(en|de)(.|$)\/)||[])[1]||'pl';var LOC={pl:'pl-PL',en:'en-GB',de:'de-DE'}[L];var f=new Intl.NumberFormat(LOC,{style:'currency',currency:'PLN'});\nvar NM={pl:{kurier:'Kurier',paczkomat:'Paczkomat',odbior:'Odbi\u00f3r osobisty',free:'Darmowa wysy\u0142ka',other:'Metoda zbiorcza (jak kurier)'},en:{kurier:'Courier',paczkomat:'Parcel locker',odbior:'Personal pickup',free:'Free shipping',other:'Catch-all method (like courier)'},de:{kurier:'Kurier',paczkomat:'Paketstation',odbior:'Selbstabholung',free:'Kostenloser Versand',other:'Sammelmethode (wie Kurier)'}}[L];\nvar WH={pl:{paczkomat:'s\u0142owo \u201epaczkomat\u201d albo \u201einpost\u201d',kurier:'nazwa kuriera albo s\u0142owo \u201ekurier\u201d',odbior:'s\u0142owo \u201eodbi\u00f3r\u201d albo \u201eosobisty\u201d',free:'s\u0142owo \u201edarmowa\u201d, \u201efree\u201d albo \u201egratis\u201d',other:'\u017cadne znane s\u0142owo, wi\u0119c metoda zbiorcza',by:'Rozpoznane po: ',fr:' Towar za co najmniej 700 z\u0142 brutto, wi\u0119c kurier jest darmowy.',fn:' Kurier jest darmowy od 700 z\u0142 brutto.'},\nen:{paczkomat:'the word \u201cpaczkomat\u201d (parcel locker) or \u201cinpost\u201d',kurier:'a courier name or the word \u201ckurier\u201d',odbior:'the word \u201codbi\u00f3r\u201d (pickup) or \u201cosobisty\u201d',free:'the word \u201cdarmowa\u201d (free), \u201cfree\u201d or \u201cgratis\u201d',other:'no known word, so the catch-all method',by:'Recognised by: ',fr:' Goods worth at least PLN 700 gross, so the courier is free.',fn:' The courier is free from PLN 700 gross.'},\nde:{paczkomat:'das Wort \u201epaczkomat\u201c (Paketstation) oder \u201einpost\u201c',kurier:'ein Kurierdienst oder das Wort \u201ekurier\u201c',odbior:'das Wort \u201eodbi\u00f3r\u201c (Abholung) oder \u201eosobisty\u201c',free:'das Wort \u201edarmowa\u201c (kostenlos), \u201efree\u201c oder \u201egratis\u201c',other:'kein bekanntes Wort, daher die Sammelmethode',by:'Erkannt an: ',fr:' Ware im Wert von mindestens 700 PLN brutto, daher ist der Kurier kostenlos.',fn:' Der Kurier ist ab 700 PLN brutto kostenlos.'}}[L];\nvar M={kurier:['kds_partner_kurier',43.05,700],paczkomat:['kds_partner_paczkomat',10.99,0],odbior:['kds_partner_odbior',0,0],free:['kds_partner_free_shipping',0,0],other:['kds_partner_shipping',43.05,700]};\nfunction has(t,a){return a.some(function(x){return t.indexOf(x)!==-1;});}\nfunction resolve(t){t=t.toLowerCase();if(has(t,['paczkomat','inpost']))return'paczkomat';if(has(t,['kurier','dpd','dhl','gls','ups']))return'kurier';if(has(t,['odbi','pickup','osobist']))return'odbior';if(has(t,['free','darm','gratis']))return'free';return'other';}\nfunction q(k){return w.querySelector('[data-k=\"'+k+'\"]');}function r(k){return w.querySelector('[data-r=\"'+k+'\"]');}\nfunction calc(){var val=+q('val').value;w.querySelector('[data-o=\"val\"]').textContent=f.format(val);var k=resolve(q('name').value),m=M[k],cost=m[1];if(m[2]>0){if(val>=m[2])cost=0;}\nr('slug').textContent=m[0];r('sel').textContent=NM[k];r('cost').textContent=f.format(cost);\nr('why').textContent=WH.by+WH[k]+'.'+(m[2]>0?(val>=m[2]?WH.fr:WH.fn):'');}\nw.querySelectorAll('.kdw-chips button').forEach(function(b){b.addEventListener('click',function(){q('name').value=b.textContent;calc();});});\nw.querySelectorAll('[data-k]').forEach(function(el){el.addEventListener('input',calc);});calc();})();<\/script>\n\n<h3>3. Faktura op\u0142acona, zanim ktokolwiek zap\u0142aci\u0142<\/h3>\n<p>Jeden z partner\u00f3w, kt\u00f3ry sk\u0142ada zam\u00f3wienia prosto ze swojego systemu ERP, zg\u0142osi\u0142, \u017ce faktury trafiaj\u0105 do Sellasist jako op\u0142acone, cho\u0107 ma 30 dni na zap\u0142at\u0119. Przyczyna siedzia\u0142a w WooCommerce: ustawienie zam\u00f3wieniu statusu \u201ew realizacji\u201d automatycznie wpisuje dat\u0119 zap\u0142aty. Sellasist widzia\u0142 t\u0119 dat\u0119 i uznawa\u0142 faktur\u0119 za zap\u0142acon\u0105, pomijaj\u0105c termin z grupy kupuj\u0105cych. Poprawka to jedna linia, kt\u00f3ra czy\u015bci dat\u0119 zap\u0142aty po ustawieniu statusu. Znalezienie jej wymaga\u0142o por\u00f3wnania, co dok\u0142adnie Sellasist czyta z zam\u00f3wienia.<\/p>\n\n<div class=\"kdw\" id=\"kdw-pay\"><span class=\"kdw-eye\">VORHER - NACHHER<\/span><h3>Co widzi ksi\u0119gowo\u015b\u0107?<\/h3><p class=\"kdw-sub\">Prze\u0142\u0105cz, \u017ceby zobaczy\u0107 t\u0119 sam\u0105 faktur\u0119 przed poprawk\u0105 i po niej.<\/p>\n<div class=\"kdw-tabs\" role=\"group\" aria-label=\"Wersja\"><button type=\"button\" data-v=\"0\" aria-pressed=\"false\">Przed poprawk\u0105<\/button><button type=\"button\" data-v=\"1\" aria-pressed=\"true\">Nach der Korrektur<\/button><\/div>\n<ol class=\"kdw-time\"><li data-t=\"0\"><\/li><li data-t=\"1\"><\/li><li data-t=\"2\"><\/li><li data-t=\"3\"><\/li><\/ol>\n<p class=\"kdw-out\" aria-live=\"polite\"><\/p><\/div>\n<script>(function(){var w=document.getElementById('kdw-pay');if(!w)return;var L=(location.pathname.match(\/^.(en|de)(.|$)\/)||[])[1]||'pl';var LOC={pl:'pl-PL',en:'en-GB',de:'de-DE'}[L];var tabs=w.querySelectorAll('.kdw-tabs button'),ls=w.querySelectorAll('.kdw-time li'),out=w.querySelector('.kdw-out');\nvar D={pl:{d0:'Dzie\u0144 0',d30:'Dzie\u0144 30',V:[[['Zam\u00f3wienie z ERP','Status \u201ew realizacji\u201d.'],['Data zap\u0142aty: dzi\u015b','WooCommerce wpisuje j\u0105 sam.'],['Faktura \u201eop\u0142acona\u201d','Sellasist pomija termin 30 dni.'],['Brak kontroli','Nikt nie wie, \u017ce p\u0142atno\u015b\u0107 jeszcze nie przysz\u0142a.']],[['Zam\u00f3wienie z ERP','Status \u201ew realizacji\u201d.'],['Data zap\u0142aty: pusta','Czy\u015bcimy j\u0105 po ustawieniu statusu.'],['Termin: 30 dni','Sellasist bierze termin z grupy partnera.'],['Rozliczenie','P\u0142atno\u015b\u0107 oznaczana, gdy faktycznie wp\u0142ynie.']]],T:['Przed poprawk\u0105 ka\u017cda faktura dla partnera wygl\u0105da\u0142a na zap\u0142acon\u0105 od razu. To ryzyko zator\u00f3w p\u0142atniczych, kt\u00f3rych nikt nie widzi.','Po poprawce Sellasist stosuje termin p\u0142atno\u015bci przypisany do partnera, a faktura czeka na wp\u0142at\u0119 jak ka\u017cda inna.']},\nen:{d0:'Day 0',d30:'Day 30',V:[[['Order from ERP','Status \u201cprocessing\u201d.'],['Paid date: today','WooCommerce sets it on its own.'],['Invoice \u201cpaid\u201d','Sellasist skips the 30-day terms.'],['No control','Nobody knows the payment has not arrived yet.']],[['Order from ERP','Status \u201cprocessing\u201d.'],['Paid date: empty','We clear it after setting the status.'],['Terms: 30 days','Sellasist takes the terms from the partner\u2019s group.'],['Settlement','Payment is marked when it actually arrives.']]],T:['Before the fix, every invoice for the partner looked paid straight away. That is a risk of payment backlogs nobody can see.','After the fix, Sellasist applies the payment terms assigned to the partner, and the invoice waits for payment like any other.']},\nde:{d0:'Tag 0',d30:'Tag 30',V:[[['Bestellung aus dem ERP','Status \u201ein Bearbeitung\u201c.'],['Zahlungsdatum: heute','WooCommerce setzt es selbst.'],['Rechnung \u201ebezahlt\u201c','Sellasist ignoriert das Zahlungsziel von 30 Tagen.'],['Keine Kontrolle','Niemand wei\u00df, dass die Zahlung noch nicht eingegangen ist.']],[['Bestellung aus dem ERP','Status \u201ein Bearbeitung\u201c.'],['Zahlungsdatum: leer','Wir leeren es nach dem Setzen des Status.'],['Zahlungsziel: 30 Tage','Sellasist \u00fcbernimmt das Zahlungsziel aus der Gruppe des Partners.'],['Abrechnung','Die Zahlung wird markiert, wenn sie tats\u00e4chlich eingeht.']]],T:['Vor der Korrektur sah jede Rechnung an den Partner sofort bezahlt aus. Das ist ein Risiko f\u00fcr Zahlungsr\u00fcckst\u00e4nde, die niemand sieht.','Nach der Korrektur wendet Sellasist das dem Partner zugeordnete Zahlungsziel an, und die Rechnung wartet wie jede andere auf die Zahlung.']}}[L];\nvar CL=[['','is-bad','is-bad','is-bad'],['','is-good','is-good','is-good']];\nfunction set(v){tabs.forEach(function(x){x.setAttribute('aria-pressed',+x.getAttribute('data-v')===v?'true':'false');});ls.forEach(function(li,i){var d=D.V[v][i];li.className=CL[v][i];li.innerHTML='<small>'+(i===3?D.d30:D.d0)+'<\/small><b>'+d[0]+'<\/b>'+d[1];});out.className='kdw-out'+(v===0?' is-bad':'');out.textContent=D.T[v];}\ntabs.forEach(function(b){b.addEventListener('click',function(){set(+b.getAttribute('data-v'));});});set(1);})();<\/script>\n\n<h3>4. Numer zam\u00f3wienia partnera tam, gdzie go szukaj\u0105<\/h3>\n<p>Magazyn i obs\u0142uga klienta pracuj\u0105 w Sellasist, a nie w WooCommerce. Numer zam\u00f3wienia z systemu partnera by\u0142 zapisany w danych zam\u00f3wienia, ale Sellasist go nie pokazywa\u0142. Teraz trafia jako pierwsza linia notatki do zam\u00f3wienia (\u201eNr u partnera: \u2026\u201d), kt\u00f3r\u0105 Sellasist wy\u015bwietla od razu. Gdy partner dzwoni w sprawie paczki, wystarczy jego numer.<\/p>\n\n<div class=\"kdcs-box kdcs-box--blue\"><p class=\"kdcs-box-eye\">Dlaczego to wa\u017cne<\/p><p>Ka\u017cdy z tych czterech problem\u00f3w wygl\u0105da\u0142 na drobiazg. Razem oznacza\u0142yby, \u017ce przy oko\u0142o dziesi\u0119ciu zam\u00f3wieniach w ka\u017cdy dzie\u0144 roboczy kto\u015b w firmie poprawia wysy\u0142ki, rozbite pozycje i statusy faktur zamiast zajmowa\u0107 si\u0119 sprzeda\u017c\u0105. Integracja jest gotowa dopiero wtedy, gdy dane po drugiej stronie nie wymagaj\u0105 r\u0119cznej obr\u00f3bki.<\/p><\/div>\n\n<h2>Dokumentacja dla partner\u00f3w i dla zespo\u0142u<\/h2>\n<p>Do API przygotowali\u015bmy dwa dokumenty PDF. <strong>Dla partner\u00f3w<\/strong>: po\u0142\u0105czenie i klucz, katalog, sk\u0142adanie zam\u00f3wie\u0144, statusy, kody b\u0142\u0119d\u00f3w, zasady wsp\u00f3\u0142pracy i gotowy przyk\u0142ad w Pythonie. <strong>Dla zespo\u0142u klienta<\/strong>: dodawanie i edycja partner\u00f3w, obs\u0142uga zam\u00f3wie\u0144, rabaty, dziennik API i odpowiedzi na typowe pytania. Dziennik API zapisuje ka\u017cde wywo\u0142anie, wi\u0119c pytanie \u201eu nas nie dosz\u0142o\u201d da si\u0119 sprawdzi\u0107 w minut\u0119.<\/p>\n\n<figure class=\"jc-shot\"><img decoding=\"async\" src=\"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-pakowanie-listew.jpg\" alt=\"Pracownik magazynu owija foli\u0105 paczk\u0119 bia\u0142ych listew przypod\u0142ogowych, w tle kartony i samoch\u00f3d dostawczy\" loading=\"lazy\" width=\"1400\" height=\"933\"><figcaption><b>Illustration.<\/b> Zam\u00f3wienie od partnera ko\u0144czy si\u0119 tak samo jak zam\u00f3wienie ze sklepu: paczk\u0105 z magazynu producenta. Grafika wygenerowana przez AI (Magnific).<\/figcaption><\/figure>\n\n<h2>Ergebnisse<\/h2>\n<p>Pierwszy partner testowa\u0142 API od lipca, a pod koniec sierpnia przeszed\u0142 na nie w pe\u0142ni. Od tego momentu zam\u00f3wienia od partner\u00f3w stanowi\u0105 wi\u0119kszo\u015b\u0107 sprzeda\u017cy sklepu.<\/p>\n<div class=\"kdw\" id=\"kdw-vol\"><span class=\"kdw-eye\">Zam\u00f3wienia przez API<\/span><h3>Od test\u00f3w do 80% sprzeda\u017cy w dwa miesi\u0105ce<\/h3><p class=\"kdw-sub\">Liczba zam\u00f3wie\u0144 od partner\u00f3w w kolejnych miesi\u0105cach. Najed\u017a na s\u0142upek, \u017ceby zobaczy\u0107 warto\u015b\u0107 brutto.<\/p><div class=\"kdw-chart\"><canvas id=\"kdw-vol-chart\" role=\"img\" aria-label=\"Wykres: zam\u00f3wienia przez API, lipiec 2, sierpie\u0144 6, wrzesie\u0144 165, pa\u017adziernik do 23 dnia 188\"><\/canvas><\/div><p class=\"kdw-note\">Dane z bazy sklepu, stan na 23 pa\u017adziernika 2026. Pa\u017adziernik obejmuje 23 dni.<\/p><\/div>\n<ul>\n<li><strong>361 zam\u00f3wie\u0144 przez API<\/strong> o warto\u015bci 121 677 z\u0142 brutto, 3682 sztuki towaru.<\/li>\n<li><strong>Oko\u0142o 80% wszystkich zam\u00f3wie\u0144 sklepu<\/strong> w tym okresie przysz\u0142o od partner\u00f3w (361 z 453).<\/li>\n<li><strong>5444 wywo\u0142ania API w 30 dni<\/strong>: 4033 zapytania o katalog, 1176 o stany i 235 nowych zam\u00f3wie\u0144.<\/li>\n<li><strong>0 odrzuconych zam\u00f3wie\u0144 i 0 duplikat\u00f3w<\/strong> w tym samym okresie. Partner pobiera stany na bie\u017c\u0105co, dlatego zam\u00f3wienia trafiaj\u0105 na towar, kt\u00f3ry faktycznie jest w magazynie.<\/li>\n<li><strong>Rabaty bez r\u0119cznego liczenia<\/strong>: 356 z 360 zam\u00f3wie\u0144 z automatycznym rabatem Biznes.<\/li>\n<li><strong>Wysy\u0142ka zmapowana<\/strong> w Sellasist dla wszystkich nowych zam\u00f3wie\u0144, bez komunikatu o brakuj\u0105cym sposobie wysy\u0142ki.<\/li>\n<\/ul>\n<p>Kolejni partnerzy pod\u0142\u0105czaj\u0105 si\u0119 na tych samych zasadach: dostaj\u0105 klucz, dokumentacj\u0119 i od pierwszego dnia te same ceny, stany i regu\u0142y co pierwszy.<\/p>\n\n<!--kdcs:seo--><p class=\"kdcs-more\">Podobne integracje sklep\u00f3w z systemami ERP, CRM i wysy\u0142kowymi robimy w ramach us\u0142ugi <a href=\"https:\/\/jsoncrew.com\/oferta\/integracje-erp-crm\/\">integracje ERP\/CRM<\/a>. Je\u015bli zastanawiasz si\u0119, co jeszcze da si\u0119 zautomatyzowa\u0107 w sprzeda\u017cy B2B, zajrzyj do artyku\u0142\u00f3w <a href=\"https:\/\/jsoncrew.com\/2026\/08\/19\/automatyzacja-dzialu-sprzedazy-b2b\/\">o automatyzacji dzia\u0142u sprzeda\u017cy B2B<\/a> i <a href=\"https:\/\/jsoncrew.com\/2026\/08\/13\/automatyzacja-handel-hurtowy-usprawnienia-duzy-ruch\/\">zur Automatisierung im Großhandel<\/a>.<\/p><section class=\"kdcs-qa\" id=\"pytania\"><h2>Najcz\u0119stsze pytania o API dropshippingowe<\/h2><h3>Was ist eine Dropshipping-API in WooCommerce?<\/h3><p>To interfejs, przez kt\u00f3ry sklepy partnerskie pobieraj\u0105 katalog, ceny i stany producenta oraz sk\u0142adaj\u0105 zam\u00f3wienia prosto do jego sklepu na WooCommerce. Producent wysy\u0142a towar do klienta ko\u0144cowego, a partner nie trzyma magazynu i nie przepisuje zam\u00f3wie\u0144 r\u0119cznie.<\/p><h3>Czy partner mo\u017ce sam ustali\u0107 cen\u0119 w zam\u00f3wieniu przez API?<\/h3><p>Nie. W tym wdro\u017ceniu partner podaje tylko SKU i ilo\u015b\u0107, a cen\u0119 zawsze liczy sklep producenta: z rabatem partnera albo z rabatem Biznes przypisanym do kategorii i grup produkt\u00f3w, zale\u017cnie od tego, kt\u00f3ry jest wy\u017cszy.<\/p><h3>Jak zam\u00f3wienia z API trafiaj\u0105 do Sellasist?<\/h3><p>Sellasist pobiera je ze sklepu WooCommerce jak zwyk\u0142e zam\u00f3wienia. \u017beby nie wymaga\u0142y poprawek, ka\u017cde zam\u00f3wienie ma zarejestrowan\u0105 metod\u0119 wysy\u0142ki i p\u0142atno\u015bci, podatki policzone tak, \u017ceby cena jednostkowa razy ilo\u015b\u0107 dawa\u0142a warto\u015b\u0107 pozycji, pust\u0105 dat\u0119 zap\u0142aty przy odroczonym terminie i numer zam\u00f3wienia partnera w notatce.<\/p><h3>Co si\u0119 stanie, je\u015bli partner wy\u015ble to samo zam\u00f3wienie dwa razy?<\/h3><p>Drugie zam\u00f3wienie nie powstanie. Para \u201epartner i numer zam\u00f3wienia\u201d jest unikalna w bazie, wi\u0119c powt\u00f3rka zwraca istniej\u0105ce zam\u00f3wienie z flag\u0105 \u201eduplicate\u201d, nawet je\u015bli oba \u017c\u0105dania przyjd\u0105 w tej samej chwili.<\/p><h3>Czy do API mo\u017cna pod\u0142\u0105czy\u0107 system ERP zamiast sklepu internetowego?<\/h3><p>Tak. API przyjmuje zwyk\u0142e \u017c\u0105dania HTTP z kluczem w nag\u0142\u00f3wku, wi\u0119c mo\u017ce z niego korzysta\u0107 zar\u00f3wno sklep, jak i system ERP. Jeden z partner\u00f3w w tym wdro\u017ceniu sk\u0142ada zam\u00f3wienia bezpo\u015brednio ze swojego ERP.<\/p><h3>Dlaczego Sellasist rozbija\u0142 pozycje zam\u00f3wienia na dwie linie?<\/h3><p>Sellasist wymaga, \u017ceby cena jednostkowa brutto pomno\u017cona przez ilo\u015b\u0107 dawa\u0142a dok\u0142adnie warto\u015b\u0107 pozycji. Standardowy WooCommerce liczy VAT od sumy netto pozycji, wi\u0119c przy wi\u0119kszych ilo\u015bciach wynik r\u00f3\u017cni\u0142 si\u0119 o kilka groszy. Liczymy najpierw cen\u0119 jednostkow\u0105 brutto, a VAT wyznaczamy jako r\u00f3\u017cnic\u0119.<\/p><\/section><!--\/kdcs:seo-->\n\n<section class=\"kdcs-invite\"><div class=\"cs-invite-in\"><div class=\"cs-invite-box\"><span class=\"cs-invite-eye\">Ihre Integration<\/span><h2>Chcesz, \u017ceby partnerzy zamawiali u Ciebie bez maili i przepisywania?<\/h2><p>Um\u00f3w bezp\u0142atn\u0105 rozmow\u0119. Sprawdzimy, jak po\u0142\u0105czy\u0107 Tw\u00f3j sklep, ERP albo system wysy\u0142ek z partnerami tak, \u017ceby ceny, stany i faktury zgadza\u0142y si\u0119 bez r\u0119cznych poprawek.<\/p><a class=\"cs-invite-btn\" href=\"https:\/\/jsoncrew.com\/kontakt\/\">Um\u00f3w rozmow\u0119<\/a><p class=\"kdcs-invite-alt\">oder <a href=\"https:\/\/jsoncrew.com\/oferta\/integracje-erp-crm\/\">zobacz ofert\u0119 \u2192<\/a><\/p><\/div><\/div><\/section>\n<script>(function(){var s=document.querySelector('.kdcs-invite'),c=document.querySelector('.case-study-content-section');if(!s||!c||!c.parentNode)return;c.parentNode.insertBefore(s,c.nextSibling);})();<\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.4.1\/dist\/chart.umd.min.js\" defer><\/script>\n<script>(function(){\nvar L=(location.pathname.match(\/^.(en|de)(.|$)\/)||[])[1]||'pl';var LOC={pl:'pl-PL',en:'en-GB',de:'de-DE'}[L];\nvar I={pl:{m:['Lipiec','Sierpie\u0144','Wrzesie\u0144','Pa\u017adziernik (do 23.10)'],ds:'Zam\u00f3wienia przez API',one:' zam\u00f3wienie',few:' zam\u00f3wienia',many:' zam\u00f3wie\u0144',g:' brutto'},en:{m:['July','August','September','October (to 23 Oct)'],ds:'Orders via API',one:' order',few:' orders',many:' orders',g:' gross'},de:{m:['Juli','August','September','Oktober (bis 23.10.)'],ds:'Bestellungen \u00fcber die API',one:' Bestellung',few:' Bestellungen',many:' Bestellungen',g:' brutto'}}[L];\nfunction plural(n){if(n===1)return I.one;var d=n%10,t=n%100;if(d<2)return I.many;if(d>4)return I.many;if([12,13,14].indexOf(t)>-1)return I.many;return I.few;}\nfunction whenChart(cb){if(window.Chart){cb();return;}var n=0,t=setInterval(function(){if(window.Chart||++n>100){clearInterval(t);if(window.Chart)cb();}},100);}\nfunction boot(){var c=document.getElementById('kdw-vol-chart');if(!c)return;var val=[115.17,431.06,58880.71,62250.52];var f=new Intl.NumberFormat(LOC,{style:'currency',currency:'PLN',maximumFractionDigits:0});\nwhenChart(function(){Chart.defaults.font.family='Inter, system-ui, sans-serif';new Chart(c,{type:'bar',data:{labels:I.m,datasets:[{label:I.ds,data:[2,6,165,188],backgroundColor:['#C9CFEA','#C9CFEA','#16C47F','#16C47F'],borderRadius:6,maxBarThickness:90}]},options:{responsive:true,maintainAspectRatio:false,scales:{y:{beginAtZero:true,grid:{color:'rgba(11,22,32,.06)'},ticks:{precision:0}},x:{grid:{display:false}}},plugins:{legend:{display:false},tooltip:{callbacks:{label:function(x){var n=x.parsed.y;return ' '+n+plural(n)+', '+f.format(val[x.dataIndex])+I.g;}}}}}});});}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot);else boot();\n})();<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Eine Dropshipping-API f\u00fcr WooCommerce f\u00fcr einen Hersteller von Abschlussleisten: B2B-Rabatte automatisch berechnet, Best\u00e4nde vor der Bestellung gepr\u00fcft, Sellasist-Bestellungen auf den Cent genau. 361 Bestellungen und rund 80 % des Shopumsatzes in zwei Monaten.<\/p>","protected":false},"featured_media":2545,"template":"","meta":{"_acf_changed":false,"footnotes":""},"brevo_track":[],"class_list":["post-2549","case_studies","type-case_studies","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.8 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Dropshipping-API für WooCommerce und Sellasist: Case Study<\/title>\n<meta name=\"description\" content=\"How a moulding manufacturer connected partner stores through a WooCommerce dropshipping API: B2B discounts, stock and Sellasist orders accurate to the cent.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jsoncrew.com\/de\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"API dropshippingowe: 80% zam\u00f3wie\u0144 od partner\u00f3w bez przepisywania\" \/>\n<meta property=\"og:description\" content=\"WooCommerce + Sellasist: B2B discounts calculated automatically, stock checked before ordering, shipping and invoices with no manual fixes. 361 orders in two months.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jsoncrew.com\/de\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/\" \/>\n<meta property=\"og:site_name\" content=\"JSON Crew\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T10:32:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-case-study-og.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"API dropshippingowe: 80% zam\u00f3wie\u0144 od partner\u00f3w bez przepisywania\" \/>\n<meta name=\"twitter:description\" content=\"WooCommerce + Sellasist: rabaty B2B liczone automatycznie, stany przed zam\u00f3wieniem, wysy\u0142ki i faktury bez r\u0119cznych poprawek. 361 zam\u00f3wie\u0144 w dwa miesi\u0105ce.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-case-study-og.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"12\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/\",\"url\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/\",\"name\":\"Dropshipping-API für WooCommerce und Sellasist: Case Study\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jsoncrew.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/api-dropshipping-magazyn-listew.jpg\",\"datePublished\":\"2026-10-23T10:25:11+00:00\",\"dateModified\":\"2026-10-23T10:32:30+00:00\",\"description\":\"Jak producent listew pod\u0142\u0105czy\u0142 sklepy partnerskie przez API dropshippingowe na WooCommerce: rabaty B2B, stany i zam\u00f3wienia w Sellasist co do grosza. Zobacz.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jsoncrew.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/api-dropshipping-magazyn-listew.jpg\",\"contentUrl\":\"https:\\\/\\\/jsoncrew.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/api-dropshipping-magazyn-listew.jpg\",\"width\":1600,\"height\":900,\"caption\":\"Ilustracja wygenerowana przez AI (Magnific).\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/jsoncrew.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case Studies\",\"item\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"API dropshippingowe dla producenta listew: 80% zam\u00f3wie\u0144 od partner\u00f3w bez r\u0119cznego przepisywania\",\"item\":\"https:\\\/\\\/jsoncrew.com\\\/case-studies\\\/api-dropshipping-woocommerce-sellasist-producent-listew\\\/\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#website\",\"url\":\"https:\\\/\\\/jsoncrew.com\\\/\",\"name\":\"JSON Crew: Automatisierungen, Konfiguratoren, interaktive Konferenzräume, interaktive Kioske\",\"description\":\"Automatisierungen, Konfiguratoren, interaktive Konferenzräume, interaktive Kioske\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jsoncrew.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\",\"publisher\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#organization\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#\\\/schema\\\/person\\\/jedrzej-siewierski\",\"name\":\"J\u0119drzej Siewierski\",\"jobTitle\":\"CEO\",\"url\":\"https:\\\/\\\/jsoncrew.com\\\/o-nas\\\/\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jedrzej-siewierski\\\/\"],\"worksFor\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#organization\"}},{\"@type\":[\"Organization\",\"ProfessionalService\"],\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#organization\",\"name\":\"JSON Crew\",\"legalName\":\"JSON Crew Sp. z o.o.\",\"url\":\"https:\\\/\\\/jsoncrew.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#logo\",\"url\":\"https:\\\/\\\/jsoncrew.com\\\/wp-content\\\/themes\\\/blankslate\\\/assets\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/jsoncrew.com\\\/wp-content\\\/themes\\\/blankslate\\\/assets\\\/logo.png\",\"width\":558,\"height\":83,\"caption\":\"JSON Crew\"},\"image\":{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#logo\"},\"description\":\"Software house specjalizuj\u0105cy si\u0119 w automatyzacji sprzeda\u017cy i operacji B2B. Konfiguratory 3D, CPQ, aplikacje webowe i mobilne, integracje ERP\\\/CRM, wdro\u017cenia AI. MVP w 8 tygodni.\",\"foundingDate\":\"2024\",\"email\":\"contact@jsoncrew.com\",\"telephone\":\"+48 886 864 199\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Al. Gen. T. Bora-Komorowskiego 25\\\/U24\",\"addressLocality\":\"Krak\u00f3w\",\"postalCode\":\"31-476\",\"addressCountry\":\"PL\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":50.061399999999999,\"longitude\":19.947600000000001},\"openingHoursSpecification\":[{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],\"opens\":\"09:00\",\"closes\":\"17:00\"}],\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"email\":\"contact@jsoncrew.com\",\"telephone\":\"+48 886 864 199\",\"availableLanguage\":[\"pl\",\"en\"]},\"areaServed\":[{\"@type\":\"Country\",\"name\":\"Poland\"},{\"@type\":\"Country\",\"name\":\"Germany\"},{\"@type\":\"Country\",\"name\":\"Austria\"},{\"@type\":\"Country\",\"name\":\"Switzerland\"}],\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":2,\"maxValue\":9},\"priceRange\":\"30000 PLN - 90000 PLN\",\"founder\":[{\"@id\":\"https:\\\/\\\/jsoncrew.com\\\/#\\\/schema\\\/person\\\/jedrzej-siewierski\"}],\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/json-crew\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@jsoncrew\",\"https:\\\/\\\/www.instagram.com\\\/jsoncrew\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@jsoncrew\",\"https:\\\/\\\/www.facebook.com\\\/people\\\/JSON-Crew\\\/61574481505036\\\/\",\"https:\\\/\\\/open.spotify.com\\\/user\\\/31whfap3jk4cpfabdmaivzd3lkgu\",\"https:\\\/\\\/clutch.co\\\/profile\\\/json-crew\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dropshipping-API f\u00fcr WooCommerce und Sellasist: Case Study","description":"Wie ein Leistenhersteller Partnershops \u00fcber eine WooCommerce-Dropshipping-API angebunden hat: B2B-Rabatte, Lagerbest\u00e4nde und Sellasist-Bestellungen auf den Cent genau.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jsoncrew.com\/de\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/","og_locale":"de_DE","og_type":"article","og_title":"API dropshippingowe: 80% zam\u00f3wie\u0144 od partner\u00f3w bez przepisywania","og_description":"WooCommerce + Sellasist: B2B discounts calculated automatically, stock checked before ordering, shipping and invoices with no manual fixes. 361 orders in two months.","og_url":"https:\/\/jsoncrew.com\/de\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/","og_site_name":"JSON Crew","article_modified_time":"2026-10-23T10:32:30+00:00","og_image":[{"url":"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-case-study-og.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_title":"API dropshippingowe: 80% zam\u00f3wie\u0144 od partner\u00f3w bez przepisywania","twitter_description":"WooCommerce + Sellasist: rabaty B2B liczone automatycznie, stany przed zam\u00f3wieniem, wysy\u0142ki i faktury bez r\u0119cznych poprawek. 361 zam\u00f3wie\u0144 w dwa miesi\u0105ce.","twitter_image":"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-case-study-og.jpg","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"12\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/","url":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/","name":"Dropshipping-API f\u00fcr WooCommerce und Sellasist: Case Study","isPartOf":{"@id":"https:\/\/jsoncrew.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/#primaryimage"},"image":{"@id":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/#primaryimage"},"thumbnailUrl":"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-magazyn-listew.jpg","datePublished":"2026-10-23T10:25:11+00:00","dateModified":"2026-10-23T10:32:30+00:00","description":"Wie der Lamellenhersteller den Partner \u00fcber Dropshipping-APIs mit WooCommerce verbunden hat: B2B-Rabatte, Status und Bestellungen bei Sellasist jeden Cent. Siehe.","breadcrumb":{"@id":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/#primaryimage","url":"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-magazyn-listew.jpg","contentUrl":"https:\/\/jsoncrew.com\/wp-content\/uploads\/2026\/10\/api-dropshipping-magazyn-listew.jpg","width":1600,"height":900,"caption":"Ilustracja wygenerowana przez AI (Magnific)."},{"@type":"BreadcrumbList","@id":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/jsoncrew.com\/"},{"@type":"ListItem","position":2,"name":"Case Studies","item":"https:\/\/jsoncrew.com\/case-studies\/"},{"@type":"ListItem","position":3,"name":"API dropshippingowe dla producenta listew: 80% zam\u00f3wie\u0144 od partner\u00f3w bez r\u0119cznego przepisywania","item":"https:\/\/jsoncrew.com\/case-studies\/api-dropshipping-woocommerce-sellasist-producent-listew\/"}]},{"@type":"WebSite","@id":"https:\/\/jsoncrew.com\/#website","url":"https:\/\/jsoncrew.com\/","name":"JSON Crew: Automatisierungen, Konfiguratoren, interaktive Konferenzr\u00e4ume, interaktive Kioske","description":"Automatisierungen, Konfiguratoren, interaktive Konferenzr\u00e4ume, interaktive Kioske","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jsoncrew.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de","publisher":{"@id":"https:\/\/jsoncrew.com\/#organization"}},{"@type":"Person","@id":"https:\/\/jsoncrew.com\/#\/schema\/person\/jedrzej-siewierski","name":"J\u0119drzej Siewierski","jobTitle":"CEO","url":"https:\/\/jsoncrew.com\/o-nas\/","sameAs":["https:\/\/www.linkedin.com\/in\/jedrzej-siewierski\/"],"worksFor":{"@id":"https:\/\/jsoncrew.com\/#organization"}},{"@type":["Organization","ProfessionalService"],"@id":"https:\/\/jsoncrew.com\/#organization","name":"JSON Crew","legalName":"JSON Crew Sp. z o.o.","url":"https:\/\/jsoncrew.com\/","logo":{"@type":"ImageObject","@id":"https:\/\/jsoncrew.com\/#logo","url":"https:\/\/jsoncrew.com\/wp-content\/themes\/blankslate\/assets\/logo.png","contentUrl":"https:\/\/jsoncrew.com\/wp-content\/themes\/blankslate\/assets\/logo.png","width":558,"height":83,"caption":"JSON Crew"},"image":{"@id":"https:\/\/jsoncrew.com\/#logo"},"description":"Softwarehaus, spezialisiert auf Vertriebsautomatisierung und B2B-Betrieb. 3D-Konfiguratoren, CPQ, Web- und mobile Anwendungen, ERP\/CRM-Integrationen, KI-Implementierungen. MVP in 8 Wochen.","foundingDate":"2024","email":"contact@jsoncrew.com","telephone":"+48 886 864 199","address":{"@type":"PostalAddress","streetAddress":"Al. Gen. T. Bora-Komorowskiego 25\/U24","addressLocality":"Krak\u00f3w","postalCode":"31-476","addressCountry":"PL"},"geo":{"@type":"GeoCoordinates","latitude":50.061399999999999,"longitude":19.947600000000001},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"17:00"}],"contactPoint":{"@type":"ContactPoint","contactType":"sales","email":"contact@jsoncrew.com","telephone":"+48 886 864 199","availableLanguage":["pl","en"]},"areaServed":[{"@type":"Country","name":"Poland"},{"@type":"Country","name":"Germany"},{"@type":"Country","name":"Austria"},{"@type":"Country","name":"Switzerland"}],"numberOfEmployees":{"@type":"QuantitativeValue","minValue":2,"maxValue":9},"priceRange":"30000 PLN - 90000 PLN","founder":[{"@id":"https:\/\/jsoncrew.com\/#\/schema\/person\/jedrzej-siewierski"}],"sameAs":["https:\/\/www.linkedin.com\/company\/json-crew\/","https:\/\/www.youtube.com\/@jsoncrew","https:\/\/www.instagram.com\/jsoncrew\/","https:\/\/www.tiktok.com\/@jsoncrew","https:\/\/www.facebook.com\/people\/JSON-Crew\/61574481505036\/","https:\/\/open.spotify.com\/user\/31whfap3jk4cpfabdmaivzd3lkgu","https:\/\/clutch.co\/profile\/json-crew"]}]}},"_links":{"self":[{"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/case_studies\/2549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/case_studies"}],"about":[{"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/types\/case_studies"}],"version-history":[{"count":4,"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/case_studies\/2549\/revisions"}],"predecessor-version":[{"id":2553,"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/case_studies\/2549\/revisions\/2553"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/media\/2545"}],"wp:attachment":[{"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/media?parent=2549"}],"wp:term":[{"taxonomy":"brevo_track","embeddable":true,"href":"https:\/\/jsoncrew.com\/de\/wp-json\/wp\/v2\/brevo_track?post=2549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}