/service/@id/tinopay/notification-appsCreate a notification app
Step 4. type cannot change after creation. bot_token: required for Zalo (your own bot); for Telegram, given means your own bot, empty means the shared bot @allpay_telebot (endpoint is a group ID starting with -); not sent for Lark (endpoint is the Lark bot webhook URL). virtual_accounts: VA numbers of that bank account, empty means every VA. Returns 201.
A TinoPay service route: call it with the service owner's sign-in token; the /v1 gateway (app tokens, personal tokens) does not expose TinoPay yet. See Getting started with TinoPay.
Authentication
Send the token in the header Authorization:
Authorization: Bearer <token>
Tokens that can call it: the TinoPay service owner's sign-in token (the tino.vn client area token).
Parameters
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | int | Required | TinoPay service ID |
Body (JSON)
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Required | telegram | zalo | lark (không đổi được sau khi tạo) |
name | string | Required | ≤ 250 |
endpoint | string | Required | — |
bot_token | string | — | — |
bank_account_id | string | Required | — |
virtual_accounts | array | — | — |
status | string | — | active | inactive |
Response
Sample built from the TinoPay API v1 documentation (Tino relays TinoPay data as is); values are examples.
Error codes
| Error code | Description |
|---|---|
404 · service_not_found, invalid method | The service does not belong to the signed-in account, or is not TinoPay. |
403 · service_not_active | The service is neither Active nor Suspended. |
403 · MERCHANT_SUSPENDED | The merchant is suspended: writes are blocked, GET still works. |
404 · RESOURCE_NOT_FOUND | The resource does not exist or does not belong to the merchant. |
422 · VALIDATION_FAILED | Invalid data; details lists the fields. |
502 · NETWORK_ERROR…, 504 | The connection between Tino and the partner is interrupted (504: HTML body, request took too long): a Tino-side error, not a token problem. Keep the token, retry later. |
Errors look like {"error": ["<CODE>"], "message", "details", "request_id"}; every code is in Getting started with TinoPay.