平台指南
對模型供應商的同意
為什麼部分供應商需要你的同意,如何給予或撤回同意,以及 API 用戶端如何處理同意錯誤。
開啟頁尾和帳戶選單中的同意頁面。「供應商」分頁列出每個需要同意的供應商,顯示其名稱和國家、如何處理輸入(訓練、儲存或未知)、有多少模型和連線處於可用狀態,以及你是否已同意。

「模型」分頁則列出模型。在某個模型上點選「同意」會開啟該模型的檢視:只顯示該模型仍需要的供應商,點選「同意全部」即可用一段載明每個供應商的文字一次同意。

同意對話框會在你確認前顯示完整文字,與你的同意一起儲存的正是這段文字。點選「撤回」可隨時撤回對某個供應商的同意;在你再次同意之前,該供應商提供的模型將對你不可用。

沒有帳戶時,同意與你的瀏覽器綁定。訪客使用同一頁面或聊天選單中的「管理同意」。
你可以反對將你的輸入傳遞給將其用於自身目的的供應商(GDPR 第 21 條)。開關位於同意頁面頂部和帳戶設定中。開啟期間,你的請求會略過這些供應商,僅由它們提供的模型將對你不可用。

當請求送往其供應商仍需你同意的模型時,API 會回傳 403 和代碼 consent_required。訊息中會載明缺少同意的供應商及其國家,並附上該模型的同意頁面連結;param 中包含這些供應商的代碼,以逗號分隔。
json
HTTP/1.1 403 Forbidden
{
"error": {
"code": "consent_required",
"message": "claude-opus-5.5 needs your consent for these providers: a7 (China), ih (Indonesia), pol (Hong Kong). Give it once at https://unorouter.com/consents?model=claude-opus-5.5; it covers every model these providers serve. (request id: ...)",
"param": "CN-19,ID-01,HK-01",
"type": "new_api_error"
}
}請將連結顯示給金鑰的擁有者。同意後,同一請求即可通過。同意適用於該供應商的所有模型,因此一次同意往往可以解鎖多個模型。
typescript
const model = "claude-opus-5.5";
const res = await fetch("https://api.unorouter.com/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.UNOROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ model, messages: [{ role: "user", content: "Hello" }] }),
});
if (res.status === 403) {
const body = await res.json();
if (body.error?.code === "consent_required") {
// The message names the providers; the consent page for the model:
const link = `https://unorouter.com/consents?model=${encodeURIComponent(model)}`;
showToUser(`${body.error.message}\n${link}`);
}
}| 代碼 | 意義 |
|---|---|
consent_required | 該模型的某個供應商需要你的同意。開啟訊息中的連結,給予同意後重新送出請求。 |
consent_business | 該模型需要同意,而企業帳戶無法給予同意。請選擇其他模型。 |
own_purpose_objected | 你已反對用於自身目的,而該模型僅由此類供應商提供。請選擇其他模型或撤回反對。 |
拒絕未經同意的請求將分階段啟用,並會事先公告。在此之前請求不會被拒絕,但你現在就可以給予同意。