Once you have Signed Up for an account, Accepted a Plan and registered your App to generate your own API keys, you are ready to start testing our APIs. Everything you need is detailed below, starting with Step 1. Sandbox - Vessel Schedule. Once you are satisfied with your own development and testing, migration to production can be found in Step 2. Production - Vessel Schedule. It's here that you will learn about our OAuth 2.0 authorisation which is needed to generate a bearer token for subsequent calls. Finally, feel free to read our Open API spec found below via our Vessel Schedule.yaml file.
Step 1. Sandbox - Vessel Schedule
To get you started, we've created a simple GET request API for you:
- https://api-sandbox.apmterminals.com/vessel-visits
To call this API, you will need to add a Vessel Name to the assetId query parameters, along with a Facility code, e.g. USLAX for Pier 400, Los Angeles. Additionally, there are optional parameters to add either an Inbound or Outbound Voyage Number. This API uses test data only. Go ahead and make calls using the any of the examples below noting that you can only search for one vessel at a time.
- Test Vessels= COSCO PIRAEUS, HYUNDAI COURAGE, HYUNDAI BRAVE, MAERSK EDIRNE, MAERSK NORTHAMPTON
- Test Facility = USLAX
Your GET request should look something like this:
- https://api-sandbox.apmterminals.com/vessel-visits?assetId=MAERSK NORTHAMPTON&facilityCode=USLAX
Step 2. Production - Vessel Schedule
To access our Production APIs we have a base security policy enforcing the OAuth2.0 Client Credentials Grant. This means that you must request an access token from us which is then used in subsequent calls to the APIs. The access token is added to the "Authorization" header with a "Bearer " prefix. So, the full Authorization header looks like - "Authorization: Bearer {access_token}". This access token expires after 30 minutes, so you will need to repeat this request to get a new token.
How to request an access token?
- Issue a POST request to https://api.apmterminals.com/oauth/client_credential/accesstoken?grant_type=client_credentials
- Please ensure your POST body is x-www-form-urlencoded and includes the two following key:value pairs created when you register your App
- client_id = your Consumer Key
- client_secret = your Consumer Secret
- In the response you will see a key called "access_token", this is what you will include in the Authorization header for the Import Availability API
How to access the Production Vessel Schedule API?
As with our Sandbox API you can issue a simple GET request, to the endpoint listed below, but this time you will need to add your access token.
- https://api.apmterminals.com/vessel-visits
- Headers: Authorization: Bearer Token {access_token}
The production API is connected directly to our terminal operating systems for real-time data. As such, when calling this API, you will need current vessel names, along with the appropriate facility code, e.g. USLAX for Pier 400, Los Angeles. Terminal codes shown between ():
- Aarhus, Denmark (DKAAR)
- Algeciras, Spain (ESALG)
- Apapa, Nigeria (NGAPP)
- Aqaba, Jordan (JOAQB)
- Bahrain (BHKBS)
- Barcelona, Spain (ESBCN)
- Buenos Aires, Argentina (ARBUE)
- Gothenburg, Sweden (SEGOT)
- Lázaro Cárdenas, Mexico (MXLZC)
- Los Angeles, USA (USLAX)
- Maasvlakte II, Rotterdam (NLMSV)
- Medport Tangier, Morocco (MATNG)
- Monrovia, Liberia (LRMLW)
- Mobile, USA (USMOB)
- Moin, Costa Rica (CRPMN)
- Mumbai, India (INNSA)
- Onne, Nigeria (NGONN)
- Pecém, Brazil (BRPEC)
- Pipavav, India (INPAV)
- Port Elizabeth, USA (USNWK)
- Puerto Quetzal, Guatemala (GTPRQ)
- South Florida Container Terminal, Miami, USA (USMIA)
- Suez Canal Container Terminals - SCCT, Egypt (EGSPD)
- Tangier, Morocco (MAPTM)
- Vado, Italy (ITVDL)
- Valencia, Spain (ESVLC)
- Yucatán, Mexico (MXPGO)
Attachment | Size |
---|---|
APMT Vessel Schedule_8.yaml (8.54 KB) | 8.54 KB |