Om du använder ett API i Portal som kräver användning av tokens (Client IDs och Client Secrets) förklarar den här artikeln hur du genererar dem.
Observera att endast användare med rollerna "owner" och "admin" har åtkomst till sidan API Configuration. Det rekommenderas att skapa en specifik admin-användare för API-interaktion. Till exempel på Shipment Data API kan du anpassa shipment viewer-profilen så att den matchar exakt de data du vill returnera, utan att påverka andra användares konfiguration av användargränssnittet.
Om du inte är bekant med de användartyper och roller som används i nShift Ship rekommenderar vi att du läser den här artikeln: 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 i det övre högra hörnet.
- Välj API Configuration > Clients i den vänstra sidomenyn.
- På sidan Clients klickar du på knappen Add.
- I dialogrutan som öppnas fyller du i Display name och Description. Välj ett namn och en beskrivning som gör det lättare 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 är de API:er du behöver åtkomst till.
- Klicka på Save. Ditt Client Id och Client Secret kommer nu att genereras och visas på skärmen. Viktigt: Notera tokens eftersom Client Secret inte kommer att vara tillgängligt efter att du stänger popup-fönstret.
- Klicka på Save för att slutföra skapandet av token.
- Token visas nu på sidan Clients. Du kan klicka på en token när som helst 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 längst upp för att visa endast aktiverade eller inaktiverade tokens.
Översikt över scopes
Den här listan förklarar användningen av de olika scoperna. 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 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 för att prenumerationer ska kunna 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å den 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:et för att hämta försändelseinformation från Portal. Läs mer om Shipment Data API:et 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 ett åtkomsttoken
Använd ditt Client ID och Client Secret för att generera ett åtkomsttoken som behövs för andra anrop till vårt API. Detta görs genom att skicka en POST-begäran 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 begäran ä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 dokumentationen för OpenId- och IdentityServer-standarden: