exchange-rate-history
過去為替レート照会
指定した通貨の特定期間における過去の為替レートデータ照会を提供します。月別またはカスタム日付範囲での検索に対応しています。
利用料金
2 コイン/回
クイックスタート
統一レスポンス形式のまま、バックエンドから直接呼び出せます。
https://openapi.toolkk.com/v1/exchange-rate-historycURL 例
curl --request POST \
--url 'https://openapi.toolkk.com/v1/exchange-rate-history' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "code": "货币编号,货币编号或货币名称必须输入其中一个",\n "name": "货币名称,货币编号或货币名称必须输入其中一个",\n "month": "查询年月(yyyyMM),month和startDate、endDate不能同时为空",\n "startDate": "查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空",\n "endDate": "查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空"\n}'Python 例
import os
import requests
url = "https://openapi.toolkk.com/v1/exchange-rate-history"
payload = {
"code": "货币编号,货币编号或货币名称必须输入其中一个",
"name": "货币名称,货币编号或货币名称必须输入其中一个",
"month": "查询年月(yyyyMM),month和startDate、endDate不能同时为空",
"startDate": "查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空",
"endDate": "查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空"
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.request("POST", url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())Go 例
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/exchange-rate-history"
payload := []byte("{\n \"code\": \"货币编号,货币编号或货币名称必须输入其中一个\",\n \"name\": \"货币名称,货币编号或货币名称必须输入其中一个\",\n \"month\": \"查询年月(yyyyMM),month和startDate、endDate不能同时为空\",\n \"startDate\": \"查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空\",\n \"endDate\": \"查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空\"\n}")
req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java 例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"code\": \"货币编号,货币编号或货币名称必须输入其中一个\",\n \"name\": \"货币名称,货币编号或货币名称必须输入其中一个\",\n \"month\": \"查询年月(yyyyMM),month和startDate、endDate不能同时为空\",\n \"startDate\": \"查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空\",\n \"endDate\": \"查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/exchange-rate-history"))
.method("POST", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP 例
<?php
$endpoint = 'https://openapi.toolkk.com/v1/exchange-rate-history';
$payload = "{\n \"code\": \"货币编号,货币编号或货币名称必须输入其中一个\",\n \"name\": \"货币名称,货币编号或货币名称必须输入其中一个\",\n \"month\": \"查询年月(yyyyMM),month和startDate、endDate不能同时为空\",\n \"startDate\": \"查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空\",\n \"endDate\": \"查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空\"\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;レスポンス例
{
"msg": "成功",
"code": 200,
"taskNo": "687882815162227863699691",
"data": {
"currencyCode": "USD",
"currencyName": "美元",
"startDate": "20191001",
"endDate": "20191101",
"month": "201910",
"list": [
{
"middle_rate": "705.33",
"selling_rate": "705.55",
"cash_buying_rate": "696.86",
"buying_rate": "702.58",
"cash_selling_rate": "705.55",
"publish_time": "2019-10-31"
},
{
"middle_rate": "705.82",
"selling_rate": "707.26",
"cash_buying_rate": "698.54",
"buying_rate": "704.27",
"cash_selling_rate": "707.26",
"publish_time": "2019-10-30"
}
]
}
}例はレスポンスの構造を示しています。実際の結果はAPIの応答によって異なります。
- 認証方式
- リクエストヘッダーに X-API-Key を設定
- レート制限
- 毎分 600 回
- タイムアウト
- 10000 ms
サーバー側から呼び出す際は、X-API-Key ヘッダーに API Key を設定します。
HTTP ステータスと業務フィールドの両方で成功判定するのがおすすめです。
高頻度利用ではレート制限と再試行戦略を併用してください。
リクエスト項目
サーバーからリクエストを送信し、X-API-Keyヘッダーにキーを設定してください。
リクエスト項目
APIスキーマに基づく項目です。説明や例がない場合は未指定と表示します。
| パス | 型 | 必須 | 説明 | サンプル値 |
|---|---|---|---|---|
| code | string | いいえ | 货币编号,货币编号或货币名称必须输入其中一个 | 未指定 |
| name | string | いいえ | 货币名称,货币编号或货币名称必须输入其中一个 | 未指定 |
| month | string | いいえ | 查询年月(yyyyMM),month和startDate、endDate不能同时为空 | 未指定 |
| startDate | string | いいえ | 查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空 | 未指定 |
| endDate | string | いいえ | 查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空 | 未指定 |
リクエスト例
{
"code": "货币编号,货币编号或货币名称必须输入其中一个",
"name": "货币名称,货币编号或货币名称必须输入其中一个",
"month": "查询年月(yyyyMM),month和startDate、endDate不能同时为空",
"startDate": "查询起始时间yyyyMMdd,month和startDate、endDate不能同时为空",
"endDate": "查询结束时间yyyyMMdd,month和startDate、endDate不能同时为空"
}- 認証方式
- リクエストヘッダーに X-API-Key を設定
- レート制限
- 毎分 600 回
- タイムアウト
- 10000 ms
レスポンス項目
例はレスポンスの構造を示しています。実際の結果はAPIの応答によって異なります。
レスポンス項目
APIスキーマに基づく項目です。説明や例がない場合は未指定と表示します。
| パス | 型 | 必須 | 説明 | サンプル値 |
|---|---|---|---|---|
| msg | string | いいえ | code对应的描述 | 成功 |
| code | number | いいえ | 返回码,详见code返回码说明 | 200 |
| taskNo | string | いいえ | 本次唯一请求号 | 687882815162227863699691 |
| data | object | いいえ | 未指定 | 未指定 |
| data.currencyCode | string | いいえ | 货币编号 | USD |
| data.currencyName | string | いいえ | 货币名称 | 美元 |
| data.startDate | string | いいえ | 开始日期 | 20191001 |
| data.endDate | string | いいえ | 结束日期 | 20191101 |
| data.month | string | いいえ | 结束日期 | 201910 |
| data.list | array | いいえ | 未指定 | [{"middle_rate":"705.33","selling_rate":"705.55","cash_buying_rate":"696.86","buying_rate":"702.58","cash_selling_rate":"705.55","publish_time":"2019-10-31"},{"middle_rate":"705.82","selling_rate":"707.26","cash_buying_rate":"698.54","buying_rate":"704.27","cash_selling_rate":"707.26","publish_time":"2019-10-30"}] |
| data.list[] | object | 未指定 | 未指定 | 未指定 |
レスポンス例
{
"msg": "成功",
"code": 200,
"taskNo": "687882815162227863699691",
"data": {
"currencyCode": "USD",
"currencyName": "美元",
"startDate": "20191001",
"endDate": "20191101",
"month": "201910",
"list": [
{
"middle_rate": "705.33",
"selling_rate": "705.55",
"cash_buying_rate": "696.86",
"buying_rate": "702.58",
"cash_selling_rate": "705.55",
"publish_time": "2019-10-31"
},
{
"middle_rate": "705.82",
"selling_rate": "707.26",
"cash_buying_rate": "698.54",
"buying_rate": "704.27",
"cash_selling_rate": "707.26",
"publish_time": "2019-10-30"
}
]
}
}導入ドキュメント
機能、利用シーン、注意事項。
APIの概要
過去為替レート照会APIは、特定通貨の過去一定期間における為替レートの変動状況を取得できるAPIです。通貨コードまたは通貨名、および対象の月またはカスタムの開始・終了日付を指定することで、その期間内の日次為替レート詳細データ(電信買/売相場、現金買/売相場、中国銀行換算レートなど)を返します。
利用シーン
- 財務決済と監査:企業がクロスボーダー取引の決済や財務監査を行う際、過去の特定日の為替レートを照合するのに役立ちます。
- データ分析とトレンド予測:金融アナリストや研究者が過去の為替データを利用して、市場トレンドの分析やモデル構築を行います。
- 越境ECプラットフォーム:ユーザーに過去の注文の為替レート参考情報を提供したり、内部の原価計算に使用したりします。
- 旅行・両替サービス:過去の為替レートの推移を表示し、ユーザーの両替戦略の策定をサポートします。
リクエストとレスポンスの説明
リクエストパラメータのポイント:
- 照会する通貨の指定が必要です。
code(通貨コード、例:USD)またはname(通貨名、例:米ドル)のいずれかを必ず指定してください。 - 照会する期間の指定が必要です。
month(年月、フォーマット:yyyyMM)で指定するか、startDateとendDate(年月日、フォーマット:yyyyMMdd)を組み合わせて指定します。注意:月別照会と日付範囲照会を両方とも空にすることはできません。