För butikspartners som vill integrera sitt produktsortiment med Tifo. Här är en komplett teknisk guide för att skapa och underhålla en produktfeed.

Vad är en produktfeed?

En produktfeed är en fil (vanligtvis XML eller CSV) som innehåller all information om era produkter:

  • Produktnamn och beskrivningar
  • Priser och lagerstatus
  • Bilder och produktlänkar
  • Specifikationer och kategorier

Vi hämtar denna fil automatiskt var 4:e timme för att hålla priserna uppdaterade.


Feedformat: XML (rekommenderat)

Grundstruktur

<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    <id>unique-product-id</id>
    <name>Produktnamn</name>
    <description>Produktbeskrivning</description>
    <price>9995.00</price>
    <currency>SEK</currency>
    <url>https://dinbutik.se/produkt-url</url>
    <image_url>https://dinbutik.se/images/produkt.jpg</image_url>
    <category>Mobiler</category>
    <brand>Samsung</brand>
    <in_stock>true</in_stock>
    <ean>7350123456789</ean>
    <condition>new</condition>
    <shipping_cost>49.00</shipping_cost>
    <specifications>
      <spec name="RAM">8 GB</spec>
      <spec name="Lagring">256 GB</spec>
      <spec name="Skärmstorlek">6.1 tum</spec>
    </specifications>
  </product>
  <!-- Fler produkter... -->
</products>

Obligatoriska fält

FältFormatExempelBeskrivning
idSträng (unik)"SKU-12345"Er interna produkt-ID
nameSträng (max 200 tecken)"iPhone 15 Pro 256GB Svart"Produktnamn
priceDecimal12995.00Pris (inkl. moms, exkl. frakt)
currencyISO 4217"SEK"Valuta (alltid SEK för Sverige)
urlURL"https://..."Länk till produkten hos er
image_urlURL"https://..."Huvudbild (minst 800×800 px)
categorySträng"Mobiler"Produktkategori
in_stockBooleantrue / falseTillgänglighet

Rekommenderade fält

FältFormatVarför viktigt
ean13 siffrorHjälper oss matcha produkter från olika butiker
brandSträngFilterbarhet och sökbarhet
descriptionText (max 1000 tecken)Visas på produktsidan
shipping_costDecimalFör korrekt totalpris-jämförelse
conditionnew, refurbished, usedViktig för begagnade produkter
model_numberSträngEx: "MQ0G3KS/A" för Apple-produkter

Frivilliga fält (berikar datan)

Specifikationer (produktspecifika)

För mobiler:

<specifications>
  <spec name="RAM">8 GB</spec>
  <spec name="Lagring">256 GB</spec>
  <spec name="Skärmstorlek">6.1 tum</spec>
  <spec name="Kamera">48 MP</spec>
  <spec name="Batteri">3274 mAh</spec>
  <spec name="5G">true</spec>
  <spec name="Färg">Svart</spec>
</specifications>

För laptops:

<specifications>
  <spec name="Processor">Intel Core i7-1255U</spec>
  <spec name="RAM">16 GB</spec>
  <spec name="Lagring">512 GB SSD</spec>
  <spec name="Skärmstorlek">14 tum</spec>
  <spec name="Grafikkort">Intel Iris Xe</spec>
  <spec name="Vikt">1.4 kg</spec>
</specifications>

För TV:

<specifications>
  <spec name="Skärmstorlek">55 tum</spec>
  <spec name="Upplösning">4K</spec>
  <spec name="Paneltyp">OLED</spec>
  <spec name="HDR">Dolby Vision, HDR10</spec>
  <spec name="Smart TV">webOS</spec>
  <spec name="HDMI">4× HDMI 2.1</spec>
</specifications>

Flera bilder

<images>
  <image>https://dinbutik.se/images/produkt-1.jpg</image>
  <image>https://dinbutik.se/images/produkt-2.jpg</image>
  <image>https://dinbutik.se/images/produkt-3.jpg</image>
</images>

Kampanjer

<sale_price>8995.00</sale_price>
<sale_start>2025-11-20T00:00:00Z</sale_start>
<sale_end>2025-11-30T23:59:59Z</sale_end>

Alternativ: CSV-format

Om XML känns komplext kan ni använda CSV:

Exempel CSV-struktur:

id,name,price,currency,url,image_url,category,brand,in_stock,ean,description
SKU-001,"iPhone 15 Pro 256GB",12995,SEK,https://...,https://...,Mobiler,Apple,true,0194253777489,"Beskrivning här"
SKU-002,"Samsung Galaxy S24",9995,SEK,https://...,https://...,Mobiler,Samsung,true,8806095111111,"Beskrivning här"

Viktig regel för CSV:

  • UTF-8 encoding (för svenska tecken: å, ä, ö)
  • Komma (,) som separator
  • Citationstecken (") runt text med kommatecken

Feed-hosting: Var lägger jag filen?

Alternativ 1: Publik URL (rekommenderat)

Placera filen på er server:

  • https://dinbutik.se/feeds/pristifo.xml
  • https://dinbutik.se/feeds/pristifo.csv

Viktigt:

  • ✅ Filen måste vara publik (ingen inloggning krävs)
  • ✅ HTTPS rekommenderas starkt
  • ✅ Filen får vara max 100 MB (komprimera om större)

Alternativ 2: SFTP/FTP

Vi kan hämta filen via SFTP om den inte kan vara publik.

Kontakta oss för credentials:

Alternativ 3: API-push

För större butiker erbjuder vi API där ni pushar produktdata till oss.

Dokumentation: Tifo Partner API


Uppdateringsfrekvens

Hur ofta ska ni uppdatera feeden?

Typ av butikRekommenderad frekvens
Små butiker (< 500 produkter)1× per dag (t.ex. kl 06:00)
Medelstora (500-5000)2× per dag (06:00 + 18:00)
Stora (> 5000)4× per dag (06:00, 12:00, 18:00, 00:00)

Vi hämtar: Automatiskt var 4:e timme från den URL ni angett.

Dynamiska priser? Om era priser ändras ofta (dynamic pricing), kontakta oss för realtids-API.


Validering: Testa din feed

Innan du skickar feeden till oss:

  1. Kontrollera XML-syntax:

    • Använd verktyg: xmlvalidation.com
    • Eller: Öppna filen i webbläsare (Chrome/Firefox visar syntaxfel)
  2. Kolla att alla obligatoriska fält finns:

    # Exempel: Räkna produkter i XML
    grep -c "<product>" tifo.xml
    
  3. Verifiera URL:ar:

    • Alla url och image_url måste vara giltiga länkar
    • Testa några slumpmässigt i webbläsaren
  4. Prisformat:

    • Använd punkt (.) som decimaltecken, inte komma
    • ✅ Korrekt: 9995.00
    • ❌ Fel: 9995,00 eller 9 995 kr

Efter integration: Vad händer?

Dag 1: Import och granskning

  • Vi hämtar feeden
  • Automatisk validering körs
  • Manuell kvalitetsgranskning (bilder, priser, kategorier)

Dag 2-3: Publicering

  • Produkterna blir synliga på PrisTifo.se
  • Ni får tillgång till butikspanelen

Löpande: Automatisk synk

  • Priser uppdateras var 4:e timme
  • Nya produkter läggs till automatiskt
  • Borttagna produkter (ej i feed) arkiveras

Vanliga fel och lösningar

❌ Fel 1: "Invalid XML syntax"

Orsak: Tecken som &, <, > i texten
Lösning: Använd CDATA eller escape:

<description><![CDATA[Text med & och <special> tecken]]></description>

❌ Fel 2: "Missing required field: ean"

Orsak: EAN är tomt för många produkter
Lösning: Om ni inte har EAN, använd ert interna ID istället (vi försöker matcha ändå)

❌ Fel 3: "Image URL returns 404"

Orsak: Bild-URL:en fungerar inte
Lösning: Kontrollera att alla bilder är tillgängliga och HTTPS

❌ Fel 4: "Price format invalid"

Orsak: Komma istället för punkt, eller valuta inkluderad (9995 kr)
Lösning: Använd bara siffror och punkt: 9995.00


Support för feed-integration

Teknisk support:

  • E-post: partners@PrisTifo.se
  • Slack: Vi skapar en dedikerad kanal för er (större partners)
  • Telefon: 0721278366 (vardagar 9-17)

Onboarding-hjälp: Vi hjälper gärna till med:

  • Feed-struktur och validering
  • Mapping av kategorier
  • Testning innan go-live

SLA: Svar inom 4 timmar på vardagar.


Checklist innan lansering

  • Feed-fil skapad (XML eller CSV)
  • Alla obligatoriska fält finns
  • URL:ar testade och fungerar
  • Bilder minst 800×800 px
  • Prisformat korrekt (punkt som decimaltecken)
  • Feed uploadad till publik URL eller SFTP
  • Validering genomförd (XML-syntax, URL:ar)
  • Partneransökan skickad till Tifo