# Exchange Status Updated

## Overview

When this event occurs, the provided callback URL will receive a JSON-formatted message with the above details. If the application successfully receives the webhook, it should respond with a 200 HTTP status code; otherwise, the banking platform will retry sending the message for a certain period.

For developers, it's important to manage these callbacks properly, including validating the received messages using the provided secret, to ensure proper synchronization between the banking platform and the application.

Possible exchange status values:

* `WaitingForApproval`
* `Rejected`
* `WaitingForConfirmation`
* `AwaitingRfi`
* `Pending`
* `Completed`
* `Failed`

## Callback Request Parameters

* `Id` is the unique identifier for the exchange transaction.
* `ExchangeType` represents whether the exchange is a buy or sell transaction. (Buy, Sell)
* `Status` indicates the current status of the exchange (e.g., Pending, Completed, Failed).
* `FromTransactionsId` and `ToTransactionsId` are identifiers for the respective transactions involved in the exchange.
* `ManageesId` is the identifier for the individual or entity on whose behalf the exchange is being conducted.
* `AssetPair` is a string represents the currency pair being exchanged.
* `RequestAmount` and `RequestPrice` refer to the amount and price requested for the exchange.
* `ExecutedAmount` and `ExecutedPrice` are the actual executed amount and price after the exchange is completed.
* `CommissionFee` is any applicable fee for conducting the exchange.
* `PayeesId` represents the payee's Id.
* `TransferType` - Transfer type if payees Id is not null
* `bHasOpenRfi` is a flag indicating if request for information is pending to be submitted
* `FromCustomerAssetAccountId` and `ToCustomerAssetAccountId` are account identifiers involved in the exchange.

### Callback Example

<pre class="language-json"><code class="lang-json">{ 
    "Id": "f9b5e465-69b5-4c6d-91c2-fb4dd64d4d20", 
    "Type": "EXCHANGE_STATUS_UPDATED",
<strong>    "Data": {
</strong>        "Id": 11669,
        "ExchangeType": 0,
        "Status": "Completed", 
        "FromTransactionsId": 13471, 
        "ToTransactionsId": 13473, 
        "ManageesId": 1436,
        "AssetPair": "USDC/USD", 
        "RequestAmount": 24.75, 
        "RequestPrice": 25, 
        "ExecutedAmount": 24.75, 
        "ExecutedPrice": null, 
        "CommissionFee": 0.12,
        "PayeesId": null,
        "TransferType": null, 
        "bHasOpenRfi": true, 
        "FromCustomerAssetAccountId": 1184,
<strong>    }
</strong>}
</code></pre>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://customer-api-docs.ibanera.com/callbacks/exchange-status-updated.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
