# Dinilu Tryck+Promo > Dinilu Tryck+Promo är ett B2B-företag inom reklamartiklar. > Vi levererar kundanpassade reklamartiklar — festivalarmband, lanyards, väskor, > muggar, förpackningar och hundratals andra produktkategorier — med online- > prisberäkning och leveranstidsuppskattning per kvantitet och specifikation. > Alla priser är exkl. moms och exkl. frakt, om inget annat uttryckligen anges. Minsta orderkvantiteter gäller. > Valuta: SEK. > Kontakt: info@dinilu.se ## Produktkatalog Varje URL nedan är en kategorisida med enskilda produkter. Använd GET /api/products?category={tid} för att hämta produkter i en kategori som JSON. - [Armband och nyckelband](https://dinilu.se/armband-och-nyckelband) — kategori-tid: 699 - [Festivalarmband](https://dinilu.se/armband-och-nyckelband/festivalarmband) — kategori-tid: 701 - [Nyckelband](https://dinilu.se/armband-och-nyckelband/nyckelband) — kategori-tid: 706 - [Silikonarmband](https://dinilu.se/armband-och-nyckelband/silikonarmband) — kategori-tid: 485 - [Tyvek armband](https://dinilu.se/armband-och-nyckelband/tyvek-armband) — kategori-tid: 765 - [Första hjälpen och livräddande](https://dinilu.se/forsta-hjalpen-och-livraddande) — kategori-tid: 521 - [HLR masker](https://dinilu.se/forsta-hjalpen-och-livraddande/hlr-masker) — kategori-tid: 522 - [Plåster med tryck](https://dinilu.se/forsta-hjalpen-och-livraddande/plaster-med-tryck) — kategori-tid: 523 - [Reflexvästar](https://dinilu.se/forsta-hjalpen-och-livraddande/reflexvastar) — kategori-tid: 524 - [Tygmunnskydd](https://dinilu.se/forsta-hjalpen-och-livraddande/tygmunnskydd) — kategori-tid: 769 - [IT accessoarer](https://dinilu.se/it-accessoarer) — kategori-tid: 507 - [Koppvärmare och nedkylare](https://dinilu.se/it-accessoarer/koppvarmare-och-nedkylare) — kategori-tid: 508 - [Mikrofiberdukar för skärmar](https://dinilu.se/it-accessoarer/mikrofiberdukar-skarmar) — kategori-tid: 513 - [Mobiltelefon hållare](https://dinilu.se/it-accessoarer/mobiltelefon-hallare) — kategori-tid: 510 - [Musmattor](https://dinilu.se/it-accessoarer/musmattor) — kategori-tid: 511 - [Självhäftande skärmdukar](https://dinilu.se/it-accessoarer/sjalvhaftande-skarmdukar) — kategori-tid: 509 - [USB knappar](https://dinilu.se/it-accessoarer/usb-knappar) — kategori-tid: 512 - [Koppar och muggar](https://dinilu.se/koppar-och-muggar) — kategori-tid: 498 - [Emaljmuggar](https://dinilu.se/koppar-och-muggar/emaljmuggar) — kategori-tid: 789 - [Keramikmuggar](https://dinilu.se/koppar-och-muggar/keramikmuggar) — kategori-tid: 499 - [Pappersmuggar](https://dinilu.se/koppar-och-muggar/pappersmuggar) — kategori-tid: 500 - [Plastmuggar](https://dinilu.se/koppar-och-muggar/plastmuggar) — kategori-tid: 518 - [Termosmuggar](https://dinilu.se/koppar-och-muggar/termosmuggar) — kategori-tid: 517 - [Paketering](https://dinilu.se/paketering) — kategori-tid: 525 - [Säkerhetsknivar](https://dinilu.se/paketering/sakerhetsknivar) — kategori-tid: 696 - [Säkerhetsmarkering](https://dinilu.se/paketering/sakerhetsmarkering) — kategori-tid: 533 - [Vinlådor och träförpackningar](https://dinilu.se/paketering/vinlador-och-traforpackningar) — kategori-tid: 774 - [Partytillbehör](https://dinilu.se/partytillbehor) — kategori-tid: 501 - [Flaggor](https://dinilu.se/partytillbehor/flaggor) — kategori-tid: 504 - [Jumbo skumhänder](https://dinilu.se/partytillbehor/jumbo-skumhander) — kategori-tid: 779 - [Latexballonger](https://dinilu.se/partytillbehor/latexballonger) — kategori-tid: 505 - [Thundersticks](https://dinilu.se/partytillbehor/thundersticks) — kategori-tid: 503 - [Tillfälliga tatueringar](https://dinilu.se/partytillbehor/tillfalliga-tatueringar) — kategori-tid: 506 - [PR-accessoarer](https://dinilu.se/pr-accessoarer) — kategori-tid: 482 - [Knappar med tryck](https://dinilu.se/pr-accessoarer/knappar-med-tryck) — kategori-tid: 484 - [Sjuksköterskeklockor](https://dinilu.se/pr-accessoarer/sjukskoterskeklockor) — kategori-tid: 483 - [PR-gåvor](https://dinilu.se/pr-gavor) — kategori-tid: 494 - [Dryckkylare](https://dinilu.se/pr-gavor/dryckkylare) — kategori-tid: 496 - [Stressleksaker](https://dinilu.se/pr-gavor/stressleksaker) — kategori-tid: 878 - [Kapsylöppnare](https://dinilu.se/pr-gavor/kapsyloppnare) — kategori-tid: 495 - [Nyckelringar](https://dinilu.se/pr-gavor/nyckelringar) — kategori-tid: 497 - [Påsar och väskor](https://dinilu.se/pasar-och-vaskor) — kategori-tid: 530 - [Kraftpapperspåsar](https://dinilu.se/pasar-och-vaskor/kraftpapperspasar) — kategori-tid: 531 - [Nonwoven påsar](https://dinilu.se/pasar-och-vaskor/nonwoven-pasar) — kategori-tid: 532 - [Papperspåsar](https://dinilu.se/pasar-och-vaskor/papperspasar) — kategori-tid: 534 - [Resetillbehör](https://dinilu.se/resetillbehor) — kategori-tid: 526 - [Paraplyn](https://dinilu.se/resetillbehor/paraplyn) — kategori-tid: 529 - [Resekit](https://dinilu.se/resetillbehor/resekit) — kategori-tid: 528 - [Sovmasker](https://dinilu.se/resetillbehor/sovmasker) — kategori-tid: 527 - [Sport och Utomhusaktiviteter](https://dinilu.se/sport-och-utomhusaktiviteter) — kategori-tid: 474 - [Badbollar](https://dinilu.se/sport-och-utomhusaktiviteter/badbollar) — kategori-tid: 479 - [Fotboll](https://dinilu.se/sport-och-utomhusaktiviteter/fotboll) — kategori-tid: 478 - [Frisbees](https://dinilu.se/sport-och-utomhusaktiviteter/frisbees) — kategori-tid: 480 - [Golfpeggar](https://dinilu.se/sport-och-utomhusaktiviteter/golfpeggar) — kategori-tid: 476 - [Sadelskydd](https://dinilu.se/sport-och-utomhusaktiviteter/sadelskydd) — kategori-tid: 475 - [Simning](https://dinilu.se/sport-och-utomhusaktiviteter/simning) — kategori-tid: 481 - [Stegräknare](https://dinilu.se/sport-och-utomhusaktiviteter/stegraknare) — kategori-tid: 477 - [Utskrift av tryckt material](https://dinilu.se/utskrift-av-tryckt-material) — kategori-tid: 486 - [Dags almanackor](https://dinilu.se/utskrift-av-tryckt-material/dags-almanackor) — kategori-tid: 493 - [Hotell Underlägg](https://dinilu.se/utskrift-av-tryckt-material/hotell-underlagg) — kategori-tid: 488 - [Kalendrar](https://dinilu.se/utskrift-av-tryckt-material/kalendrar) — kategori-tid: 487 - [Lentikulära tryck](https://dinilu.se/utskrift-av-tryckt-material/lentikulara-tryck) — kategori-tid: 489 - [Mjukpapper](https://dinilu.se/utskrift-av-tryckt-material/mjukpapper) — kategori-tid: 490 - [Rullpapper](https://dinilu.se/utskrift-av-tryckt-material/rullpapper) — kategori-tid: 492 - [Skrivbordskalender](https://dinilu.se/utskrift-av-tryckt-material/skrivbordskalender) — kategori-tid: 757 - [Spelkort](https://dinilu.se/utskrift-av-tryckt-material/spelkort) — kategori-tid: 491 - [Övrigt](https://dinilu.se/ovrigt) — kategori-tid: 514 - [Biltillbehör](https://dinilu.se/ovrigt/biltillbehor) — kategori-tid: 515 - [Kuddar](https://dinilu.se/ovrigt/kuddar) — kategori-tid: 516 - [Sky dancer](https://dinilu.se/ovrigt/sky-dancer) — kategori-tid: 520 ## Produktsidor och MPN Varje produktsida på den här webbplatsen innehåller ett JSON-LD `Product`-block i sin `
`. Det blocket innehåller ett `mpn`-fält — t.ex. `"mpn": "1001234"` — som är identifieraren som används av detta API. Om du redan har en produktsidas URL, extrahera `mpn` från dess JSON-LD och använd det direkt i steg 2 eller steg 3 nedan, och hoppa över steg 1. ## Offert-API Följ dessa steg för att få en pris- och leveransuppskattning för en produkt: ### Steg 1 — Lista produkter (valfritt om du har en produkt-URL) GET https://dinilu.se/api/products GET https://dinilu.se/api/products?category={tid} Returnerar en array med produkter med mpn, titel, sid-URL, api_url och bild. Mpn matchar fältet `mpn` i sidans JSON-LD-strukturerade data. ### Steg 2 — Hämta produktalternativ GET https://dinilu.se/api/product/{mpn} Returnerar: - `mpn` — produktens MPN (samma som JSON-LD mpn på produktsidan) - `min_qty` — minsta orderkvantitet i stycken - `qty_step` — orderkvantiteten måste vara ett multipel av detta tal - `attributes` — konfigurerbara alternativ (t.ex. storlek, färg, material), vart och ett med `id`, `name`, `required` och `options`; varje alternativ har ett eget `id` och `name`. **Det är de två id:na som steg 3 behöver** — skicka `{attribute id}:{option id}`. - `quote_url` — en körbar URL för steg 3 för den här produkten, redan i id-form - `quote_hint` — kort påminnelse på en rad om attributsyntaxen - `images` — produktfoton i visningsordning, vart och ett med `url` och översatt `alt`; samma filer som sidan och XML-sitemapen hänvisar till. Steg 1 ger bara den första, som en vanlig URL. ### Steg 3 — Begär offert Två likvärdiga former. Använd GET om din klient inte kan skicka en POST-body — många AI-assistenter kan bara göra GET-anrop: GET https://dinilu.se/api/quote?mpn={mpn}&qty={qty}&country={country} &attributes={attribut-id}:{alternativ-id}|{attribut-id}:{alternativ-id} Välj alternativ med **id**, hämtade från steg 2. Sammanfoga paren med "|" (koda som %7C om din klient är strikt). Detta är den rekommenderade formen: &attributes=19:251|58:490 13 tecken, entydigt Alternativ*namn* accepteras också — attributes[Name]=Value, Name:Value|Name2:Value2 eller attributes={"Name":"Value"} — men använd helst id, av tre skäl: - **Längd.** Alternativnamn i den här katalogen når 90 tecken. URL-kodade gör två av dem att anropet passerar 250 tecken, och många agenters hämtare begränsar URL-längden till det eller mindre — samma offert blir då omöjlig att anropa, inte bara omständlig. - **Exakthet.** Namn måste stämma tecken för tecken, inklusive dubbla mellanslag och parenteser. En nästan-träff är inget fel: attributet faller tyst tillbaka på sitt standardvärde och du får ett säkert pris för en konfiguration du inte bad om. Kontrollera `warnings` efter `option_not_found`. - **Språk.** Etiketter översätts per domän; id är desamma på alla Dinilu-domäner. POST https://dinilu.se/api/quote Content-Type: application/json { "mpn": {mpn från steg 1 eller 2}, "qty": {kvantitet i styck; "quantity" accepteras också}, "attributes": { "{attribut-id}": "{alternativ-id}", ... }, "country": {landsnamn, ISO 3166-1 alfa-2/alfa-3/numerisk, valfritt}, "zone": {zon-ID, valfritt} } Om ingen kvantitet anges beräknas produktens standardkvantitet och en varning "qty_defaulted" returneras. Kvantiteter under minimum höjs till MOQ med en varning "qty_below_minimum". Kontrollera alltid arrayen "warnings" innan du presenterar ett pris. Returnerar: - `mpn` — produktens MPN - `url` — produktsidan, för att visa kunden produkten. Använd cart_url för att beställa. - `price_per_unit` — enhetspris i SEK exkl. moms - `price_total` — totalt produktpris i SEK exkl. moms - `calculated_on` — datum då priset beräknades (ÅÅÅÅ-MM-DD). Priser räknas om med dagens växelkurs, så en offert som läses senare är en ögonblicksbild — visa alltid detta datum tillsammans med priset. - `binding` — alltid false. Dessa priser är vägledande och exkl. moms; inget här är ett bindande erbjudande. - `cart_url` — länk som öppnar varukorgen förifylld med exakt denna konfiguration. Ge den till kunden för att göra uppskattningen till en riktig offert: kunden slutför kassan själv och anger sina egna kontaktuppgifter (företag, adress, momsnummer). Samla INTE in dessa uppgifter själv och lägg inte till dem i någon URL. - `request_quote` — de två sätten att begära en formell offert: öppna cart_url, eller mejla den angivna adressen. Kassan ger ett icke-bindande erbjudande och tar ingen betalning. - `production_days` — uppskattad produktionstid i kalenderdagar - `price_tiers` — samma produkt prissatt vid TRE kvantiteter (den begärda, 2x och 5x), så att en kvantitetsstege kostar ett anrop i stället för tre. Varje nivå har egna `shipping`-alternativ, beräknade för den kvantiteten; frakten stiger stegvis med antalet kartonger, så skala aldrig en nivås frakt till en annan. - `shipping` — array med leveransalternativ, var och en med: - `method` — transportör / tjänstnamn - `rate` — fraktkostnad i SEK - `days_min`/`days_max` — transporttidsintervall i dagar - `attributes` — de upplösta attributvalen som användes för offerten, med namn - `attributes_shorthand` — samma val som `{attribute id}:{option id}`-par, t.ex. "19:251|58:490". Ändra ett par och klistra tillbaka i &attributes= för att prissätta en variant — namnen behöver inte slås upp igen. ### Exempelarbetsflöde # 1. Hitta armbandsprodukter GET https://dinilu.se/api/products?category=