Hvis du bruger en API i Portal, der kræver brug af tokens (Client IDs og Client Secrets), forklarer denne artikel, hvordan du genererer dem.
Bemærk, at kun brugere med rollen "owner" og "admin" har adgang til API Configuration-siden. Det anbefales at oprette en specifik admin-bruger til API-interaktion. For eksempel vil det på Shipment Data API give dig mulighed for at tilpasse shipment viewer-profilen, så den matcher præcis de data, du ønsker at returnere, uden at det påvirker andre brugeres konfiguration af brugergrænsefladen.
Hvis du ikke er bekendt med de brugertyper og roller, der anvendes i nShift Ship, anbefaler vi, at du læser denne artikel: Forståelse af brugertyper og roller.
Oprettelse af et Client ID og Client Secret
- Log ind på nShift Portal med din owner-bruger.
- Klik på Settings i øverste højre hjørne.
- Vælg API Configuration > Clients i menuen til venstre.
- På siden Clients klikker du på knappen Add.
- I den dialogboks, der åbnes, udfyldes Display name og Description. Vælg et navn og en beskrivelse, der gør det nemmere at identificere tokenet senere. Markér boksen Enable for at aktivere tokenet med det samme. (Du kan til enhver tid aktivere eller deaktivere tokenet, efter det er oprettet).
- Vælg de Allowed Scopes, som er de API'er, du har brug for adgang til.
- Klik på Save. Dit Client Id og Client Secret vil nu blive genereret og vist på skærmen. Vigtigt: Notér tokenerne, da Client Secret ikke vil være tilgængeligt, efter du lukker pop op-vinduet.
- Klik på Save for at afslutte oprettelsen af tokenet.
- Tokenet vil nu være opført på siden Clients. Du kan til enhver tid klikke på et token for at redigere eller slette det eller for at aktivere/deaktivere det. Hvis du har en lang liste af tokens, kan du bruge filterindstillingen øverst til kun at vise aktiverede eller deaktiverede tokens.
Oversigt over scopes
Denne liste forklarer brugen af de forskellige scopes. Af sikkerhedsmæssige årsager anbefaler vi kun at vælge de scopes, du har brug for. Det er bedre at oprette flere Client IDs med begrænsede scopes end ét ID, der dækker flere scopes.
-
Public Containers API (public_containers_api) – Nødvendig for at bruge container-API'en til at administrere containere. Læs mere om container-API'en her. Du har også brug for dette scope, hvis du vil bruge containere i nShift On-premises – læs mere her.
-
Public COP Cloud Access (public_cop_cloud_access) – Bruges til sikker kommunikation mellem On-premises og Portal, så abonnementer kan køre.
-
ScanApp public Api (public_api_scanapp_consignor) – Nødvendig for at bruge containere i nShift On-premises. Dette scope giver On-premises adgang til at hente en liste over tilgængelige Action Centers baseret på den owner, der er tilknyttet installationen. Læs mere om containere i On-premises her.
-
Portal Shipment Data API (public_api_portal_shipment_data) – Nødvendig, når du vil bruge Shipment Data API'en til at hente forsendelsesoplysninger fra Portal. Læs mere om Shipment Data API'en her.
- Shipment Server (public_api_shipmentserver) – Dette scope er nødvendigt for at bruge Shipment Server API version 2. Læs mere her.
Hentning af et adgangstoken
Brug dit Client ID og Client Secret til at generere et adgangstoken, der er nødvendigt til andre anmodninger til vores API. Dette gøres ved at sende en POST-anmodning til følgende token-endpoint:
https://account.nshiftportal.com/idp/connect/token
Angiv Client ID, Client Secret og grant type i det sprog og den ramme, din virksomhed bruger.
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 anmodningen er gyldig, og klienten er konfigureret korrekt, får du et JSON-svar tilbage:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Yderligere læsning
Alle vores nye API'er understøtter en OpenID-løsning for øget sikkerhed. Du kan finde flere oplysninger i dokumentationen for OpenId og IdentityServer-standarden: