Flyt for meldingsutveksling
Når du bruker API-et til meldingsutveksling samarbeider API-et med meldingstjeneren for å ivareta utvekslingen. Meldingstjeneren vet om mottaker er en EDI-bruker eller en annen API-bruker og kan dermed kryptere og signere for sending over EDI, eller tilgjengeliggjøre meldingen for en annen API-bruker.
Man kan se for seg tre scenarier i en utveksling mellom API-brukere og EDI-brukere. API til EDI, EDI til API og API til API. EDI til EDI håndteres av dagens EDI-løsning og er ikke relevant for API eller EDI 2.0.
API til EDI
Figuren illustrerer en API-bruker A1 som sender en fagmelding til EDI-bruker E1. Meldingstjeneren står for EbXml-kommunikasjonen med E1, og tilgjengeliggjør en Applikasjonskvittering til A1.
API til EDI
- API-bruker bruker POST /Messages for å sende en fagmelding. Meldingstjeneren, som ved hjelp av Adresseregisteret vet at mottakeren er en EDI-bruker, starter en normal EDI meldingsutveksling med E1 med transportkvitteringer og Applikasjonskvittering.
- Fagmelding overleveres til E1 via EDI
- Meldingstjeneren mottar en transportkvittering og oppdaterer status
på fagmeldingen
- A1 kan om ønskelig spørre etter status på en melding ved å bruke GET /Messages/{id}/Status
- Applikasjonskvittering mottas og persisteres
- Transportkvittering (leveres umiddelbart)
- A1 mottar applikasjonskvittering.
- Merk at dette ikke er en push, men at API-brukeren først bruker GET /Messages for å få en liste over uleste meldinger etterfulgt av GET /Messages/{id}/BusinessDocument for å hente ned fagmeldingen. Denne bør igjen følges opp med en PUT /Messages/{id}/Read når meldingen er persistert hos A1 slik at den ikke hentes på nytt ved neste kall til GET /Messages
- API-brukeren kan velge å bare motta fagmeldinger med GET /Messages endepunktet. Status på en fagmelding (GET /Messages/{id}/Status) TEST inneholder også status på applikasjonskvitteringen og dette kan brukes som en enklere implementasjon for API-brukere som ikke ønsker å forholde seg til en XML i denne sammenhengen.
EDI til API
Figuren illustrerer en EDI-bruker E1 som sender en fagmelding til API-bruker A1.
EDI til API
- E1 sender en fagmelding til A1. Denne mottas av Meldingstjeneren ettersom A1 er endret til denne adressen i Adresseregisteret
- Meldingstjeneren svarer med transportkvittering så snart meldingen er persistert
- A1 mottar fagmeldingen ved å bruke GET /Messages for å få tilbake Id på den uleste meldingen og deretter GET /Messages/{id}/BusinessDocument for å hente fagmeldingen
- A1 leverer en applikasjonskvittering med POST /Messages, alternativt med POST /Messages/{id}/Apprec
- Meldingstjeneren videreformidler applikasjonskvitteringen
- Meldingstjeneren mottar transportkvittering og oppdaterer status på applikasjonskvitteringen
API til API
Figuren illustrerer en API-bruker A1 som sender en fagmelding til API-bruker A2.
Api til Api
- A1 sender en fagmelding med POST /Messages til A2 som persisteres i meldingstjeneren
- A2 henter ID til den uleste medlingen med GET /Messages og deretter fagmeldingen med GET /Messages/{id}/BusinessDocument
- A2 sender en applikasjonskvittering med POST /Messages til A1, alternativt med POST /Messages/{id}/Apprec
- A1 henter applikasjonskvitteringen enten
- som en XML med GET /Messages og GET /Messages/{id}/BusinessDocument
- som en Status-json med GET /Messages/{id}/Status