Innova Connect

Koble til via API

En ERP-modul kobler seg til Innova Connect på dette domenet. Modulen henter jobber selv. Innova Connect åpner aldri en forbindelse inn til ERP.

Basisadresse

Alle kall går til adressen under. Tenanten velges fra vertsnavnet, så kallet må treffe dette domenet.

https://connect.idynamics.no/api/connector/v1

Slik kobler modulen seg på

1. Hent en paringskode i portalen

Firmaet åpner området og lager koden under ERP. Den har 10 tegn, vises bare én gang, varer i 30 minutter og kan brukes én gang.

2. Bytt koden mot en tilkobling

Kall uten token. erpType er BC eller FSCM. Svaret er 201 og inneholder connectionId, clientId og clientSecret. Hemmeligheten kommer bare i dette svaret.

POST /pairing/claim
{
  "pairingCode": "ABCD234567",
  "erpType": "BC",
  "erpVersion": "27.0",
  "environmentId": "production",
  "moduleVersion": "1.0.0",
  "companies": [
    { "id": "CRONUS", "name": "CRONUS Norge AS", "orgNumber": "999999999" }
  ]
}

3. Hent et tilgangstoken

Svaret inneholder access_token, token_type Bearer og expires_in 900. Tokenet varer i 15 minutter og gjelder bare denne tilkoblingen. Send det som Authorization: Bearer på kallene etterpå. Når det er utløpt, er feilkoden TOKEN_EXPIRED.

POST /oauth/token
{
  "grant_type": "client_credentials",
  "client_id": "<clientId>",
  "client_secret": "<clientSecret>"
}

4. Meld inn malene og et livstegn

Si hvilke maler og versjoner modulen kan kjøre. Send deretter et livstegn med modulversjon omtrent hvert femte minutt. connectionId i stien må være tilkoblingen tokenet gjelder.

PUT /connections/<connectionId>/capabilities
{
  "templates": [
    { "code": "TRIAL_BALANCE", "versions": ["1.0.0"] },
    { "code": "GL_ENTRIES", "versions": ["1.0.0"] }
  ]
}

POST /connections/<connectionId>/heartbeat
{ "moduleVersion": "1.0.0", "pendingJobs": 0 }

5. Hent jobber

wait er et long-poll i sekunder, maksimalt 25. GET på jobben gir mal, parametere, kolonner, om uttrekket kan inneholde personopplysninger, og hvor mange godkjenninger som gjenstår. En begrenset forespørsel får en nøytral tittel, ikke forespørselens egen tittel.

GET /jobs?state=awaiting_approval,approved&wait=25
GET /jobs/<jobId>

6. Lever uttrekket

Rapporter estimert radantall mens jobben venter. Godkjenn eller avvis med ERP-brukeren som besluttet. Avvisning krever en kommentar. Når jobben er godkjent, start den. Opprett deretter et resultat med minst to filer, selve dataene og en manifest. Hver fil kan være opptil 100 MB. Svaret er 201, med en PUT-adresse per fil som varer i fem minutter. Last opp med headeren x-ms-blob-type: BlockBlob. Fullfør med kildeinformasjon. Svaret er 202. Jobben blir levert først når filene er skannet og sjekksummen stemmer. Kan uttrekket ikke kjøres, kall fail. Ukjent mal er UNSUPPORTED_TEMPLATE.

POST /jobs/<jobId>/preview
{ "estimatedRows": 1200, "columns": ["accountNo", "balance"] }

POST /jobs/<jobId>/decision
{ "decision": "approved", "erpUser": "oda@firma.example" }

POST /jobs/<jobId>/start

POST /jobs/<jobId>/results
POST /jobs/<jobId>/results/<resultId>/complete

POST /jobs/<jobId>/fail
{ "code": "EXTRACTION_FAILED", "message": "Selskapet svarte ikke" }

Endepunkter

Skrivende kall, unntatt paring og token, krever headeren Idempotency-Key.

MetodeStiFormål
POST/pairing/claimBytt paringskode mot tilkobling
POST/oauth/tokenHent tilgangstoken
GET/connections/{id}Status, firmanavn og produktnavn
PUT/connections/{id}/capabilitiesMaler og versjoner modulen støtter
POST/connections/{id}/heartbeatLivstegn
GET/jobsHent jobber, med long-poll
GET/jobs/{jobId}Full jobbspesifikasjon
POST/jobs/{jobId}/previewEstimert radantall og kolonner
POST/jobs/{jobId}/decisionGodkjenn eller avvis i ERP
POST/jobs/{jobId}/startKjøringen er startet
POST/jobs/{jobId}/resultsOpprett opplasting
POST/jobs/{jobId}/results/{resultId}/completeFullfør med kildeinformasjon
POST/jobs/{jobId}/failMeld teknisk feil

Maler i denne versjonen

Modulen oppgir bare malene den faktisk kan kjøre. Versjonen nå er 1.0.0.

KodeNavn
CHART_OF_ACCOUNTSKontoplan
TRIAL_BALANCESaldobalanse
GL_ENTRIESHovedbok
CUSTOMER_MASTERKunderegister
VENDOR_MASTERLeverandørregister
VAT_ENTRIESMva-poster

Regler

Ikke med ennå

Rotasjon av hemmelighet, oppdatering av selskapslisten, fremdriftslogg, Partner-API, webhooks og MCP kommer senere. SAF-T lastes opp i portalen og bruker ikke denne paringen.

Til innlogging