# อัตราแลกเปลี่ยน

> endpoint สาธารณะสำหรับดึงอัตราแลกเปลี่ยนปัจจุบันระหว่างสกุลเงิน fiat และคริปโตเคอร์เรนซี

endpoint อัตราแลกเปลี่ยนคืนเมทริกซ์ของอัตราแลกเปลี่ยนปัจจุบันระหว่างสกุลเงินที่รองรับทั้งหมด — ทั้ง fiat (USD, EUR, RUB ฯลฯ) และ crypto (BTC, ETH, USDT ฯลฯ)

> **INFO:** นี่คือ **endpoint สาธารณะ** ไม่ต้องมีการยืนยันตัวตน และไม่ต้องใช้ header `project` หรือ `sign`

## ดึงอัตราแลกเปลี่ยน

`GET /v1/exchange-rates`

### ตัวอย่างการตอบกลับ

```json
{
  "state": 0,
  "result": {
    "USD": {
      "USD": "1.00000000",
      "EUR": "0.86090000",
      "RUB": "78.32190000",
      "BTC": "0.00001055",
      "USDT": "1.00000000"
    },
    "BTC": {
      "USD": "94786.69000000",
      "EUR": "81589.12000000",
      "ETH": "29.02345678",
      "USDT": "94786.69000000"
    }
  }
}
```

### วิธีอ่านผลลัพธ์

การตอบกลับเป็นออบเจกต์ซ้อนกัน: `result[FROM][TO]` คืออัตราแลกเปลี่ยนสำหรับ `FROM` 1 หน่วยไปยัง `TO`

- `result["USD"]["RUB"] = 78.32` หมายถึง 1 USD = 78.32 RUB
- `result["BTC"]["USD"] = 94786.69` หมายถึง 1 BTC = $94,786.69

## ตัวอย่าง PHP

```php
<?php
$ch = curl_init('https://api.2328.io/api/v1/exchange-rates');
curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true ]);

$response = json_decode(curl_exec($ch), true);

if ($response['state'] === 0) {
    $rates = $response['result'];
    $rubAmount = bcmul(100, $rates['USD']['RUB'], 2);
    echo "100 USD = {$rubAmount} RUB\n";
}
```

## ตัวอย่าง cURL

```bash
curl https://api.2328.io/api/v1/exchange-rates
```

> **WARNING:** อัตราถูกอัปเดตบ่อยแต่ไม่รับประกันสำหรับการเทรด ควรดึงอัตราใหม่ทุกครั้งก่อนสร้างการชำระเงินหรือการถอนเพื่อลด slippage