Hoppa till innehållet

Skriv en integrationsbrief utifrån en rapportbeställning

Bestäm omfattning, exempeldata, svar och acceptansfall för en koppling mellan en projektportal och en dokumenttjänst.

Daniel Hartmann3 min läsning
Öppen röd mapp med en ljus sida och tre tomma fält med rundade hörn.

Beskriv en integration genom ett komplett flöde innan du jämför offerter. ”Portalen behöver en API-koppling” lämnar öppet vilka data som överförs, när arbetet är klart och vem som hanterar ett fel. En genomarbetad brief gör besluten möjliga att diskutera.

Välj ett flöde för den första leveransen

I detta fiktiva projekt ska en portal beställa en månadsrapport som PDF från en dokumenttjänst. Alla namn, fält och svar är våra egna exempel, inte en leverantörs API.

Briefingfält

Överenskommelse i exemplet

Mål

En behörig projektmedarbetare kan hämta den beställda månadsrapporten i portalen.

Källa

Projektportalen skickar projekt, bekräftad rapportmånad och godkänd mallreferens. Portalteamet ansvarar för valet.

Målsystem

Dokumenttjänsten skapar PDF-filen. Dess plattformsteam ansvarar för bearbetning och feltillstånd.

Utlösare

En uttrycklig beställning i portalen; inget nytt jobb vid varje sidvisning.

Leveransomfattning

Skapa ett jobb, fråga efter dess tillstånd och hämta den färdiga filen.

Undantaget

Att skicka e-post och föra över alla historiska rapporter.

Det synliggör också tillkommande önskemål: En senare e-postfunktion blir ett eget steg med egen felhantering. Den försvinner inte in i ordet ”koppling”.

Ange indata med värden och betydelse

Följande exempelinnehåll avtalas för POST /report-jobs:

{"requestId":"R-52","projectId":"P-18","templateId":"monthly-v2","period":"2026-10"}

Begärans ID betecknar denna beställning. Projekt och mall är stabila referenser; perioden är här en kalendermånad i formatet år–månad. Visningsnamn eller en period i fritext ersätter inte värdena. Portalen måste klargöra med dokumenttjänsten vilka mallar som är godkända.

Åtkomst till jobb, tillstånd och fil begränsas till det behöriga projektet. Att känna till en länk ger inte i sig rätt att hämta filen. Roller och åtkomstmetod hör hemma i briefen; riktiga token och lösenord hålls utanför dokumentet.

Beskriv mottagande och resultat var för sig

Efter beständig registrering svarar exempeltjänsten med HTTP 202 och Location: /report-jobs/J-52:

{"jobId":"J-52","status":"queued"}

MDN beskriver 202 som att en ännu inte avslutad bearbetning har accepterats. Vårt eget kontrakt har därför tillstånden queued (väntar), running (bearbetas), succeeded (lyckades) och failed (misslyckades). Jobbet lyckas först när filen har skapats och vid avslutstillfället kan hämtas med rätt behörighet. Microsoft beskriver en separat statusförfrågan för asynkront arbete; de konkreta tillståndsnamnen här är vårt val.

Samma begärans-ID med identiskt innehåll inom samma behörighetsomfattning hänvisar till samma jobb. Vid avvikande innehåll används HTTP 409 i exemplet. Upprepningsregeln måste implementeras och kontrolleras; fältnamnet skapar inte i sig idempotens.

Formulera fyra acceptansfall före implementeringen

Fall

Förväntat resultat

Giltig beställning

Mottagande, synligt förlopp och till slut en rapport som kan hämtas för avtalat projekt och avtalad månad.

Mallreferensen saknas

HTTP 400 före mottagandet; inget jobb skapas.

Svaret på en mottagen beställning försvinner

Upprepning med samma innehåll och begärans-ID hittar det befintliga jobbet; ingen andra rapportkörning.

Mallen tas bort efter mottagandet

Bearbetningen slutar med failed och exempelkoden template-not-found; inget meddelande om att rapporten är klar.

I det sista fallet kontrollerar plattformsteamet mallen. En rättad ny beställning får ett nytt begärans-ID; det misslyckade jobbet förblir spårbart. Om bara statusförfrågan är otillgänglig visar portalen att det aktuella tillståndet är okänt, utan att hävda framgång eller misslyckande.

Red ut öppna driftfrågor innan du ger ett löfte

Lägg till förväntad jobbmängd, typisk filstorlek, acceptabel väntetid, frågeintervall samt lagringstid för filer och statusdata utifrån den faktiska användningen. Värdena är fortfarande öppna i exemplet och måste klargöras före ett tillförlitligt löfte. En uppskattad tid behandlas inte som en uppmätt egenskap.

En OpenAPI-beskrivning kan precisera operationer, indata och förväntade svar. Även verksamhetens definition av resultatet och teamens ansvar måste fastställas. Med de konkreta fallen kan portal- och plattformsteam sedan bedöma samma leverans.

Källor

Skriven av

  • Daniel HartmannRedaktör för teknik och näringslivDaniel Hartmann skriver om teknikbeslut i företag på ASES. Han behandlar mjukvaruinvesteringar, val av lämpliga lösningar och planering av digitala projekt.

Följ ASES

Läs vidare

Alla artiklar

API:er & integration med ASES

ERP, CRM och webbutik smidigt sammankopplade