API'et understøtter to forskellige autentificeringer Basic Auth og Bearer Token
Bemærk: Bearer Token understøttes i øjeblikket ikke for SSOP
-
Basic Authentication
Du skal anmode om username og password gennem kundeservice
curl -X POST "{{URL}}/ShipServer/{{ID}}/{{PATH}}"
-H "Authorization: basic {{TOKEN}}"
-H "Content-Type: application/json"
--data-raw "{
\"data\": {},
\"options\": {}
}"
- {{TOKEN}} - dit username + ":" + password kodet med base64
-
Bearer Token
client_id og client_screct genereres ved at følge disse trin
1. Opret client_id & client_secret
- Log ind på www.nshiftportal.com med din Owner-bruger
- Klik på ikonet Settings øverst til højre
- I menuen til højre vælges Clients under API Configuration, og der klikkes på knappen Add
- Giv den nye post et Display Name og en Description
- Sørg for, at afkrydsningsfeltet Enable checkbox er checked
- Sæt Allowed Scope til Shipment Server (public_api_shipmentserver)
- Save client_id og client_secret lokalt. Når du lukker dialogboksen, kan client_secret ikke gendannes
Se Creating a Client ID and Client Secret for Ship API v2 for mere detaljerede instruktioner med billeder
2. Anmod om et access_token ved hjælp af client_id og client_secret
Tokenet er gyldigt i 60 minutter, før det udløber, og du skal autentificere igen
curl -X POST "https://account.nshiftportal.com/idp/connect/token"
--header "Content-Type: application/x-www-form-urlencoded"
--data-urlencode "grant_type=client_credentials"
--data-urlencode "client_id={{CLIENT_ID}}"
--data-urlencode "client_secret={{CLIENT_SECRET}}"
- Du skal ikke autentificere igen for hver anmodning; du should gemme det og reuse det fra en cache
Svar
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjI3QjA1ODk4Nzc1OEUwMkMI1NiIsInR2...",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "public_api_shipmentserver"
}
3. Brug af access token i en forespørgsel:
access_token skal tilføjes til headeren på alle forespørgsler.
curl -X POST "{{URL}}/ShipServer/{{ID}}/{{PATH}}"
-H "Authorization: bearer {{TOKEN}}"
-H "Content-Type: application/json"
--data-raw "{
\"data\": {},
\"options\": {}
}"
- {{TOKEN}} - det access_token, der blev modtaget i trin 2