REST API
Vägen in när ett annat system både ska läsa och skriva: hämta lagersaldo, skapa en order, uppdatera en artikel.
API och integrationer REST API
Bas-URL
https://api.fluit.cloud/preview
Autentisering
API-nyckel i headern X-Api-Key. Nycklar skapas
under Inställningar → API-nycklar.
Adressering
Affärsnycklar i URL:erna: kundnummer, artikelnummer och ordernummer, så integrationen slipper spegla Fluits interna id:n.
Specifikation
Hela ytan som OpenAPI-dokument: swagger.json, eller renderad i API-referensen.
Endpoints i urval
De 194 anropen nedan är exempel på hur API:et ser ut och används, inte hela listan. Den fullständiga specifikationen med alla anrop, parametrar och scheman finns i OpenAPI-dokumentet (swagger.json).
Kunder
Läs och skriv kundregistret. Kunder identifieras med kundnummer, inte interna id:n, så integrationen slipper hålla reda på Fluits nycklar.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /customers | Lista kunder med filtrering och paginering |
| GET | /customers/{customerNumber} | Hämta en kund på kundnummer |
| GET | /customers/{customerNumber}/addresses | Lista kundens adresser |
| GET | /customers/{customerNumber}/contacts | Lista kundens kontaktpersoner |
| POST | /customers | Skapa kund |
| PATCH | /customers/{customerNumber} | Uppdatera fält på en kund |
Artiklar
Artikelregister, lagertillgänglighet, priser och produktbilder. Tillgänglighet svarar på vad som faktiskt går att lova en kund, inte bara vad som ligger på hyllan, och visar per lager om artikeln kräver serie- eller batchnummer.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /items | Lista artiklar, eller slå upp en på streckkod, förpackningsstreckkod, tillverkarnummer (MPN) eller OEM-nummer |
| GET | /items/{itemNumber} | Hämta en artikel på artikelnummer |
| GET | /items/{itemNumber}/variants | Lista varianterna av en variantmall |
| GET | /items/{itemNumber}/availability | Tillgängligt att lova (ATP) och spårningskrav per lager |
| GET | /inventory/availability | Lagersaldo för många artiklar i ett anrop, med delta-synk |
| GET | /item-warehouses | Lagerinställningar per artikel och lager: beställningspunkt, säkerhetslager, ledtid, partistorlek och princip |
| GET | /items/{itemNumber}/warehouses/{warehouseCode} | Hämta en artikels lagerinställningar på ett lager |
| PATCH | /items/{itemNumber}/warehouses/{warehouseCode} | Uppdatera en artikels lagerinställningar på ett lager |
| POST | /item-warehouses/batch | Uppdatera lagerinställningar på upp till 200 artiklar i ett anrop, med resultat per rad |
| GET | /items/{itemNumber}/price | Pris för artikeln, inklusive kundspecifika priser |
| GET | /items/{itemNumber}/assets | Lista bilder och dokument på artikeln |
| GET | /items/{itemNumber}/assets/{assetId} | Hämta en enskild bilaga med metadata |
| GET | /items/{itemNumber}/assets/{assetId}/download | Ladda ned en bild eller ett dokument |
| GET | /items/{itemNumber}/relations | Lista artikelns tillbehör, reservdelar och relaterade artiklar, även dubbelriktade från andra artiklar |
| GET | /items/{itemNumber}/translations | Artikelns texter på varje aktivt språk, med de fält som saknar översättning |
| PUT | /items/{itemNumber}/translations/{languageCode} | Sätt artikelns namn, beskrivningar och SEO-texter på ett språk |
| GET | /attributes | Lista attributdefinitioner: datatyp, enhet, tillåtna värden och gränser |
| POST | /items | Skapa artikel |
| POST | /items/{itemNumber}/assets | Ladda upp en produktbild på artikeln |
| POST | /items/{itemNumber}/categories | Lägg artikeln i ytterligare en kategori |
| PATCH | /items/{itemNumber} | Uppdatera fält på en artikel |
| PATCH | /items/{itemNumber}/assets/{assetId} | Ändra en bilds eller ett dokuments kategori, texter, sortering och huvudbild utan ny uppladdning |
| DELETE | /items/{itemNumber}/assets/{assetId} | Ta bort en produktbild eller ett dokument från artikeln |
| DELETE | /items/{itemNumber}/categories/{categoryCode} | Ta bort artikeln ur en kategori |
| POST | /items/batch | Skapa eller uppdatera upp till 200 artiklar i ett anrop, med kategori, varumärke och enhet per rad och resultat per rad |
| POST | /item-relations/batch | Koppla upp till 200 artikelrelationer (tillbehör, reservdelar, mersälj m.m.) i ett anrop, med resultat per rad |
Katalog
Kategoriträdet och varumärkena artiklarna sorteras under. Båda identifieras med kod, inte interna id:n, och det är den koden artikelraderna refererar till. Kategorier nästlas med parentCode, så ett träd laddas uppifrån och ner. Varken kategorier eller varumärken skapas implicit av en artikelimport — en felstavad kod blir ett fel på raden, inte en ny kategori.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /categories | Lista artikelkategorier |
| GET | /categories/{code} | Hämta en kategori på kod |
| POST | /categories | Skapa artikelkategori, valfritt under en befintlig |
| PATCH | /categories/{code} | Uppdatera namn, beskrivning, slug, sortering och meta för sökresultat |
| GET | /brands | Lista varumärken |
| GET | /brands/{code} | Hämta ett varumärke på kod |
| POST | /brands | Skapa varumärke |
Prislistor
Prislistorna och deras priser per artikel, identifierade med prislistans kod. En prisrad pekas ut av artikel, från-antal och giltig från-datum, så dagens pris och en prishöjning från ett senare datum ligger kvar sida vid sida. API:t skriver fasta priser. Rader som räknas fram från kostnad, artikelns pris eller en annan prislista går att läsa men inte skriva över.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /price-lists | Lista prislistor med valuta och giltighet |
| GET | /price-lists/{code}/lines | Lista priserna i en prislista, filtrerat på artikel eller datum |
| PUT | /price-lists/{code}/lines/{itemNumber} | Sätt en artikels pris, med valfri kvantitetsbrytpunkt och startdatum |
| POST | /price-lists/{code}/lines/batch | Sätt upp till 500 priser i ett anrop, med resultat per rad |
Försäljningskanaler
Vilka kanaler ni säljer genom (webbshop, B2B-portal, marknadsplats) och vilka artiklar som är publicerade i vilken kanal. Publicering är opt-in: artikeln syns först när publiceringen finns. Kanalen bär affärsvillkoren, alltså valuta, lager, prislista och ordertyp. Publiceringen bär kanalspecifik text, SEO och sortering. Byter du slug skapas en 301 automatiskt från den gamla.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /channels | Lista försäljningskanaler |
| GET | /channels/{channelCode} | Hämta en kanal på kanalkod |
| GET | /channels/{channelCode}/items | Lista kanalens publicerade artiklar |
| GET | /items/{itemNumber}/channels | Lista kanaler artikeln är publicerad på |
| GET | /items/{itemNumber}/channels/{channelCode} | Hämta en publicering |
| POST | /items/{itemNumber}/channels | Publicera artikeln på en kanal |
| PATCH | /items/{itemNumber}/channels/{channelCode} | Uppdatera kanalspecifikt innehåll och SEO |
| DELETE | /items/{itemNumber}/channels/{channelCode} | Avpublicera artikeln från kanalen |
Innehållssidor
Startsidan plus sidor, nyheter och blogginlägg per kanal. Startsidan bor på kanalen och har varken slug eller publiceringsläge, men byggs av samma sektioner. De tre övriga är samma post, åtskilda av pageType, byggda av samma sektioner och med samma SEO. Sidan adresseras med kanalkod och slug. Innehållet är sektionslistan, som byts hel med PUT på config; metadata patchas för sig. Produkter, kategorier och leverantörer inuti en sektion anges med affärsnyckel, inte med interna id:n.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /channels/{channelCode}/home-page | Hämta kanalens startsida |
| PUT | /channels/{channelCode}/home-page | Ersätt startsidans sektioner |
| GET | /channels/{channelCode}/content-pages | Lista kanalens sidor, nyheter och blogginlägg |
| GET | /channels/{channelCode}/content-pages/{slug} | Hämta en sida med hela sektionslistan |
| POST | /channels/{channelCode}/content-pages | Skapa sida, nyhet eller blogginlägg |
| PATCH | /channels/{channelCode}/content-pages/{slug} | Uppdatera titel, SEO, navigering och artikelfält |
| PUT | /channels/{channelCode}/content-pages/{slug}/config | Ersätt sidans sektioner |
| POST | /channels/{channelCode}/content-pages/{slug}/publish | Publicera sidan |
| POST | /channels/{channelCode}/content-pages/{slug}/unpublish | Avpublicera sidan utan att radera den |
| DELETE | /channels/{channelCode}/content-pages/{slug} | Radera sidan |
Mediabibliotek
Kanalens uppladdade bilder med redaktionell metadata. Filen laddas upp som multipart och får ett id i biblioteket; url:en i svaret är den ni sätter på en sektion eller en artikels omslagsbild. Till skillnad från övriga resurser adresseras en fil med sitt id och inte med en affärsnyckel — två uppladdningar kan mycket väl heta hero.jpg. Filen serveras av CDN:et och kräver ingen nyckel.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /channels/{channelCode}/media | Lista kanalens mediabibliotek |
| GET | /channels/{channelCode}/media/{assetId} | Hämta en fils post |
| POST | /channels/{channelCode}/media | Ladda upp en bild (multipart/form-data) |
| PATCH | /channels/{channelCode}/media/{assetId} | Uppdatera mapp, titel, alt-text och bildtext |
| DELETE | /channels/{channelCode}/media/{assetId} | Radera posten och filen |
Vidarekopplingar
Kanalens vidarekopplingar: gamla adresser som skickar besökaren vidare till en ny, innan butiken matchar en route. Listan tar med både de som skapats för hand och de 301:or Fluit själv lägger när en artikel, kategori eller sida byter slug. En vidarekoppling adresseras med kanalkod och id, eftersom källvägen innehåller snedstreck. hitCount visar om den fortfarande används.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /channels/{channelCode}/redirects | Lista kanalens vidarekopplingar |
| GET | /channels/{channelCode}/redirects/{id} | Hämta en vidarekoppling |
| POST | /channels/{channelCode}/redirects | Skapa vidarekoppling (301 eller 302) |
| PATCH | /channels/{channelCode}/redirects/{id} | Ändra mål, statuskod eller om den är aktiv |
| DELETE | /channels/{channelCode}/redirects/{id} | Radera vidarekopplingen |
Kundorder
Hela orderflödet: skapa order, redigera rader, lägg ordern, frisläpp den till lagret och följ leveranserna. Order identifieras med ordernummer, och varje order visar vilken försäljningskanal den kom in genom.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /orders | Lista kundordrar, till exempel bara webbutikens med ?channelCode= |
| GET | /orders/{orderNumber} | Hämta en order med rader |
| GET | /orders/{orderNumber}/shipments | Lista leveranser på ordern |
| POST | /orders | Skapa order, med raderna i samma anrop eller som utkast med createAsDraft |
| POST | /orders/{orderNumber}/lines | Lägg till orderrad |
| PATCH | /orders/{orderNumber}/lines/{lineNumber} | Ändra orderrad |
| DELETE | /orders/{orderNumber}/lines/{lineNumber} | Ta bort orderrad |
| POST | /orders/{orderNumber}/place | Lägg ordern, som går vidare till allokering |
| POST | /orders/{orderNumber}/release | Frisläpp ordern till lagret: allokeringen härdas och leveransen skapas om automatiken är på |
| POST | /orders/{orderNumber}/cancel | Annullera ordern |
Konfigurator
Måttanpassade produkter: gardiner, persienner, markiser och annat som byggs efter kundens mått och val. Hämta artikelns konfigurationsschema, räkna fram pris och validering live medan kunden väljer, spara konfigurationen och gör order av den. Samma prishierarki som vanliga orderrader: kundprislistor, ramavtal, kampanjer och volympriser.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /items/{itemNumber}/configuration | Konfigurationsschema: valbara egenskaper, mått, gränsvärden och tillval |
| POST | /configurations/calculate | Räkna fram pris och validera ett val utan att spara. Anropas vid varje ändring |
| GET | /configurations | Lista sparade konfigurationer som ännu inte blivit order |
| GET | /configurations/{configurationNumber} | Hämta en sparad konfiguration med val och pris |
| POST | /configurations | Spara en konfiguration, med eller utan kund |
| POST | /configurations/{configurationNumber}/reconfigure | Ändra val, antal eller kund och få tillbaka konfigurationen omprissatt |
| POST | /configurations/{configurationNumber}/order | Gör kundorder av konfigurationen |
| DELETE | /configurations/{configurationNumber} | Kasta en konfiguration som aldrig blev order |
Leverantörer
Leverantörsregistret med kontaktpersoner och leverantörernas priser, minsta orderkvantitet och ledtider. Leverantörer identifieras med leverantörsnummer.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /suppliers | Lista leverantörer med filtrering och paginering |
| GET | /suppliers/{supplierNumber} | Hämta en leverantör på leverantörsnummer |
| GET | /suppliers/{supplierNumber}/items | Leverantörens priser, ledtider och minsta orderkvantitet per artikel |
| PATCH | /suppliers/{supplierNumber}/items/{itemNumber} | Uppdatera leverantörens ledtid, minsta orderkvantitet och multipel för en artikel |
| GET | /suppliers/{supplierNumber}/contacts | Lista leverantörens kontaktpersoner |
| POST | /suppliers | Skapa leverantör |
| PATCH | /suppliers/{supplierNumber} | Uppdatera fält på en leverantör |
Inköpsorder
Hela inköpsflödet: skapa order, skicka till leverantören, bekräfta och ta emot godset. Inleveransen bokar lagersaldot direkt. Order identifieras med ordernummer.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /purchase-orders | Lista inköpsordrar |
| GET | /purchase-orders/{orderNumber} | Hämta en inköpsorder med rader |
| GET | /purchase-orders/{orderNumber}/lines | Lista raderna på inköpsordern |
| POST | /purchase-orders | Skapa inköpsorder, med raderna i samma anrop |
| PATCH | /purchase-orders/{orderNumber} | Ändra inköpsorderns huvud |
| POST | /purchase-orders/{orderNumber}/lines | Lägg till inköpsorderrad |
| PATCH | /purchase-orders/{orderNumber}/lines/{lineNumber} | Ändra inköpsorderrad |
| DELETE | /purchase-orders/{orderNumber}/lines/{lineNumber} | Ta bort inköpsorderrad |
| POST | /purchase-orders/{orderNumber}/send | Skicka ordern till leverantören, med eller utan mejl |
| POST | /purchase-orders/{orderNumber}/confirm | Registrera leverantörens orderbekräftelse |
| POST | /purchase-orders/{orderNumber}/lines/{lineNumber}/receive | Ta emot gods på raden och boka lagersaldot |
| POST | /purchase-orders/{orderNumber}/cancel | Annullera inköpsordern |
| POST | /purchase-orders/{orderNumber}/close | Avsluta ordern utan att invänta resterande kvantitet |
Offerter
Offert till order. En offertrad kan peka på en artikel eller vara ren fritext, så både prislistevaror och tjänster får plats. Accept och konvertering är två steg: kundens ja kan registreras i samma sekund som hen klickar, och ordern skapas när ert flöde är redo för den.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /quotes | Lista offerter med filtrering och paginering |
| GET | /quotes/{quoteNumber} | Hämta en offert med rader och summor |
| GET | /quotes/{quoteNumber}/lines | Lista offertraderna, paginerat |
| POST | /quotes | Skapa offert med rader |
| POST | /quotes/{quoteNumber}/send | Skicka offerten, eller markera den som skickad |
| POST | /quotes/{quoteNumber}/accept | Registrera att kunden accepterat |
| POST | /quotes/{quoteNumber}/decline | Registrera att kunden tackat nej |
| POST | /quotes/{quoteNumber}/convert-to-order | Gör om accepterad offert till kundorder |
Leveranser
Den fysiska halvan av kundordern: frisläpp, plock, packning, fraktbokning och leverans. En leverans kan täcka flera ordrar (samlastning) och en order kan ha flera leveranser (delleverans), så leveranser är en egen resurs snarare än en underresurs till ordern.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /shipments | Lista leveranser med filtrering och paginering |
| GET | /shipments/{shipmentNumber} | Hämta en leverans med rader, kollin och adress |
| PATCH | /shipments/{shipmentNumber} | Sätt spårningsnummer och fraktsätt när frakten bokats utanför Fluit |
| GET | /shipments/{shipmentNumber}/lines | Lista leveransens rader |
| GET | /shipments/{shipmentNumber}/packages | Lista kollin med vikt, mått och kollispårning |
| POST | /shipments | Skapa leverans för en eller flera ordrar |
| POST | /shipments/{shipmentNumber}/release | Frisläpp en parkerad leverans till lagret |
| POST | /shipments/{shipmentNumber}/pick | Plocka raderna, med rapport över vad som hoppades över |
| POST | /shipments/{shipmentNumber}/packages | Lägg till ett kolli |
| POST | /shipments/{shipmentNumber}/pack | Packa och, som standard, boka frakten |
| POST | /shipments/{shipmentNumber}/book | Boka hos transportör och få kolli-id |
| POST | /shipments/{shipmentNumber}/hand-over | Registrera att transportören hämtat |
| POST | /shipments/{shipmentNumber}/mark-delivered | Registrera att godset kommit fram |
Fakturor
Kundfakturorna som lästa dokument: nummer, status, förfallodatum, rader och summor. Läsning bara: fakturan skapas ur ordern eller leveransen i ERP:et, där momsregler, konteringsuppsättning och nummerserie hänger ihop. Det API:et ger är hämtningen, och den räcker för att spegla reskontran, stämma av betalningar eller mata en bokföringsintegration.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /invoices | Lista fakturor med filtrering och paginering |
| GET | /invoices/{invoiceNumber} | Hämta en faktura med rader och summor |
Returer
Kundreturer (RMA) mot en kundorder. Utan rader returneras hela ordern med levererade kvantiteter, vilket är normalfallet för en webbutik. Registrering flyttar inget lager, det gör mottagningen, och bara rader i säljbart skick går tillbaka till tillgängligt saldo.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /returns | Lista returer med filtrering och paginering |
| GET | /returns/{returnNumber} | Hämta en retur med rader och skick |
| GET | /returns/{returnNumber}/lines | Lista returraderna, paginerat |
| POST | /returns | Registrera retur mot en kundorder |
| POST | /returns/{returnNumber}/approve | Godkänn returen |
| POST | /returns/{returnNumber}/receive | Ta emot godset tillbaka i lager |
Lager
Lagerreskontran och det som flyttar den. Transaktionslistan är hela historiken med tecken på kvantiteten och saldo efter varje rörelse. Den är det som ett WMS, en 3PL eller ekonomifunktionen faktiskt frågar efter. Justeringar, omplaceringar och inventeringar skriver till samma reskontra.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /inventory/transactions | Läs lagerreskontran, äldst först |
| GET | /inventory/transactions/{transactionId} | Hämta en enskild lagerrörelse |
| POST | /inventory/adjustments | Justera saldo på en lagerplats |
| POST | /inventory/movements | Flytta lager mellan platser i ett lager |
| GET | /inventory/counts | Lista inventeringar |
| GET | /inventory/counts/{countNumber} | Hämta en inventering med räkneläge |
| POST | /inventory/counts | Skapa inventering (Full, Location, Category, Random, Impulse) och generera rader |
| POST | /inventory/counts/{countNumber}/apply | Bokför inventeringens differenser |
| GET | /inventory/batches | Lista partier med bäst före-datum, status och saldo, kortast hållbarhet först |
| GET | /inventory/items/{itemNumber}/batches/{batchNumber}/trace | Spåra ett parti ett steg bakåt och ett framåt: varifrån det kom och vilka kunder som fått det |
| POST | /inventory/items/{itemNumber}/batches/{batchNumber}/block | Spärra ett parti så att det inte kan reserveras eller plockas |
Överföringar
Överföringsorder mellan lager, från frisläpp via utleverans till mottagning. Varje rad bär begärd, plockad, skickad och mottagen kvantitet. De fyra talen säger tillsammans var godset befinner sig.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /transfer-orders | Lista överföringsordrar |
| GET | /transfer-orders/{orderNumber} | Hämta en överföringsorder med rader |
| GET | /transfer-orders/{orderNumber}/lines | Lista överföringsraderna, paginerat |
| POST | /transfer-orders | Skapa överföringsorder med rader |
| POST | /transfer-orders/{orderNumber}/release | Frisläpp för plockning |
| POST | /transfer-orders/{orderNumber}/ship | Skicka från avsändande lager |
| POST | /transfer-orders/{orderNumber}/lines/{lineNumber}/pick | Plocka en rad från avsändande lager |
| POST | /transfer-orders/{orderNumber}/lines/{lineNumber}/unpick | Ångra plockningen på en rad |
| POST | /transfer-orders/{orderNumber}/lines/{lineNumber}/receive | Ta emot en rad på mottagande lager |
Inleveranser
Vad som fysiskt kommit in, från inköpsordrar och interna överföringar. Varje rad pekar tillbaka på den orderrad den levererade mot, så en inleverans går att matcha mot dokumentet som beställde den.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /receipts | Lista inleveranser |
| GET | /receipts/{receiptNumber} | Hämta en inleverans med rader och kostnader |
| GET | /receipts/{receiptNumber}/lines | Lista inleveransraderna, paginerat |
Arbetsordrar
Tillverkning och service som läsbar status: vad som är planerat, vad som pågår och hur mycket som rapporterats färdigt. Läsning bara: planering och rapportering sker i ERP:et och i mobilappen, där operatören står vid maskinen. Räcker för att visa leveransbesked i en kundportal eller följa beläggningen i ett eget dashboard.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /work-orders | Lista arbetsordrar med filtrering och paginering |
| GET | /work-orders/{workOrderNumber} | Hämta en arbetsorder |
Ärenden
Supportärenden hela vägen: ett kontaktformulär eller en kundportal lämnar in ärendet, följer status, svarar i tråden och ser när det är löst, och ett externt helpdesksystem kan driva handläggningen härifrån, från triagering till stängning. Ärenden som skapas här hamnar i samma kö som de som skapas inne i ERP:et och de som kommer in via supportmejlen. Ingen separat inkorg att bevaka. Tilldelning sker till ärendekö, inte till namngiven handläggare: handläggarna är ERP-användare, och dem exponerar inte det publika API:et.
| Metod | Sökväg | Gör |
|---|---|---|
| POST | /tickets | Skapa ett supportärende |
| POST | /tickets/migrate | Flytta in ett ärende från ett annat system med historiken intakt |
| POST | /tickets/{ticketNumber}/attachments | Bifoga en fil till ett ärende |
| GET | /tickets | Lista ärenden med filter på status, typ, kund och kö |
| GET | /tickets/{ticketNumber} | Hämta ett ärende med status och SLA-tider |
| PATCH | /tickets/{ticketNumber} | Uppdatera ärendets uppgifter |
| GET | /tickets/{ticketNumber}/comments | Läsa ärendets meddelandetråd |
| POST | /tickets/{ticketNumber}/comments | Svara i ärendet |
| POST | /tickets/{ticketNumber}/triage | Triagera och sätt prioritet |
| POST | /tickets/{ticketNumber}/queue | Lägg ärendet i en ärendekö |
| POST | /tickets/{ticketNumber}/start | Påbörja arbetet |
| POST | /tickets/{ticketNumber}/wait-customer | Vänta på kundsvar |
| POST | /tickets/{ticketNumber}/wait-internal | Vänta internt |
| POST | /tickets/{ticketNumber}/hold | Pausa ärendet |
| POST | /tickets/{ticketNumber}/resolve | Lös ärendet med lösningstyp |
| POST | /tickets/{ticketNumber}/close | Stäng ärendet |
| POST | /tickets/{ticketNumber}/reopen | Återöppna ärendet |
| POST | /tickets/{ticketNumber}/cancel | Avbryt ärendet |
| POST | /tickets/{ticketNumber}/tags | Tagga ärendet |
| DELETE | /tickets/{ticketNumber}/tags/{tag} | Ta bort en tagg |
Synkronisering
Stöd för inkrementell synk. Nyheter och ändringar hämtas med ?modifiedSince= på list-endpointerna. En ändring var som helst inuti posten räknas, så en ändrad orderrad flyttar orderns modifiedDate. Raderingar syns inte där, eftersom en raderad post inte finns kvar att returnera, utan hämtas separat härifrån.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /deletions | Lista raderade poster att städa bort lokalt |
Referensdata
Uppslagsdata som integrationen behöver för att skicka rätt värden: lager, enheter, momsklasser, valutor, leverans- och betalningsvillkor, leveranssätt, ordertyper och ärendeköer.
| Metod | Sökväg | Gör |
|---|---|---|
| GET | /reference/tenant-info | Företagsuppgifter och basvaluta |
| GET | /reference/warehouses | Lista lager |
| GET | /reference/units | Lista enheter som går att använda på orderrader |
| GET | /reference/tax-classes | Lista momsklasser med den momssats som gäller idag |
| GET | /reference/currencies | Lista valutor |
| GET | /reference/delivery-terms | Lista leveransvillkor (Incoterms) |
| GET | /reference/payment-terms | Lista betalningsvillkor |
| GET | /reference/shipping-methods | Lista leveranssätt |
| GET | /reference/order-types | Lista ordertyper |
| GET | /reference/ticket-queues | Lista ärendeköer att adressera ärenden till |
Fullständiga request- och response-scheman finns i API-referensen: vill du veta hur API:et förhåller sig till resten av systemet, läs om headless ERP, där står vilka klienter som redan hänger på samma kärna.
Bygger du integrationen med en AI-assistent: hela API:et finns som en textfil på api.fluit.cloud/llms.txt: den följer llms.txt-formatet, genereras ur API:ets OpenAPI-dokument och kräver ingen
API-nyckel för att läsas.
Ska integrationen bara läsa?
Då behöver du inte bygga något. OData-flödet kopplar Power BI och Excel direkt mot samma data med samma API-nyckel, read-only och utan kod.
Vanliga frågor om REST-API:et
Hur autentiserar jag mot Fluits REST API?
Med en API-nyckel i headern X-Api-Key. Nycklar skapas i Fluit under Inställningar → API-nycklar, visas bara en gång och kan återkallas när som helst. Bas-URL är https://api.fluit.cloud/preview, och nyckeln når bara det egna företagets data.
Kan jag skapa kundordrar via API:et?
Ja, på två sätt. Enklast är att skicka orderraderna direkt i POST /orders, då skapas hela ordern i ett anrop. Vill du bygga upp ordern stegvis skickar du createAsDraft=true, lägger till rader med POST /orders/{orderNumber}/lines och lägger ordern med POST /orders/{orderNumber}/place. En order utan rader och utan createAsDraft avvisas, eftersom den varken kan läggas eller syns i orderlistan.
Kan jag läsa lagersaldo via API:et?
Ja. GET /items/{itemNumber}/availability svarar med tillgängligt att lova (ATP) per lager, alltså vad som faktiskt går att lova en kund efter att reservationer räknats bort, inte bara vad som ligger på hyllan.
Använder API:et interna id:n?
Huvudresurserna adresseras med affärsnycklar: kundnummer, artikelnummer och ordernummer. Integrationen behöver alltså inte spegla Fluits interna id:n för kunder, artiklar och order. Enstaka fält och underresurser använder ändå id, till exempel customerContactId när en order skapas och assetId i nedladdningsrutten för artikelbilagor. De hämtas från motsvarande list-endpoint.
Är endpointsen på den här sidan hela API:et?
Nej. Listan är ett urval, tänkt som exempel på hur API:et ser ut och används. Hela specifikationen med samtliga anrop, parametrar och scheman finns som OpenAPI-dokument på https://api.fluit.cloud/swagger/public-preview/swagger.json och kan läsas in direkt i Postman, Insomnia eller en kodgenerator.
Finns API:et dokumenterat för AI-assistenter?
Ja. https://api.fluit.cloud/llms.txt är hela det publika API:et som en textfil i llms.txt-format: autentisering, konventioner, felkoder och samtliga endpoints med parametrar och exempel. Filen genereras ur API:ets OpenAPI-dokument, så den kan inte hamna ur synk med koden, och den kräver ingen API-nyckel för att läsas.
Kan API:et bara läsa data, eller går det att skriva?
Båda. REST-ytan har både GET-anrop för att läsa och POST- och PATCH-anrop för att skapa och uppdatera kunder, artiklar, kundorder och inköpsorder. Ska integrationen bara läsa till en rapport är OData-flödet för Power BI och Excel en enklare väg. Det är read-only och kräver ingen kod.
Behöver ni hjälp att komma igång?
Berätta vad integrationen ska göra så går vi igenom endpoints, nycklar och vad som krävs på er sida.