Hvis du bruker et API i Portal som krever bruk av tokens (Client IDs og Client Secrets), forklarer denne artikkelen hvordan du genererer dem.
Vær oppmerksom på at kun brukere med rollene "owner" og "admin" har tilgang til siden API Configuration. Det anbefales å opprette en egen admin-bruker for API-interaksjon. For eksempel vil dette i Shipment Data API gjøre det mulig å tilpasse shipment viewer-profilen slik at den samsvarer nøyaktig med dataene du ønsker å returnere, uten å påvirke andre brukeres UI-konfigurasjon.
Hvis du ikke er kjent med brukertypene og rollene som brukes i nShift Ship, anbefaler vi at du leser denne artikkelen: Forstå brukertyper og roller.
Opprette en Client ID og Client Secret
- Logg inn på nShift Portal med owner-brukeren din.
- Klikk på Settings øverst til høyre.
- Velg API Configuration > Clients i menyen til venstre.
- På siden Clients klikker du på knappen Add.
- I dialogboksen som åpnes fyller du inn Display name og Description. Velg et navn og en beskrivelse som gjør det enklere å identifisere tokenet senere. Kryss av for Enable for å aktivere tokenet med en gang. (Du kan aktivere eller deaktivere tokenet når som helst etter at det er opprettet).
- Velg Allowed Scopes, som er API-ene du trenger tilgang til.
- Klikk på Save. Din Client Id og Client Secret blir nå generert og vist på skjermen. Viktig: Noter tokenene, da Client Secret ikke vil være tilgjengelig etter at du lukker popup-vinduet.
- Klikk på Save for å fullføre opprettelsen av tokenet.
- Tokenet vil nå være oppført på siden Clients. Du kan når som helst klikke på et token for å redigere eller slette det, eller for å aktivere/deaktivere det. Hvis du har en lang liste med tokens, kan du bruke filteralternativet øverst for å vise kun aktiverte eller deaktiverte tokens.
Oversikt over scopes
Denne listen forklarer bruken av de ulike scopene. Av sikkerhetsgrunner anbefaler vi at du kun velger de scopene du trenger. Det er bedre å opprette flere Client IDs med begrensede scopes enn én ID som dekker flere scopes.
-
Public Containers API (public_containers_api) – Nødvendig for å bruke container-API-et til å administrere containere. Les mer om container-API-et her. Du trenger også dette scopet hvis du vil bruke containere i nShift On-premises, les mer her.
-
Public COP Cloud Access (public_cop_cloud_access) – Brukes for sikker kommunikasjon mellom On-premises og Portal slik at abonnementer kan kjøre.
-
ScanApp public Api (public_api_scanapp_consignor) – Nødvendig for å bruke containere i nShift On-premises. Dette scopet gir On-premises tilgang til å hente en liste over tilgjengelige Action Centers basert på owneren som er knyttet til installasjonen. Les mer om containere i On-premises her.
-
Portal Shipment Data API (public_api_portal_shipment_data) – Nødvendig når du ønsker å bruke Shipment Data API for å hente forsendelsesinformasjon fra Portal. Les mer om Shipment Data API her.
- Shipment Server (public_api_shipmentserver) – Dette scopet er nødvendig for å bruke Shipment Server API versjon 2. Les mer her.
Hente et tilgangstoken
Bruk din Client ID og Client Secret til å generere et tilgangstoken som er nødvendig for andre forespørsler til vårt API. Dette gjøres ved å sende en POST-forespørsel til følgende token-endepunkt:
https://account.nshiftportal.com/idp/connect/token
Angi Client ID, Client Secret og grant type i språket og rammeverket som brukes av selskapet ditt.
Eksempel:
POST https://account.nshiftportal.com/idp/connect/token
Cache-Control: no-cache
Host: www.nshiftportal.com
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials
Hvis forespørselen er gyldig og klienten er riktig konfigurert, vil du få tilbake en JSON-respons:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Videre lesning
Alle våre nye API-er vil støtte en OpenID-løsning for forbedret sikkerhet. For mer informasjon, se standarddokumentasjonen for OpenId og IdentityServer: