# Topazio OTC
[toc]
## Quote
A cotação é feita através do endpoint POST /api/v1/trade
````
BODY:
{
"partnerID": 1234,
"clienteIdChange":"string"
"operation" : "INBOUND",
"currency" : "USD",
"extenalValue" : 100,
"internalSettlementDate" : "2022-09-13",
"externalSettlementDate" : 2022-09-13",
"partnerOrderId" : "string"
}
````
````
Resposta:
{
"resultSet":
{
"id": "xxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxx",
"status": 0
"operation": "INBOUND",
"internalSettlementDate": "2022-09-13T17:55:21.581Z",
"externalSettlementDate": "2022-09-13T17:55:21.581Z",
"lastAuthorized": 0
"createdDate": "2022-09-13T17:55:21.581Z",
"expiredDate": "2022-09-13T17:55:21.581Z",
"timeExpired": 300,
"quotationId": "6320c78b1d3dfc1818938feb ",
"fxRate": 0,
"internalValue": 0,
"externalValue": 0,
"partnerId": 0,
"callbackUrl": "http://url_post_callback_partner/"
}
}
````
:::info
- Possível cadastrar callback para um endpoint de nossa escolha durante o request, esse callback será enviado com as cotações
:::
## Trade
Utilizando o ``quotationId`` vindo da resposta do endpoint acima podemos efetuar o trade no seguinte endpoint PUT /api/v1/trade/:id?
````
Resposta:
{
"resultSet": "Trade Accepted with success."
}
````
## Callback
Notificação do callback das cotações
````
Resposta:
{
"currency": "USD",
"trade_id": "d5c8366c-ddd9-495f-b50f-3dfdc9bae680",
"quotation_id": "632083d90db7156d8fd72203",
"external_value": 100,
"internal_value": 516.8228,
"fx_rate": 5.1682
}
````
**Possível Fluxo no Caas**
Usando os endpoint atuais da api do caas
{%figma https://www.figma.com/file/LEoOVrLUj2HpBmgZY5ug7Q/Untitled?node-id=0%3A1&t=HuAzrPvjDcQR8vg3-1 %}
## Extrato
A requisição do extrato é feita através do endpoint GET /bankstatement/ onde é gerado a informação das movimentações da conta bancária
Parâmetros obrigatórios:
* bankAccount
* bankBranch
* startDate (format YYYY-MM-DD)
* endDate (format YYYY-MM-DD)
com os possíveis queryParamter:
* page
* pageSize
````
Resposta:
{
"lastUpdate": "string",
"data": [
{
"bankStatementId": "string",
"transactionId": 0,
"date": "string",
"description": "string",
"historyCode": 0,
"partnerTransactionId": "string",
"shippingType": "string",
"type": "CREDITO",
"value": 0,
"sender": {
"name": "string",
"document": "string",
"ISPBCode": "string",
"accountType": "string",
"bank": {
"account": "string",
"branch": "string",
"code": "string",
"name": "string"
}
},
"recipient": {
"name": "string",
"document": "string",
"ISPBCode": "string",
"accountType": "string",
"bank": {
"account": "string",
"branch": "string",
"code": "string",
"name": "string"
}
}
}
]
}
````
## Duvidas
- Na documentação está dizendo que o método POST /api/v1/trade é para inicar o callback, as cotações serão recebidas apenas por callback? ou a cada request nesse endpoint?
- No endpoint POST /api/v1/trade ``extenalValue`` é o valor em Reais ou o valor da ``currency`` que será convertido em Reais?
- So tem a possibilidade de fazer cotação e trade para Reais ou posso fazer entre USD E Euro?