OpenAPI Specification
openapi: 3.0.0
info:
title: TRADING Account Order History API
version: 1.0.0
description: API reference for Account management — Coins.ph
servers:
- url: https://api.pro.coins.ph
description: Production
- url: https://api.9001.pl-qa.coinsxyz.me
description: Sandbox
tags:
- name: Order History
description: Order history and details
paths:
/openapi/fiat/v1/details:
get:
tags:
- Order History
summary: Get Order Details
description: Retrieves information about a specific fiat currency order.
operationId: getOrderDetails
parameters:
- name: internalOrderId
in: query
required: true
schema:
type: string
description: ID of the order for which the user wishes to retrieve details.
- name: recvWindow
in: query
required: false
schema:
type: integer
format: int64
description: Validity duration of the request in milliseconds after the timestamp.
responses:
'200':
description: Successful response
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/FiatBaseResponse'
- type: object
properties:
data:
$ref: '#/components/schemas/OrderDetailsResponse'
/openapi/fiat/v2/history:
post:
tags:
- Order History
summary: Fiat Order History V2 (USER_DATA)
description: 'This endpoint is used to query all fiat related history.
**Weight:** 1
Parameters are passed as a JSON body.'
operationId: getFiatOrderHistoryV2
parameters:
- name: timestamp
in: query
required: true
schema:
type: integer
format: int64
description: Unix timestamp in milliseconds.
- name: signature
in: query
required: true
schema:
type: string
description: HMAC-SHA256 signature.
requestBody:
content:
application/json:
schema:
type: object
properties:
pageNum:
type: string
description: Page number default 1.
example: '1'
pageSize:
type: string
description: Page size, default 10.
example: '10'
externalOrderId:
type: string
description: Coins internal ID.
internalOrderId:
type: string
description: The unique order id generated by the server.
transactionType:
type: string
description: 'Order Transaction Type 1: cash-in, -1: cash-out.'
example: '1'
transactionChannel:
type: string
description: Transaction channel, the optional values are INSTAPAY, SWIFTPAY_PESONET.
example: INSTAPAY
transactionSubject:
type: string
description: Secondary channels, such as Gcash supported under instapay.
status:
type: string
enum:
- PENDING
- SUCCEEDED
- FAILED
- CANCEL
description: 'Indicates the current state of the order.
- PENDING: The order is still being processed and is not in a final state.
- SUCCEEDED: The order has been successfully processed.
- FAILED: The order processing has failed.
- CANCEL: The order has been canceled by the user and is considered equivalent to a failure.
Only orders in a final state (SUCCEEDED, FAILED, or CANCEL) are considered complete and reliable for further actions. Avoid relying on orders in a non-final state (PENDING) as their status may change.'
fiatCurrency:
type: string
description: Fiat currency.
example: PHP
startDate:
type: string
description: The order's create time will be between startDate and endDate. Accepts ISO 8601 format (UTC) (e.g., "2016-10-20T13:00:00.000000Z") or a time delta (e.g., "1w 3d 2h 32m 5s").
example: '2023-07-01T00:00:00.000000Z'
endDate:
type: string
description: The order's create time will be between startDate and endDate. Accepts ISO 8601 format (UTC) (e.g., "2016-10-20T13:00:00.000000Z") or a time delta (e.g., "1w 3d 2h 32m 5s").
example: '2023-08-01T00:00:00.000000Z'
startTime:
type: integer
format: int64
description: The order's create time will be between startTime and endTime. Works when both startDate and endDate are empty. The server time zone is UTC+0.
endTime:
type: integer
format: int64
description: The order's create time will be between startTime and endTime. Works when both startDate and endDate are empty. The server time zone is UTC+0.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 0
error:
type: string
example: OK
data:
type: array
items:
type: object
properties:
externalOrderId:
type: string
description: Coins internal ID, query not supported yet; ignore it.
internalOrderId:
type: string
description: The unique order id generated by the server.
paymentOrderId:
type: string
description: The payment order id generated by the channel.
fiatCurrency:
type: string
description: PHP as it is the only currency currently supported.
fiatAmount:
type: string
description: The order amount.
transactionType:
type: string
description: 1 mean cash in, -1 mean cash out.
transactionChannel:
type: string
description: The first-level channel to order it belongs.
transactionSubject:
type: string
description: The channel code of order.
transactionSubjectType:
type: string
description: Channel type.
transactionChannelName:
type: string
description: First level channel Name.
transactionSubjectName:
type: string
description: Channel Name.
feeCurrency:
type: string
description: PHP as it is the only currency currently supported.
channelFee:
type: string
description: The fee of order always 0. Deprecated, see platformFee.
platformFee:
type: string
description: The fee of order.
status:
type: string
enum:
- PENDING
- SUCCEEDED
- FAILED
- CANCEL
description: 'Indicates the current state of the order.
- PENDING: The order is still being processed and is not in a final state.
- SUCCEEDED: The order has been successfully processed.
- FAILED: The order processing has failed.
- CANCEL: The order has been canceled by the user and is considered equivalent to a failure.
Only orders in a final state (SUCCEEDED, FAILED, or CANCEL) are considered complete and reliable for further actions. Avoid relying on orders in a non-final state (PENDING) as their status may change.'
errorCode:
type: string
description: Order fail with errorCode.
errorMessage:
type: string
description: Order fail with error message.
completedTime:
type: string
description: The time of order completed.
source:
type: string
description: Order create client Type, such as WEB, ANDROID, IOS, open-api.
createdAt:
type: string
description: The time of order created.
orderExtendedMap:
type: object
description: The order extend data.
dealCancel:
type: boolean
description: If order can be canceled, value will be true.
total:
type: integer
description: Total number of records.
example: 2
example:
status: 0
error: OK
data:
- externalOrderId: '1476829580936625682'
internalOrderId: '1476829580936625681'
paymentOrderId: 000008
fiatCurrency: PHP
fiatAmount: '11111'
transactionType: 1
transactionChannel: INSTAPAY
transactionSubject: allbank
transactionChannelName: instapay
transactionSubjectName: AllBank (A Thrift Bank), Inc.
transactionSubjectType: bank
feeCurrency: PHP
channelFee: '0'
platformFee: '0'
status: SUCCEEDED
errorCode: SUCCEEDED
errorMessage: ''
completedTime: '2023-07-31T07:16:47.000+00:00'
source: WEBHOOK
createdAt: '2023-07-31T07:16:46.000+00:00'
orderExtendedMap:
channelReferenceNo: 000008
senderAccountNumber: '8613989193526'
dealCancel: false
- externalOrderId: '1476829580936625686'
internalOrderId: '1474038775754799133'
paymentOrderId: '2023072799'
fiatCurrency: PHP
fiatAmount: '100'
transactionType: 1
transactionChannel: SWIFTPAY_PESONET
transactionSubject: aub
transactionChannelName: swiftpay_pesonet
transactionSubjectName: Asia United Bank
transactionSubjectType: e-wallet
feeCurrency: PHP
channelFee: '0'
platformFee: '10'
status: SUCCEEDED
errorCode: SUCCEEDED
errorMessage: ''
completedTime: '2023-07-27T10:52:41.000+00:00'
source: WEBHOOK
createdAt: '2023-07-27T10:52:40.000+00:00'
orderExtendedMap:
channelReferenceNo: 000008
senderAccountNumber: '8613989193526'
dealCancel: false
total: 2
'400':
description: Bad request - invalid parameters
'401':
description: Unauthorized - invalid or missing API key
'500':
description: Internal server error
components:
schemas:
FiatBaseResponse:
type: object
properties:
status:
type: integer
description: 0 = success, non-zero = error code
example: 0
error:
type: string
example: OK
params:
type: object
nullable: true
OrderExtendedMap:
type: object
additionalProperties: true
description: Extended order data, key-value pairs providing additional transaction details.
properties:
channelReferenceNo:
type: string
nullable: true
description: Channel reference number.
example: 000008
senderAccountNumber:
type: string
nullable: true
description: Sender's account number.
example: '8613989193526'
recipientName:
type: string
nullable: true
description: Recipient's name.
example: sandyopenapitest
recipientAccountNumber:
type: string
nullable: true
description: Recipient's account number.
example: '123456789'
recipientAddress:
type: string
nullable: true
description: Recipient's address.
example: 123 Main St, Mandaluyong
remarks:
type: string
nullable: true
description: Remarks or notes for the transaction.
example: Payment for services
OrderDetailsResponse:
type: object
properties:
externalOrderId:
type: string
internalOrderId:
type: string
paymentOrderId:
type: string
fiatCurrency:
type: string
fiatAmount:
type: string
transactionType:
type: integer
description: 1 = cash in, -1 = cash out
transactionChannel:
type: string
transactionSubject:
type: string
transactionSubjectType:
type: string
transactionChannelName:
type: string
transactionSubjectName:
type: string
feeCurrency:
type: string
channelFee:
type: string
deprecated: true
description: Deprecated, see platformFee.
platformFee:
type: string
status:
type: string
enum:
- PENDING
- SUCCEEDED
- FAILED
- CANCEL
errorCode:
type: string
errorMessage:
type: string
completedTime:
type: string
source:
type: string
description: 'Order creation source: WEB, ANDROID, IOS, open-api'
createdAt:
type: string
orderExtendedMap:
$ref: '#/components/schemas/OrderExtendedMap'
dealCancel:
type: boolean
description: If the order can be canceled.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-COINS-APIKEY
x-readme:
proxy-enabled: false