Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7
printablefalse

...

Innledning

Dette er en enveis integrasjon mellom Unit4 ERP (UBW) og Logiq® dokumentkontroll. Den henter data fra UBW, gjør riktige transformasjoner (som en integrasjonsprosess ville gjort), og sender dem til Logiq® endepunkt.

Inc drawio
zoom1
simple0
custContentId2790326332
pageId2790096948
lbox1
diagramDisplayNameubw-logiq.drawio
hiResPreview0
baseUrlhttps://unit.atlassian.net/wiki
imgPageId2794782730
diagramNameubw-logiq.drawio
pCenter0
aspect2pYDHef6PzBUxfDnAt3w C9nyE2VYV-ZQBwVoWtXJ-1
width1589
includedDiagram1
aspectHashf6c194a3b79772ba042266e704767f37aacd7b86
linksauto
tbstyletop
height1146

Nøkkel info

Initiesering av flyt

scheduled Polling

Flyt mønster

Bruk av meldingskø

Nei

Open API

Nei

 

IntArk

Ikke brukt

 

Bakgrunn

Logiq dokumentkontroll stopper faktura med feil før de legges inn i Unit4. Om feil på faktura stoppes de, og leverandør får epost med link til retting av faktura i Logiq sin portal. Overføring av leverandør e-post adresser og begrepsverdi for bestiller referanser fra Unit4 ERP til Logiq. Data hentes fra institusjonene med standart Unit4 API og pushers videre til Logiq ved å kalle Logiq dokument kontroll API. Vil medføre besparelser for institusjonene vedrørende behandling av innkommende fakturaer.

Interessenter

Dette er en leveranse til Unit4 ERP (416002). Kostnadene deles derfor mellom disse 2.

Brukerhistorie

Det er to API-kall mot UBW, det ene er for å hente ‘leverandører med e-post’ og det andre er for ‘fakturareferanser’. Disse dataene vil deretter bli transformert og overført til to Logiq-endepunkter  for å legge til ny leverandør eller å liste referanser.

...

  • Involverte systemer er ganske rett frem. Som forklart er det en enveis integrasjon, fra punkt A som er UBW til målsystemet, som er Logiq. Tabellen nedenfor kan forklare hvilke data som hentes fra kilden (ved hjelp av endepunkter) og, etter transformering av formatet, vil bli overført til målsystemet, gjennom tredjeparts endepunkt.

System

Data

Brukt API (nedepunkterendepunkter)

Config-databasen

