Hvis du bruker en API i Portal som krever bruk av tokens (Client IDs og Client Secrets), forklarer denne artikkelen hvordan du genererer dem.
Merk at kun brukere med rollen "owner" og "admin" har tilgang til API Configuration-siden. Det anbefales å opprette en spesifikk admin-bruker for API-interaksjon. For eksempel vil det på Shipment Data API gi deg muligheten til å tilpasse shipment viewer-profilen slik at den samsvarer nøyaktig med dataene du ønsker å returnere, uten å påvirke andre brukeres konfigurasjon av brukergrensesnittet.
Hvis du ikke er kjent med brukertypene og rollene som brukes i nShift Ship, anbefaler vi å lese denne artikkelen: Forstå brukertyper og roller.
Opprette et Client ID og Client Secret
- Logg inn på nShift Portal med din owner-bruker.
- 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 ut Display name og Description. Velg et navn og en beskrivelse som gjør det enklere å identifisere tokenet senere. Merk 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 de Allowed Scopes som er API-ene du trenger tilgang til.
- Klikk på Save. Din Client Id og Client Secret vil nå bli generert og vist på skjermen. Viktig: Noter tokenene ettersom 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 klikke på et token når som helst 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 sikkerhetsmessige årsaker anbefaler vi kun å velge 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-en til å administrere containere. Les mer om container-API-en 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 til sikker kommunikasjon mellom On-premises og Portal for at abonnementer skal kunne 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 tilknyttet installasjonen. Les mer om containere i On-premises her.
-
Portal Shipment Data API (public_api_portal_shipment_data) – Nødvendig når du vil bruke Shipment Data API-en til å hente forsendelsesopplysninger fra Portal. Les mer om Shipment Data API-en 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 trengs for andre forespørsler til API-en vår. Dette gjøres ved å sende en POST-forespørsel til følgende token-endpoint:
https://account.nshiftportal.com/idp/connect/token
Oppgi Client ID, Client Secret og grant type i språket og rammeverket som brukes av din virksomhet.
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 et JSON-svar:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Videre lesning
Alle våre nye API-er støtter en OpenID-løsning for økt sikkerhet. For mer informasjon, se dokumentasjonen for OpenId- og IdentityServer-standarden: