precious-metal-inter-contract
International Precious Metals Futures Contracts
International Precious Metals Futures Contracts
Usage Cost
1 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/precious-metal-inter-contractcURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/precious-metal-inter-contract' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "symbol": "国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货"\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/precious-metal-inter-contract"
payload = {
"symbol": "国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货"
}
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 Example
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/precious-metal-inter-contract"
payload := []byte("{\n \"symbol\": \"国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货\"\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 Example
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 \"symbol\": \"国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/precious-metal-inter-contract"))
.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 Example
<?php
$endpoint = 'https://openapi.toolkk.com/v1/precious-metal-inter-contract';
$payload = "{\n \"symbol\": \"国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货\"\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;Response Example
{
"code": 200,
"msg": "成功",
"taskNo": "251234402215985750524304",
"data": {
"list": [
"SI",
"SI2411",
"SI2412",
"SI2501",
"SI2503",
"SI2505",
"SI2507",
"SI2509",
"SI2512"
]
}
}Examples illustrate the response structure. Actual results depend on the API response.
- Authentication
- Send X-API-Key in request headers
- Rate limit
- 60 req/min
- Timeout
- 5000 ms
Send your API Key in the X-API-Key header from your backend.
Check both HTTP status and business fields before treating a call as successful.
Use retries and backoff together with rate limits in high-frequency scenarios.
Request Fields
Send requests from your server with the key in the X-API-Key header.
Request Fields
Fields are read from the API schema. Missing descriptions and examples are marked as unspecified.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| symbol | string | Yes | 国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货 | Unspecified |
Request Example
{
"symbol": "国际贵金属品种,详见国际贵金属现货,详见国际贵金属期货"
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 60 req/min
- Timeout
- 5000 ms
Response Fields
Examples illustrate the response structure. Actual results depend on the API response.
Response Fields
Fields are read from the API schema. Missing descriptions and examples are marked as unspecified.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| code | number | No | 返回码对应描述 | 200 |
| msg | string | No | 返回码,详见返回码说明 | 成功 |
| taskNo | string | No | 本次请求号 | 251234402215985750524304 |
| data | object | No | Unspecified | Unspecified |
| data.list | array | No | Unspecified | ["SI","SI2411","SI2412","SI2501","SI2503","SI2505","SI2507","SI2509","SI2512"] |
| data.list[] | string | Unspecified | Unspecified | SI |
Response Example
{
"code": 200,
"msg": "成功",
"taskNo": "251234402215985750524304",
"data": {
"list": [
"SI",
"SI2411",
"SI2412",
"SI2501",
"SI2503",
"SI2505",
"SI2507",
"SI2509",
"SI2512"
]
}
}API overview
Capabilities, use cases, limitations, and frequently asked questions.
API Introduction
This API is used to query the futures contract code list for international precious metals (e.g., Silver SI). Developers can pass a specified precious metal variety identifier (symbol) to obtain an array of all tradable futures contract codes for that variety, assisting in building trading instrument selectors or market data subscription foundations.
Use Cases
- Financial Terminal Development: Dynamically load corresponding futures contract options when users choose to view market data for a certain precious metal category.
- Quantitative Trading Systems: Obtain full contract codes during the initialization phase for subsequent historical data retrieval or real-time market data subscriptions.
- Investment Education Platforms: Display the structure of precious metal futures contracts expiring in different months, helping users understand rollover rules.
Request and Response Details
- Request Method: POST
- Core Parameters:
symbol(Required), string type, representing the international precious metal variety code (e.g., "SI" for Silver). Ensure the passed code complies with international common standards or upstream supported enumeration values.