General Guidelines
1. 🖥️ API Communication
- All API calls operate on HTTP Request/Response.
- Each request and response uses a specific JSON format.
2. 🧩 JSON Formatting
- All values inside JSON request and response objects are string values.
3. 📡 Request Identification
- Every request must include a Request ID (
jRequestID). - ODIN TPA system will echo back this Request ID in the response to uniquely map transactions.
4. 🧬 Authentication
- Every request must include a base64‑encoded system access key (shared manually).
- This key is used for authentication & security.
5. 🌐 API Calling Format
https://< domain name >/OTPA/V1/<apiname>- Method: POST
- Domain name: Server URL where OTPA is hosted.
6. 🧑💻 OTPA Exposed REST APIs
The ODIN TPA system exposes the following REST endpoints:
- Authenticate
- RegisterAPIRequest
- LoginToWebSocket
7. 📤 REST Request Parameters
- All requests (except Authentication) must send Authorization Token in the request header.
- Authorization Token = jToken received in Authentication Response.
Note:
- Authorization Token is blank only during Authentication Request.
- For all other APIs, the Authorization Token must be included.
8. 🔍 Webhook Delivery Handling
- If delivering online order or trade messages to the Webhook fails, the system retries n (configurable) times.
- If all retries fail:
- OTPA marks the third‑party system “disconnected.”
- No more online order/trade messages will be sent.
- Third‑party must re‑authenticate and re‑register to resume receiving messages.
9. 🚧 Price Multiplication Logic
- Prices may need to be multiplied using Decimal Locator provided in the Scrip Master.
- Examples:
- For NSECDS and BSECDS, price is multiplied by 10,000,000 (1 Crore)
- For MCXSX Currency, price is multiplied by 10,000 (10 thousand)