Skip to content
This repository has been archived by the owner on Oct 9, 2020. It is now read-only.
/ pt.md-api Public archive

Posta Moldovei Terminals API base on pt.md library

License

Notifications You must be signed in to change notification settings

AlexanderC/pt.md-api

Repository files navigation

pt.md-api

Posta Moldovei Terminals API base on pt.md library (https://pt.md)

Prerequisites

  • NodeJS >= v8.x.x

Installation

npm install pt.md-api

Usage

Configuration

cp .env.sample .env

We advice to .env and change JWT_SECRET due to security reasons

Production

npm run start

Production involves pm2 tool usage, thus once started you should run npm run stop to stop the server

Development

npm run start:dev

Example Usage

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"}

API

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 method
  • method=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
  • method=pay | params=[id] Pay for an order
    • !id[int] - Id of the order (orderID)

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).

TODO

  • Add JWT tokens expiration and invalidation logic

About

Posta Moldovei Terminals API base on pt.md library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published