Posta Moldovei Terminals API base on pt.md library (https://pt.md)
- NodeJS >= v8.x.x
npm install pt.md-api
cp .env.sample .env
We advice to
.env
and changeJWT_SECRET
due to security reasons
npm run start
Production involves pm2 tool usage, thus once started you should run
npm run stop
to stop the server
npm run start:dev
curl -XPOST http://localhost:3001/rpc -H 'Content-Type: application/json' -H 'Authorization: Bearer your-jwt-token' -d '{"jsonrpc":"2.0","method":"ping","params":[],"id":0}'
You should see: {"jsonrpc":"2.0","id":0,"result":"pong"}
POSTMAN Collection: api.postman_collection.json
REST Api:
[POST] path=/token | body={"username":"","password":""}
Obtain jWT token for further calls
RPC Methods (/rpc
):
method=ping | params=[]
Is a RPC healthcheck methodmethod=list | params=[from, to, page, size]
Retrieve list of items delivered or to be delivered- *from[date] - list from date, default
now - 7 days
- *to[date] - list to date, default
now
- *page[int] - list from page starting w/ 1, default
1
- *size[int] - items per page, default
100
- *from[date] - list from date, default
method=pay | params=[id]
Pay for an order- !id[int] - Id of the order (
orderID
)
- !id[int] - Id of the order (
Pay method $.result
is an HTML string that might be open in browser or webview to start the payment flow.
All RPC method should be authorized using JWT token obtained from /token
endpoint.
All date types are passed as strings to
new Date()
constructor (@ref https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date).
- Add JWT tokens expiration and invalidation logic