Henter organisasjoner fra databasen (configDb.org-samling) som har aktiv miljøverdi (i.e. lister over alle institusjoner med UBWLOgiq.<env>.aativ satt til “true”). Felt som skal hentes fra hvert dokument er: organisasjonsnavn (det blir referert til som ShortName), AgressoClientCode(“TF", “HS” eller “MF”), templateIdog engineId (dette feltet er forskjellig i hvert miljø for organisasjonen).

MongoDatabase (getOrgs)

Config-databasen

Henter svartelistefilter (i henhold til module-id) som skal brukes i Slack-connector. Denne listen/arrayen med data bygges opp manuelt for hver app separat for å ignorere visse feil som oppstår i prosessen, enten de må ignoreres eller rapporteres til en kanal (i henhold til miljøet de bruker)

MongoDatabase (getSlackBlacklist)

LaaS

Projiserer auditInfoMap til Humio (LaaS) i henhold til module-id og env

do Index

Logiq

Dette vil be om token fra Logiq-endepunkt (grant_type, username, password (for tilsvarende miljø), scope, client_id og client_secret (for tilsvarende miljø), og det vil bli brukt når data sendes til Logiq-endepunktene (for å legge til ny leverandør, og fakturareferanser).

API kall mot Logiq: HTTP request (POST: logiq-token-host/auth/realms/document-control/protocol/openid-connect/token)

Logiq

Sender transformert datasett (inkludert engineId, receiverOrgno, receiverName, distribution, engineId, og noen statiske datastrenger som template, channel, active, created, updated, templateId og channelId) til Logiq-endepunkt.

API kall mot Logiq: HTTP request (POST: logiq-host/message/api/1.0/customer/configuration

Logiq

Sender transformert datasett (inkludert engineId, referenceValue, receiverName, og noen statiske datastrenger som referenceType, organizationNumber, referenceAlternative, referenceNumberFrom, referenceNumberTo, referenceRegEx og senderOrganizationNumber) til Logiq-endepunkt.

API kall mot Logiq: HTTP request (POST: logiq-host/reference/api/1.0/update-references)

Slack

Sender feilmeldinger (inkludert også data på module-idog submodul, organisasjons shortName, path osv.)

Slack-kanalen (mule-prod)

LaaS

Projiserer auditInfoMap til Humio (LaaS) i henhold til module-id og env

do Index

UBW

Henter leverandører med e-post (og gitt tilganng til bruker lqapi). Dataene hentet fra databasen (ShortName, AgressoClientCode, templateIdog engineId) brukes her som nyttelast. AgressoClientCode brukes har også som companyId. De hentede dataene vil senere bli overført til et nytt format og kombinasjon som sendes til Logiq-endepunket.

API kall mot UBW: HTTP request (GET: https://prd-svc.ubw.unit.no/UBWShortName-web-api/v1/objects/logiqeposts")

UBW

Henter fakturareferanser (her er det attributeValue som er fakturareferansen). URI-parametere er statiske strenger, "attributeId": "XB01" og "status": "N" (bortsett fra companyId som tilsvarer AgressoClientCode i databasen). Disse dataene vil også bli transformert til et nytt format og en ny kombinasjon som sendes til Logiq-endepunket.

API kall mot UBW: HTTP request (GET: https://prd-svc.ubw.unit.no/UBWShortName-web-api/v1/objects/attribute-values?filter=attributeId%20eq%20'XB01'%20and%20status%20eq%20'N'")

...

  • Hvilke data utveksles? 

    • Det er to sett med data:

      • De som er samlet inn fra databasen vår (tre felt for hvert miljø: active og engineId er/kan være forskjellige i hver miljø, men templateId er vanlig blant miljøene),

      • Og de hentet fra UBW API (separat for to forskjellige prosesser: ‘leverandør med e-post’ og 'fakturareferanser')

  • Alle attributter som utveksles ?er detaljert i flytdiagrammet lenger nede

Samhandlingsmønster

  • Hva driver utvekslingen?

    • HTTP-Request

    eller Push
  • Er utvekslingen synkron eller asynkron?

    • Utvekslingene gjøres etter hverandre: først ‘access token’, så overføring av leverandører med e-post data fra UBW til Logiq® og deretter overføring fakturareferanser fra UBW til Logiq®

Om involverte API

  • Brukte API endepunkter er UBW og Logiq: data og endepunkter er detaljert i ‘Systemer/tjenester' (rad 4 til 6 og 8 til 9), og prioriteringer er avbildet i avsnitt 'Flytdiagram’.

Tilgangsstyring og logging

  • Hva logges?

    • bortsett fra logger som viser fremdrift av handlingen (hvilket ‘Step’ som håndteres, hvilken organisasjon/ShortName eller miljø/env), avslutter og oppsummerer en *** FERDIG *** TransferSummary:-logger prosessen. Den teller antall innkommende organisasjoner og sammenligner det med antallet "SUCCESS" mottatt under prosessen for å vise den generelle suksessen til prosessen (“PASS” for generell suksess og "FAILED" for ufullstendig overføring). For hver organisasjon teller den antall overførende dokumenter og evaluerer status for prosessene separat i medEpost og fakturareferanser. Hvis begge fungerte vellykket, oppdaterer den status som "ALT ER OK!", ellers indikerer statusen “OVERFØRING AV DATA MISLYKTES” og den generelle statusen blir til "FAILED".

  • Eventuelle tilgangstyring: admin kan trigge flyten gjennom mulesoft-Runtime Manager> ‘schedules'> 'Run now’

Forretningsregler

  • Forretningslogikken i integrasjonen. Feks.

    • Bare dokumenter med ‘active’-status

    X leses etter Y antall dager osv …
    • “true” leses hver dag

Behandlingstid/responstid og volum

  • Hva er antallet meldinger pr. døgn i denne forbindelsen (Min, Avg, Max)Behandlingstid/responstid: ca. 22~47s

  • Frekvens: kjører en gang om dagen

  • Volum (målt: ): 54 hits daglig

Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse

  • Hva skjer ved overload i kø?

  • Hva skjer med ufullstendinge meldinger?

    • resultatet i TransferSummary viser hvilken prosess for hvilken organisasjon som mislyktes. Prosessen vil ikke stoppe, og andre deler (medEpost eller/og fakturareferanser for ShortName) vil kjøre og bli evaluert separat.

  • Inneholder meldingene personopplysninger?

    • Ja; receiverName, e-post og companyRegNo

  • Noe om viktige feil/situasjoner som må passes ekstra på (som kan ha stor konsekvens). F.eks : Oppgavene som aldri vil publiseres, eller Oppgaver som ikke skal publiseres, publiseres.

...

  • :

    • organisasjoner som ikke er klare settes til active:true manuelt ved en feiltakelse.

Flytdiagram

Inc drawio
zoom1
simple0
custContentId2790326332
pageId2790096948
lbox1
diagramDisplayNameubw-logiq.drawio
hiResPreview0
baseUrlhttps://unit.atlassian.net/wiki
imgPageId2794782730
diagramNameubw-logiq.drawio
pCenter0
aspect2pYDHef6PzBUxfDnAt3w C9nyE2VYV-ZQBwVoWtXJ-1
width1589
includedDiagram1
aspectHashf6c194a3b79772ba042266e704767f37aacd7b86
linksauto
tbstyletop
height1146

Kommentarer

Info

Lenken

Expand
titlelink to ubw-tjenester

/wiki/spaces/IPM/pages/274399317

...