Om du använder ett API i Portal som kräver användning av tokens (Client IDs och Client Secrets) förklarar denna artikel hur du genererar dem.
Observera att endast användare med rollerna "owner" och "admin" har tillgång till sidan API Configuration. Det rekommenderas att skapa en särskild admin-användare för API-interaktion. I Shipment Data API gör detta det till exempel möjligt att anpassa shipment viewer-profilen så att den exakt matchar de data du vill returnera, utan att påverka andra användares UI-konfiguration.
Om du inte är bekant med användartyperna och rollerna som används i nShift Ship rekommenderar vi att du läser denna artikel: Förstå användartyper och roller.
Skapa ett Client ID och Client Secret
- Logga in på nShift Portal med din owner-användare.
- Klicka på Settings uppe till höger.
- Välj API Configuration > Clients i menyn till vänster.
- Klicka på knappen Add på sidan Clients.
- I dialogrutan som öppnas fyller du i Display name och Description. Välj ett namn och en beskrivning som gör det enklare att identifiera token senare. Markera rutan Enable för att aktivera token direkt. (Du kan aktivera eller inaktivera token när som helst efter att den har skapats).
- Välj de Allowed Scopes som motsvarar de API:er du behöver åtkomst till.
- Klicka på Save. Ditt Client Id och Client Secret genereras nu och visas på skärmen. Viktigt: Spara tokenen eftersom Client Secret inte kommer att vara tillgängligt efter att popup-fönstret har stängts.
- Klicka på Save för att slutföra skapandet av tokenen.
- Tokenen kommer nu att listas på sidan Clients. Du kan när som helst klicka på en token för att redigera eller ta bort den eller för att aktivera/inaktivera den. Om du har en lång lista med tokens kan du använda filteralternativet högst upp för att endast visa aktiverade eller inaktiverade tokens.
Översikt över scopes
Den här listan förklarar användningen av de olika scopesen. Av säkerhetsskäl rekommenderar vi att du endast väljer de scopes du behöver. Det är bättre att skapa flera Client IDs med begränsade scopes än ett enda ID som täcker flera scopes.
-
Public Containers API (public_containers_api) – Krävs för att använda container-API:et för att hantera containrar. Läs mer om container-API:et här. Du behöver också detta scope om du vill använda containrar i nShift On-premises, läs mer här.
-
Public COP Cloud Access (public_cop_cloud_access) – Används för säker kommunikation mellan On-premises och Portal så att prenumerationer kan köras.
-
ScanApp public Api (public_api_scanapp_consignor) – Krävs för att använda containrar i nShift On-premises. Detta scope ger On-premises åtkomst till att hämta en lista över tillgängliga Action Centers baserat på owner som är kopplad till installationen. Läs mer om containrar i On-premises här.
-
Portal Shipment Data API (public_api_portal_shipment_data) – Krävs när du vill använda Shipment Data API för att hämta sändningsinformation från Portal. Läs mer om Shipment Data API här.
- Shipment Server (public_api_shipmentserver) – Detta scope krävs för att använda Shipment Server API version 2. Läs mer här.
Hämta en åtkomsttoken
Använd ditt Client ID och Client Secret för att generera en åtkomsttoken som krävs för andra förfrågningar till vårt API. Detta görs genom att skicka en POST-förfrågan till följande token-endpoint:
https://account.nshiftportal.com/idp/connect/token
Ange Client ID, Client Secret och grant type i det språk och ramverk som används av ditt företag.
Exempel:
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
Om förfrågan är giltig och klienten är korrekt konfigurerad får du tillbaka ett JSON-svar:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Vidare läsning
Alla våra nya API:er stöder en OpenID-lösning för förbättrad säkerhet. För mer information, se standarddokumentationen för OpenId och IdentityServer: