Hvis du bruger et 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 siden API Configuration. Det anbefales at oprette en specifik admin-bruger til API-interaktion. For eksempel vil det på Shipment Data API gøre det muligt at tilpasse shipment viewer-profilen, så den matcher præcis de data, du ønsker at returnere, uden at det påvirker andre brugeres UI-konfiguration.
Hvis du ikke er bekendt med de brugertyper og roller, der bruges 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 øverst til højre.
- Vælg API Configuration > Clients i menuen til venstre.
- På siden Clients skal du klikke på knappen Add.
- I dialogboksen, der åbnes, skal du udfylde Display name og Description. Vælg et navn og en beskrivelse, der gør det lettere at identificere tokenet senere. Marker afkrydsningsfeltet Enable for at aktivere tokenet med det samme. (Du kan til enhver tid aktivere eller deaktivere tokenet efter oprettelsen).
- 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 genereres nu og vises på skærmen. Vigtigt: Notér tokenene, da Client Secret ikke vil være tilgængeligt, efter at popup-vinduet er lukket.
- Klik på Save for at afslutte oprettelsen af tokenet.
- Tokenet vises nu 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 over tokens, kan du bruge filtermuligheden øverst til kun at vise aktiverede eller deaktiverede tokens.
Oversigt over scopes
Denne liste forklarer anvendelsen 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 snævre scopes end ét ID, der dækker flere scopes.
-
Public Containers API (public_containers_api) - Nødvendigt for at bruge container-API’et til at administrere containere. Læs mere om container-API’et 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ødvendigt 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 knyttet til installationen. Læs mere om containere i On-premises her.
-
Portal Shipment Data API (public_api_portal_shipment_data) - Nødvendigt, når du vil bruge Shipment Data API til at hente forsendelsesoplysninger fra Portal. Læs mere om Shipment Data API 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, som er nødvendigt for andre forespørgsler til vores API. Dette gøres ved at sende en POST-forespørgsel til følgende token-endpoint:
https://account.nshiftportal.com/idp/connect/token
Angiv Client ID, Client Secret og grant type i det sprog og framework, som 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 forespørgslen er gyldig, og klienten er konfigureret korrekt, vil du få 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. For mere information henvises til standarddokumentationen for OpenId og IdentityServer: