Ilmoittajan API
Valitse tämä polku, jos järjestelmäsi luo ja ylläpitää satamakäyntejä sekä lähettää niihin liittyviä ilmoituksia.
NEMO kokoaa merenkulun ilmoitukset yhteen. Täältä löydät ilmoitusten tietosisällöt, koodilistat ja tekniset aineistot integraatioiden rakentamiseen.
Huomioi nämä Suomessa sovellettavat poikkeamat ilmoituksia toteuttaessasi. Luetteloa voidaan täydentää uusilla poikkeamilla.
Selaa ilmoitusten tietomalleja ja yhteisiä koodistoja yhdessä paikassa.
Katso viimeisimmät muutokset ohjeisiin ja rajapintoihin. Avaa muutosloki
NEMO toteuttaa EU:n EMSW-asetusta ja kokoaa kansallisen asioinnin yhteiseen palveluun.
EMSA MIG määrittää harmonisoidut ilmoitukset ja tietosisällöt.
Kansallinen profiili täsmentää, mitä Suomessa tarvitaan.
Toteuta integraatio skeemojen ja koodilistojen avulla.
Aiempi Developer Hub on edelleen käytettävissä rinnalla.
Suomen kansalliset tietovaatimukset
Valitse suppea yleiskuva tai tekninen näkymä. Aineistot perustuvat muodollisuuksien lähdetietoihin.
NEMO-viitetiedot
Hae UN/LOCODE-sijainteja ja tarkastele niihin liitettyjä Suomen satama-alueita, laituripaikkoja, ankkuripaikkoja ja satamarakenteita.
Kansallinen API
National API · integration guide
Authenticate, validate a payload against EMSA MIG, and submit your first formality to Finland's Maritime Single Window.
client_id and client_secret (request via onboarding and access), and your organizationBusinessId.curl or Postman, and a JSON editor/validator.External users: STG and PRD only. DEV/TST are internal to the MNSW team.
| Environment | Base URL | Authentication | Notes |
|---|---|---|---|
| STG | https://mnsw-stg.mnsw.fi/ | OAuth2 client credentials | Active |
| PRD | https://mnsw.mnsw.fi/ | OAuth2 client credentials | Onboarding required |
The exact issuer and token URL are shared during onboarding. Replace <TOKEN_URL> in examples accordingly.
Requests a token with OAuth2 client credentials.
Returns an access token (JWT).
Accepts authorized port-call and formality requests.
Validate the formality payload before sending it.
Use the client issued for your organization (declarant or port) with the OAuth2 Client Credentials grant. The flow is identical for both.
https://mnsw-stg.mnsw.fi/keycloak/realms/nemo/protocol/openid-connect/tokenhttps://mnsw.mnsw.fi/keycloak/realms/nemo/protocol/openid-connect/tokenOnly STG and PRD are supported for external integrators. DEV/TST are for the MNSW team only.
ENV=stg # or prd
case "$ENV" in
stg) IDP_HOST=mnsw-stg.mnsw.fi/keycloak ;;
prd) IDP_HOST=mnsw.mnsw.fi/keycloak ;;
*) echo "Use stg or prd (DEV/TST are internal)"; exit 1 ;;
esac
TOKEN_URL="https://$IDP_HOST/realms/nemo/protocol/openid-connect/token"
CLIENT_ID=<client_id>
CLIENT_SECRET=<secret>
ACCESS_TOKEN=$(curl --fail-with-body -sS -X POST "$TOKEN_URL" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=$CLIENT_ID" \
-d "client_secret=$CLIENT_SECRET" | jq -er '.access_token // empty')
Keep client secrets and access tokens out of source control, logs, and shared messages. Send the access token using the standard OAuth2 authorization scheme, together with the organizationBusinessId header.
Call an authorized endpoint to verify the token and organization header:
export BASE=https://mnsw-stg.mnsw.fi
export ACCESS_TOKEN=<access_token>
export ORG_BID=<your_organizationBusinessId>
curl -i "$BASE/nemo-ui/api/v1/codelists/names" \
--oauth2-bearer "$ACCESS_TOKEN" \
-H "organizationBusinessId: $ORG_BID"
Start from the EMSA MIG JSON Schema for the formality type (for example NOA, NOD, or CGD), populate required fields, and follow national rules where applicable.
Use the exact envelope, element names, and namespaces from the
NOA JSON Schema.
Save the complete, validated document as payload.json; a simplified
illustrative object is not a valid submission.
MIG-P33 — Unknown data: if an optional element's value is unknown, omit it. Do not send empty strings, 0, or null.
Submit to the Declarant API endpoint for the port call. The API accepts formalityData as an application/json multipart field. Use the formality ID when updating an existing formality.
export VISIT_ID=<portcall-visitId>
export FORM_TYPE=NOA # e.g., NOA, NOD, CGA, CGD, ATA, ATD
export FORM_ID=<stable-formality-uuid>
curl -i -X POST "$BASE/declarant-api/v1/portcalls/$VISIT_ID/formalities/$FORM_TYPE" \
--oauth2-bearer "$ACCESS_TOKEN" \
-H "organizationBusinessId: $ORG_BID" \
-F "formalityData=@payload.json;type=application/json"
# Update the same formality later:
curl -i -X PUT "$BASE/declarant-api/v1/portcalls/$VISIT_ID/formalities/$FORM_TYPE/$FORM_ID" \
--oauth2-bearer "$ACCESS_TOKEN" \
-H "organizationBusinessId: $ORG_BID" \
-F "formalityData=@payload.json;type=application/json"
request-id (if returned in headers or body) when contacting support.If you integrate via AS4, package the same MIG payload as the business document and send it via Domibus/RIM. Error semantics mirror REST responses.
Packages the business document.
Delivers the AS4 message.
Processes the message and returns acknowledgements.
Scopes are provisioned with your client during onboarding. Always include the organizationBusinessId header matching your organization.
Use the MIG 2.0.1.0 schemas published by the NEMO Developer Hub. For breaking changes, see the Changelog.
Need help? Email nemo.support@emsw.fi.
Rajapinnat ja tiedonsiirto
Valitse järjestelmällesi sopiva tiedonsiirtotapa ja käy läpi käyttöönoton, tietoturvan ja operoinnin keskeiset asiat.
Valitse organisaatiosi roolia ja käyttötapausta vastaava polku. API-pääsy, tarvittavat käyttöoikeudet ja käyttöönoton ohjeet sovitaan NEMO-tuen kanssa.
Valitse tämä polku, jos järjestelmäsi luo ja ylläpitää satamakäyntejä sekä lähettää niihin liittyviä ilmoituksia.
Valitse tämä polku, jos järjestelmäsi hakee sataman tietoja tai lähettää satamatilastoja.
Valitse tämä polku, jos lähetät ilmoituksia oman tai palveluntarjoajan AS4-yhteyspisteen kautta RIM-palveluun.
Kerro viestissä organisaatiosi, valitsemasi integraatiopolku ja tarvittava ympäristö. Älä lähetä salasanoja, client secret -arvoja tai yksityisiä avaimia.
Valitse selainkäyttö, jos ilmoitat käsin. Järjestelmäintegraatioon käytetään kansallista API:a tai AS4/RIM-yhteyttä.
Valitse selainkäyttö, jos organisaatiosi käyttäjät tekevät ilmoitukset suoraan Nemossa ilman järjestelmäintegraatiota. Ilmoitukset voi täyttää käyttöliittymässä, EMSA:n harmonisoidulla Excel-pohjalla tai Suomen kansallisella Excel-mallilla. Käyttäjätilit, käyttöoikeudet ja vaiheittaiset ilmoitusohjeet hallitaan virallisissa käyttöohjeissa.
Ilmoittajan ja sataman API:t tarjoavat järjestelmäintegraation HTTPS-rajapinnoilla. Käyttö valtuutetaan OAuth2 client credentials -tunnuksilla.
Lähettäjän järjestelmä toimittaa ASiC-E-sanomasäiliön oman tai palveluntarjoajan AS4-yhteyspisteen kautta Suomen RIM-palveluun.
Avaa palveluiden rajapintakuvaukset ja niitä täydentävät viiteportaalit. Dokumentaatio avautuu nykyisillä, erillisillä sivuillaan.
Redoclyllä tuotetut OpenAPI-kuvaukset esittelevät palveluiden operaatiot ja rajapintojen rakenteet.
API:n avulla ilmoittaja voi hallita satamakäyntejä ja niihin liittyviä ilmoituksia.
Avaa täydellinen OpenAPI-dokumentaatioGET /v1/portcallsHae ilmoittajan satamakäyntejä.POST /v1/portcallsLuo uusi satamakäynti.GET /v1/portcalls/{visitId}/formalitiesHae satamakäynnin ilmoitukset.POST /v1/portcalls/{visitId}/formalities/{formalityType}Luo ilmoitus satamakäynnille.PUT /v1/portcalls/{visitId}/formalities/{formalityType}/{formalityId}Päivitä tai peruuta olemassa oleva ilmoitus.Sataman API tarjoaa satamatietoja ja alusten tietoja sekä vastaanottaa satamatilastoja.
Avaa täydellinen OpenAPI-dokumentaatioGET /v1/ports/dataHae satamatietoja.POST /v1/ports/statisticsLähetä satamatilastoja.GET /v1/shipsHae alusten tietoja ja niihin liittyviä todistuksia.GET /v1/ships/identifiersHae alusten tunnisteita.OpenAPI-kuvauksen perusteella palvelusta voi hakea sijaintitietoja, Suomen satama-alueita ja laituripaikkoja sekä GISIS-koodeja.
Avaa täydellinen OpenAPI-dokumentaatioPOST /api/v1/locationHae sijainteja nimen tai LOCODE-tunnuksen perusteella.GET /api/v1/location/locodesHae saatavilla olevat LOCODE-tunnukset tai suodata niitä tunnuksella.GET /api/v1/location/locodeCheckTarkista, löytyykö LOCODE palvelusta.GET /api/v1/nationalPortAreaHae Suomen satama-alueita LOCODE-tunnuksen perusteella.GET /api/v1/nationalBerth/listByPortAreaCodeHae laituripaikkoja satama-alueen koodilla.GET /api/v1/nationalBerth/listByGisisCodeHae laituripaikkoja GISIS-koodilla.GET /api/v1/nationalBerth/{code}Hae laituripaikan tiedot sen koodilla.GET /api/v1/gisisHae GISIS-koodeja LOCODE-tunnuksella tai kaikki saatavilla olevat koodit.Tarkista tunnistautumisvaatimukset, osoitteet ja käyttöoikeudet palvelun OpenAPI-kuvauksesta.
Tutustu palveluiden viitetietoihin, koodistoihin ja kansallisiin vastaavuustaulukoihin.
Satamille suunnatut ohjeet löytyvät nykyisestä käyttöohjeesta ja tilastotietojen lähettämisen dokumentaatiosta.
Seuraa havainnollistuksesta, miten ilmoitukset ja niihin liittyvät tiedot kulkevat toimijoiden ja järjestelmien välillä.
Lähettäjä hallitsee omaa taustajärjestelmäänsä ja AS4-yhteyspistettään. RIM vastaanottaa viestin, tarkistaa lähettäjän rekisteröinnin ja välittää sen kansalliseen käsittelyyn.
Muodostaa ilmoituksen ja ASiC-E-sanomasäiliön.
Allekirjoittaa ja salaa AS4-viestin sovitun profiilin mukaisesti.
Vastaanottaa viestin, tarkistaa valtuutuksen ja reitittää aineiston.
Käsittelee ilmoituksen kansallisten sääntöjen mukaisesti.
Viestikuittaus palautuu AS4-vastauksena. RIM voi myös lähettää teknisen tai liiketoiminnallisen vastauksen lähettäjän AS4-yhteyspisteeseen.
Avaa Domibus PMode -konfigurointiohjeVarmista, mitä API:a tai AS4/RIM-yhteyttä käyttötapauksesi edellyttää, ja pyydä tarvittavat tunnukset ja roolit.
AS4-polulla varmista lähettäjän tunnisteet, EORI, yhteyspiste, verkko-osoitteet ja varmenteiden vaihto. URAM-rekisteröinnin on vastattava viestin tietoja.
Aloita sovitussa testiympäristössä, varmista tekninen viestinvaihto ja päästä päästä -toiminta ennen staging- ja tuotantosiirtymää.
Ilmoita etukäteen endpoint-, avain-, varmenne- tai IP-osoitemuutoksista; päivitä asetukset ja testaa ennen tuotantoaktivointia.
Ympäristöjen osoitteet, tunnisteet, varmenteet ja muut sopimusarvot vahvistetaan käyttöönotossa. Älä kopioi esimerkkiasetuksia tuotantoon sellaisenaan.
Ympäristöjen järjestys riippuu valitusta tiedonsiirtotavasta. Käytä aina kyseisen rajapinnan tai AS4-yhteyden ohjeissa vahvistettuja osoitteita ja tunnuksia.
API-käytössä ulkoiset integraatiot käyttävät testiä varten STG- ja tuotantoa varten PRD-ympäristöä. DEV- ja TST-ympäristöt ovat sisäiseen käyttöön.
AS4-yhteyden tekninen viestinvaihto aloitetaan DEV-ympäristössä. Onnistuneen yhteystestin jälkeen päästä päähän -testaus jatkuu STG:ssä ennen tuotantoon siirtymistä.
AS4-polulla C1 allekirjoittaa ASiC-E-sanomasäiliön eIDAS QES- tai AdES-allekirjoituksella. Allekirjoitus on erillinen AS4-yhteyspisteen viestiallekirjoituksesta.
C2:n X.509-varmenteita käytetään AS4-viestin allekirjoitukseen ja salaukseen. TLS suojaa verkkoyhteyden yhteyspisteiden välillä; luottamusketjut on asennettava sovitusti.
AS4-viestien lähettäjän tiedot tarkistetaan URAM-rekisteröintiä vasten, mukaan lukien EORI. API-käytössä käytetään myönnettyjä OAuth2 client credentials -tunnuksia.
Säilytä yksityiset avaimet ja API-salaisuudet vain suojatuissa avain- ja salaisuusholveissa. Älä jaa niitä lokien, tikettien tai koodivarastojen kautta.
Tarkista vastaanottokuittaus, vastaussanoma, MessageId, lähettäjän rekisteröintitiedot sekä käytössä olevan ympäristön PMode- ja varmenneasetukset.
Tukipyynnössä ilmoita ympäristö, ajankohta ja MessageId. Älä liitä pyyntöön salasanoja, yksityisiä avaimia tai tarpeettomia henkilötietoja.
Käyttöönoton, teknisten ongelmien ja muiden kysymysten yhteydessä voit lähettää viestin sähköpostitse tai luoda tukipyyntöluonnoksen lomakkeella.
Koulutukset ja tallenteet
Selaa tulevia koulutuksia ja menneiden webinaarien tallenteita sekä aineistoja.
Tulevien webinaarien ilmoittautumistiedot: NEMO-koulutustilaisuudet
EMSWe MIG 2.0.1.0
Valitse ilmoitusmuodollisuus ja tarkastele sen JSON-skeeman rakennetta.
NEMO-viitetiedot
Valitse koodilista ja hae koodia tai kuvausta.