呼叫價格
1 匠幣/次
快速接入
保持統一返回結構,直接透過服務端發起請求即可接入。
POST
https://openapi.toolkk.com/v1/cookbook-listcURL 示例
curl --request POST \
--url 'https://openapi.toolkk.com/v1/cookbook-list' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "type": "菜谱的分类(查询时请使用分类中的一级或二级分类)",\n "pageNo": "请求页数 默认第1页",\n "pageSize": "每页返回的最大结果集,默认20",\n "id": "菜谱标识 菜谱列表中id,可以用id查询详细",\n "name": "菜品名称"\n}'Python 示例
import os
import requests
url = "https://openapi.toolkk.com/v1/cookbook-list"
payload = {
"type": "菜谱的分类(查询时请使用分类中的一级或二级分类)",
"pageNo": "请求页数 默认第1页",
"pageSize": "每页返回的最大结果集,默认20",
"id": "菜谱标识 菜谱列表中id,可以用id查询详细",
"name": "菜品名称"
}
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/cookbook-list"
payload := []byte("{\n \"type\": \"菜谱的分类(查询时请使用分类中的一级或二级分类)\",\n \"pageNo\": \"请求页数 默认第1页\",\n \"pageSize\": \"每页返回的最大结果集,默认20\",\n \"id\": \"菜谱标识 菜谱列表中id,可以用id查询详细\",\n \"name\": \"菜品名称\"\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 \"type\": \"菜谱的分类(查询时请使用分类中的一级或二级分类)\",\n \"pageNo\": \"请求页数 默认第1页\",\n \"pageSize\": \"每页返回的最大结果集,默认20\",\n \"id\": \"菜谱标识 菜谱列表中id,可以用id查询详细\",\n \"name\": \"菜品名称\"\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/cookbook-list"))
.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/cookbook-list';
$payload = "{\n \"type\": \"菜谱的分类(查询时请使用分类中的一级或二级分类)\",\n \"pageNo\": \"请求页数 默认第1页\",\n \"pageSize\": \"每页返回的最大结果集,默认20\",\n \"id\": \"菜谱标识 菜谱列表中id,可以用id查询详细\",\n \"name\": \"菜品名称\"\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;響應示例
{
"code": 200,
"msg": "成功",
"taskNo": "025008804237815320489132",
"data": {
"totalPage": 61,
"pageNo": 1,
"pageSize": 20,
"totalCount": 1214,
"items": [
{
"type": "肉类 兔肉 兔肉",
"typeV1": "肉类",
"typeV2": "兔肉",
"typeV3": "兔肉",
"name": "泰顺腊兔肉",
"desc": "",
"tip": "",
"id": "5c4c75b3e9b6cc139e5dd87a",
"createTime": "2019-01-26 22:58:59.575",
"smallImag": "",
"largeImg": "",
"steps": [
{
"orderNum": 1,
"content": "腊兔肉切好,锅里放多油,油热后放入腊兔肉爆炒一会儿,然后放入姜蒜葱白胡萝卜爆香!炒之前用料酒酱油盐鸡精白糖调好的汁倒入锅中,等入味了就可以放葱香菜起锅了!"
}
],
"yl": [
{
"ylUnit": "胡萝卜",
"ylName": "泰顺腊兔子"
},
{
"ylUnit": "姜",
"ylName": "葱"
},
{
"ylUnit": "香菜",
"ylName": "蒜"
}
]
}
]
}
}範例用於理解回傳結構,實際結果以介面回傳為準。
- 鑑權方式
- 請求頭傳入 X-API-Key
- 預設限流
- 60 次/分鐘
- 超時時間
- 5000 ms
接入建議
服務端呼叫時,將 API Key 放在 X-API-Key 請求頭中。
建議按 response code 與業務欄位雙重判斷呼叫結果。
高頻呼叫場景請結合速率限制與重試策略使用。
請求欄位
從伺服器發起請求,並在 X-API-Key 標頭中傳入金鑰。
請求欄位
欄位來自介面結構定義。未提供的說明和範例會標為未標註。
| 欄位路徑 | 型別 | 必填 | 說明 | 示例值 |
|---|---|---|---|---|
| type | string | 是 | 菜谱的分类(查询时请使用分类中的一级或二级分类) | 未標註 |
| pageNo | string | 否 | 请求页数 默认第1页 | 未標註 |
| pageSize | string | 否 | 每页返回的最大结果集,默认20 | 未標註 |
| id | string | 否 | 菜谱标识 菜谱列表中id,可以用id查询详细 | 未標註 |
| name | string | 否 | 菜品名称 | 未標註 |
請求示例
{
"type": "菜谱的分类(查询时请使用分类中的一级或二级分类)",
"pageNo": "请求页数 默认第1页",
"pageSize": "每页返回的最大结果集,默认20",
"id": "菜谱标识 菜谱列表中id,可以用id查询详细",
"name": "菜品名称"
}- 鑑權方式
- 請求頭傳入 X-API-Key
- 預設限流
- 60 次/分鐘
- 超時時間
- 5000 ms
響應欄位
範例用於理解回傳結構,實際結果以介面回傳為準。
響應欄位
欄位來自介面結構定義。未提供的說明和範例會標為未標註。
| 欄位路徑 | 型別 | 必填 | 說明 | 示例值 |
|---|---|---|---|---|
| code | number | 否 | 未標註 | 200 |
| msg | string | 否 | 未標註 | 成功 |
| taskNo | string | 否 | 未標註 | 025008804237815320489132 |
| data | object | 否 | 未標註 | 未標註 |
| data.totalPage | number | 否 | 总页数 | 61 |
| data.pageNo | number | 否 | 当前页 | 1 |
| data.pageSize | number | 否 | 每页返回最大记录数 | 20 |
| data.totalCount | number | 否 | 总记录 | 1214 |
| data.items | array | 否 | 未標註 | [{"type":"肉类 兔肉 兔肉","typeV1":"肉类","typeV2":"兔肉","typeV3":"兔肉","name":"泰顺腊兔肉","desc":"","tip":"","id":"5c4c75b3e9b6cc139e5dd87a","createTime":"2019-01-26 22:58:59.575","smallImag":"","largeImg":"","steps":[{"orderNum":1,"content":"腊兔肉切好,锅里放多油,油热后放入腊兔肉爆炒一会儿,然后放入姜蒜葱白胡萝卜爆香!炒之前用料酒酱油盐鸡精白糖调好的汁倒入锅中,等入味了就可以放葱香菜起锅了!"}],"yl":[{"ylUnit":"胡萝卜","ylName":"泰顺腊兔子"},{"ylUnit":"姜","ylName":"葱"},{"ylUnit":"香菜","ylName":"蒜"}]}] |
| data.items[] | object | 未標註 | 未標註 | 未標註 |
響應示例
{
"code": 200,
"msg": "成功",
"taskNo": "025008804237815320489132",
"data": {
"totalPage": 61,
"pageNo": 1,
"pageSize": 20,
"totalCount": 1214,
"items": [
{
"type": "肉类 兔肉 兔肉",
"typeV1": "肉类",
"typeV2": "兔肉",
"typeV3": "兔肉",
"name": "泰顺腊兔肉",
"desc": "",
"tip": "",
"id": "5c4c75b3e9b6cc139e5dd87a",
"createTime": "2019-01-26 22:58:59.575",
"smallImag": "",
"largeImg": "",
"steps": [
{
"orderNum": 1,
"content": "腊兔肉切好,锅里放多油,油热后放入腊兔肉爆炒一会儿,然后放入姜蒜葱白胡萝卜爆香!炒之前用料酒酱油盐鸡精白糖调好的汁倒入锅中,等入味了就可以放葱香菜起锅了!"
}
],
"yl": [
{
"ylUnit": "胡萝卜",
"ylName": "泰顺腊兔子"
},
{
"ylUnit": "姜",
"ylName": "葱"
},
{
"ylUnit": "香菜",
"ylName": "蒜"
}
]
}
]
}
}介面簡介
介面功能、應用情境、使用限制與常見問題。
介面簡介
本介面提供結構化的菜譜資料查詢服務。開發者可透過指定菜品分類(支援一級至三級分類)、菜品名稱或唯一ID進行檢索。介面返回包含菜名、分類層級、縮圖、所需原料列表以及分步烹飪指南在內的完整資料結構,適用於需要展示詳細食譜資訊的業務場景。
適用場景
- 美食類APP/網站:豐富站內菜譜庫,提供標準化的做菜教程。
- 智慧硬體整合:為智慧廚電、烹飪機器人提供標準化的指令步驟資料。
- 內容聚合平臺:快速構建垂直領域的飲食內容板塊,支援按肉類、蔬菜等維度篩選。
請求與返回說明
- 請求方式:POST
- 核心引數:
type(必填):菜譜分類,建議使用一級或二級分類標籤。name(選填):模糊搜尋菜品名稱。id(選填):指定菜譜ID獲取單條詳情。pageNo/pageSize:控制分頁資料,預設每頁20條。