Sende melding
Detaljert API-avtrykk finnes på Swagger-siden.
Sende til én mottaker
POST /Messages
Tar imot en forretningsdokument-Xml. Påkrevde felter:
- Selve forretningsdokumentet som en base64-enkodet byte-array av et Xml-dokument (andre ContentType og ContentTransferEncoding vil støttes i framtiden)
- ContentType:
application/xml - ContentTransferEncoding:
base64
API-forespørselen og forretningsdokumentet må gjennom en viss validering for at den skal aksepteres av EDI 2.0.
Endepunktet svarer med en Id-referanse (AssignedId) for forsendelsen. Denne må mottakere som bruker EDI 2.0 oppgi for å hente meldingen sin. Denne kan også du som avsender bruke for å følge opp status på meldingen.
Sende til flere mottakere (kopimottakere)
Flyten er identisk som for én mottaker, men det må være oppgitt flere mottakere (kopimottakere) i forretningsdokumentet.
Sende til et utvalg av alle mottakere
Hvis forretningsdokumentet har mange mottakere men du bare ønsker å sende til noen av dem med EDI 2.0, kan dette gjøres ved å liste opp de HER-Id-ene som skal motta meldingen i feltet ReceiverHerIdsSubset.
Sende med egne metadata til EbXml-konvolutten (mottakere med krav utover standardene)
Hvis du ønsker et forhold til hvilke metadata som sendes med EbXml-konvolutten i EbXml-standarden kan disse oppgis med EbxmlOverrides. Dette vil være nødvendig for kommunikasjon med de virksomhetene og tjenestene som har egne krav og retningslinjer for EbXml-konvolutten utover standarden.
For eksempel krever NAV i noen av sine utvekslinger spesiell håndtering av Service, Action, Role, CpaId og komprimering(Gzip). Feltene i EbxmlOverrides setter de tilhørende verdiene i EbXml-konvolutten.
Nedenfor er et eksempel på hvordan man kan overskrive verdier som brukes ved oppbyggingen av en EbXml-konvolutt. De spesifikke verdiene som skal inn defineres i så fall i en avtale mellom avsender og mottaker.
"ebXmlOverrides":
{
"cpaId": "nav:qass:123456789",
"service": "BehandlerKrav",
"serviceType": "string",
"action": "OppgjorsMelding",
"senderRole": "Behandler",
"receiverRole": "KontrollUtbetaler",
"compressPayload": true // Xml vil Gzip-es før kryptering
}
Sende melding med referanse til vedlegg i filtransporttjenesten (DEFT)
Meldinger som sendes med EDI 2.0 må være bakoverkompatible med tradisjonell EDI. Forsendelsens størrelse er derfor begrenset.
En strategi for å sende melding med vedlegg er f.eks. å bruke FileReference i stedet for Base64Container, gitt at mottaker også støtter filreferanse. Vedlegget kan f.eks. lastes opp i Objects-API-et i fildelingstjenesten DEFT, som forholder seg til den samme adresseringen og autoriseringen som Meldingstjener for EDI 2.0.
Nedenfor er et eksempel på hvordan man kan oppgi vedlegg i en EbXml, både som filreferanse og base64.
<RefDoc>
<IssueDate V="2023-10-03T08:32:13.4909691Z" />
<MsgType V="A" DN="Vedlegg" />
<MimeType>image/png</MimeType>
<Description>røntgenbilde fra mandag</Description>
<FileReference>https://api.deft.prod.nhn.no/Objects/dda2fbfc-271f-4794-8ae3-191c6f75232a_capture.png.</FileReference>
</RefDoc>
<RefDoc>
<IssueDate V="2023-10-03T08:32:13.4884712Z" />
<MsgType V="A" DN="Vedlegg" />
<MimeType>image/png</MimeType>
<Description>røntgenbilde fra mandag</Description>
<Content>
<Base64Container
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xmlns="http://www.kith.no/xmlstds/base64container">iVBORw0KGgoAA\....uQmCC</Base64Container>
</Content>
</RefDoc>
Hente status på sendt melding
GET /Messages/{AssignedId}/Status
Returnerer status for leveransen av meldingen for hver av mottakerene. Les mer om statustyper og -verdier:
receiverHerId: Hvilken mottaker statusen gjelder for.transportDeliveryState: Transportstatus mellom meldingstjenere. Tilsvarer Acknowledgement/MessageError fra EbXml-standarden.sent: Om meldingen er under prosessering av meldingstjeneren for EDI 2.0 eller ikke.appRecStatus: Hvis vi har mottatt og koblet en applikasjonskvittering til denne fagmeldingen, sier dette feltet hvilken status mottakerens fagsystem har gitt meldingen.
Eksempel på flyt
Send en melding.
Følg opp at mottakeren har kvittert og mottatt meldingen (eller bare gjør dette ved avvik? Det er opp til deg).
Sjekk at mottakerens fagsystem har kvittert meldingen med applikasjonskvittering/AppRec. Enten gjennom status-endepunktet, eller ved henting av et forretningsdokument som inneholder applikasjonskvitteringen.