Als u een API in Portal gebruikt waarvoor tokens (Client IDs en Client Secrets) vereist zijn, legt dit artikel uit hoe u deze kunt genereren.
Let op: alleen gebruikers met de rol "owner" en "admin" hebben toegang tot de API Configuration-pagina. Het is aanbevolen om een specifieke admin-gebruiker aan te maken voor API-interactie. Op de Shipment Data API kunt u hiermee bijvoorbeeld het shipment viewer-profiel aanpassen zodat het exact overeenkomt met de gegevens die u wilt retourneren, zonder de UI-configuratie van andere gebruikers te beïnvloeden.
Als u niet bekend bent met de gebruikerstypen en rollen die in nShift Ship worden gebruikt, raden we u aan dit artikel te lezen: Gebruikerstypen en rollen begrijpen.
Een Client ID en Client Secret aanmaken
- Log in op nShift Portal met uw owner-gebruiker.
- Klik op Settings in de rechterbovenhoek.
- Kies API Configuration > Clients in het linkermenu.
- Klik op de pagina Clients op de knop Add.
- Vul in het dialoogvenster dat wordt geopend Display name en Description in. Kies een naam en beschrijving waarmee het token later eenvoudig te herkennen is. Vink het vakje Enable aan om het token direct te activeren. (U kunt het token op elk moment na aanmaak in- of uitschakelen).
- Kies de Allowed Scopes, dat zijn de API's waartoe u toegang nodig heeft.
- Klik op Save. Uw Client Id en Client Secret worden nu gegenereerd en weergegeven op het scherm. Belangrijk: Noteer de tokens, want de Client Secret is niet meer beschikbaar nadat u het pop-upvenster sluit.
- Klik op Save om het aanmaken van het token te voltooien.
- Het token wordt nu vermeld op de pagina Clients. U kunt op een token klikken om het op elk gewenst moment te bewerken of te verwijderen, of om het in of uit te schakelen. Als u een lange lijst tokens heeft, kunt u de filteroptie bovenaan gebruiken om alleen ingeschakelde of uitgeschakelde tokens weer te geven.
Overzicht van scopes
Deze lijst legt het gebruik van de verschillende scopes uit. Om veiligheidsredenen raden we aan alleen de scopes te kiezen die u nodig heeft. Het is beter om meerdere Client IDs met beperkte scopes aan te maken dan één ID dat meerdere scopes dekt.
-
Public Containers API (public_containers_api) – Vereist om de container-API te gebruiken voor het beheren van containers. Lees meer over de container-API hier. U heeft deze scope ook nodig als u containers wilt gebruiken in nShift On-premises, lees meer hier.
-
Public COP Cloud Access (public_cop_cloud_access) – Gebruikt voor veilige communicatie tussen On-premises en Portal zodat abonnementen kunnen worden uitgevoerd.
-
ScanApp public Api (public_api_scanapp_consignor) – Vereist om containers te gebruiken in nShift On-premises. Deze scope geeft On-premises toegang tot het ophalen van een lijst met beschikbare Action Centers op basis van de owner die aan de installatie is gekoppeld. Lees meer over containers in On-premises hier.
-
Portal Shipment Data API (public_api_portal_shipment_data) – Vereist wanneer u de Shipment Data API wilt gebruiken om verzendingsgegevens op te halen uit Portal. Lees meer over de Shipment Data API hier.
- Shipment Server (public_api_shipmentserver) – Deze scope is vereist om de Shipment Server API versie 2 te gebruiken. Lees meer hier.
Een toegangstoken ophalen
Gebruik uw Client ID en Client Secret om een toegangstoken te genereren dat nodig is voor andere aanvragen aan onze API. Dit doet u door een POST-verzoek te sturen naar het volgende token-endpoint:
https://account.nshiftportal.com/idp/connect/token
Geef de Client ID, Client Secret en grant type op in de taal en het framework dat uw bedrijf gebruikt.
Voorbeeld:
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
Als het verzoek geldig is en de client correct is geconfigureerd, ontvangt u een JSON-respons terug:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Verder lezen
Al onze nieuwe API's ondersteunen een OpenID-oplossing voor verbeterde beveiliging. Zie voor meer informatie de documentatie voor de OpenId- en IdentityServer-standaard: