- Resource Central
- API Reference
API Reference
The ItemPath API is based around REST (https://en.wikipedia.org/wiki/Representational_state_transfer).
In REST, there are up to 5 endpoints for every resource.
For example, here are the endpoints for materials:
- GET /api/materials, a list of materials with optional get parameters
- POST /api/materials, used to create a new material
- GET /api/materials/:id, for accessing a singular material by id
- POST /api/materials/:id, for updating a singular material by id
- DELETE /api/materials/:id, for removing a material
These endpoints are standard across all REST API's.
What Power Pick components are required for the ItemPath API?
- ItemPath requires 1 Power Pick CEU Web Services Interface module which enables 1 login for the API to access the program.
- In some more involved cases, additional Web Services licenses may be required.
- Other Power Pick modules selected should reflect what the customer needs Power Pick to do (e.g. Order Processing)
This API provides a bridge and a REST interface for the Power Pick databases and hardware. This information is collected from the Power Pick database, formatted, and exposed via a TCP IP connection.
What else is required?
Hosted:
- A connection string to the PPG database, and an open (secure) port)
- See Requirements (Hosted) for more details
On-Premise:
- A server (preferably Linux) to host the application. We recommend a secure connection for us to monitor the system.
- For more details, see
- System Requirements (On-Premise)
- Installation (On-Premise)
Authentication
The API uses JWT tokens to authenticate users and API access. Before being able to access endpoints in the API, you'll need to have a username and password. The default user and password is available during the install process. Otherwise, you'll need to gain a username from a current authenticated user, either through the API, or the interface.
Logging in via the API
You can login using your credentials via /api/users/login. You will need to pass your username and password via the POST body:
POST /api/users/login
{ "username": "Sample API", "password": "testing" }
Once you've logged in, you'll receive 2 JWT tokens in the response (an access token and a refresh token). The access token will need to be passed in the header of every API request, looking like this:
Authorization: Bearer {JWT Access token}
If the username/password has been tagged as a software connection, you'll be able to upgrade your JWT access token to be non-expiring by using this endpoint. Be aware that you will need to pass in the refresh token for this endpoint instead:
GET /api/users/application-token