---
# System prepended metadata

title: Topazio OTC

---

# 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?


 



