向客戶添加訂單。對於更多的流程控製,此方法忽略“下訂單後自動設置產品”。選項。當您調用此方法時,您必須對 AcceptOrder 進行後續顯式調用。
請求參數
參數 | 類型 | 說明 | 必需的 |
---|---|---|---|
action | string | “AddOrder” | Required |
clientid | int | Required | |
paymentmethod | string | 係統格式中訂單的支付方式。例如:貝寶,郵寄 | Required |
pid | int[] | 要為其添加訂單的產品 ID 數組 | Optional |
domain | string[] | 與產品/域關聯的域名數組 | Optional |
billingcycle | string[] | 產品的計費周期數組 | Optional |
domaintype | string[] | 對於域注冊,一組寄存器或傳輸值 | Optional |
regperiod | int[] | 對於域注冊,按順序排列的域的注冊期限 | Optional |
idnlanguage | string[] | 用於 IDN 域注冊。正在注冊的域的語言代碼 | Optional |
eppcode | string[] | 對於域名轉移。按順序轉移的域的 epp 代碼 | Optional |
nameserver1 | string | 按順序應用於所有域的第一個名稱服務器 | Optional |
nameserver2 | string | 按順序應用於所有域的第二個名稱服務器 | Optional |
nameserver3 | string | 按順序應用於所有域的第三個名稱服務器 | Optional |
nameserver4 | string | 按順序應用於所有域的第四個名稱服務器 | Optional |
nameserver5 | string | 按順序應用於所有域的第五個名稱服務器 | Optional |
customfields | string[] | 產品自定義字段值的 base64 編碼序列化數組 | Optional |
configoptions | string[] | 產品可配置選項值的 base64 編碼序列化數組 | Optional |
priceoverride | float[] | 覆蓋所排序產品的價格 | Optional |
promocode | string | 應用於訂單的促銷代碼 | Optional |
promooverride | bool | 即使沒有匹配的促銷產品,促銷是否也適用於訂單 | Optional |
affid | int | 與訂單關聯的會員 ID | Optional |
noinvoice | bool | 設置為 true 以禁止為整個訂單生成發票 | Optional |
noinvoiceemail | bool | 設置為 true 以禁止為訂單發送 Invoice Created 電子郵件 | Optional |
noemail | bool | 設置為 true 以禁止發送訂單確認電子郵件 | Optional |
addons | string[] | 以逗號分隔的插件列表,可按產品訂單創建 | Optional |
hostname | string[] | VPS/專用服務器訂單的服務器主機名 | Optional |
ns1prefix | string[] | VPS/專用服務器的第一個名稱服務器前綴。例如: ns1.hostname.com 中的 ns1 | Optional |
ns2prefix | string[] | VPS/專用服務器的第二個名稱服務器前綴。例如: ns2 中的 ns2.hostname.com | Optional |
rootpw | string[] | VPS/專用服務器所需的根密碼。 | Optional |
contactid | int | 與客戶相關聯的聯係人 ID,應適用於訂單中的所有域 | Optional |
dnsmanagement | bool[] | 將 DNS 管理添加到域順序 | Optional |
domainfields | string[] | TLD 特定字段值的 base64 編碼序列化數組 | Optional |
emailforwarding | bool[] | 將電子郵件轉發添加到域訂單 | Optional |
idprotection | bool[] | 將 ID 保護添加到域訂單 | Optional |
domainpriceoverride | float[] | 覆蓋所排序域名的注冊價格 | Optional |
domainrenewoverride | float[] | 覆蓋所排序域的續訂價格 | Optional |
domainrenewals | array | 一個名稱 -> $domainName 的值數組 -> $renewalPeriod 續訂以添加訂單 | Optional |
clientip | string | 與訂單關聯的 IP 地址 | Optional |
addonid | int | 僅插件訂單的插件 ID | Optional |
serviceid | int | 僅插件訂單的服務 ID | Optional |
addonids | int[] | 僅插件訂單的插件 ID 數組 | Optional |
serviceids | int[] | 一個服務 ID 數組,用於關聯 Addon Only 訂單的插件 | Optional |
響應參數
參數 | 類型 | 說明 |
---|---|---|
result | string | 操作結果:成功或錯誤 |
orderid | int | 已創建訂單的訂單 ID |
serviceids | string | 訂單創建的服務 ID |
addonids | string | 訂單創建的插件 ID |
domainids | string | 訂單創建的域 ID |
invoiceid | int | 為訂單創建的發票 ID |
示例請求 (CURL)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
http_build_query(
array(
'action' => 'AddOrder',
// See https://developers.whmcs.com/api/authentication
'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
'password' => 'SECRET_OR_HASHED_PASSWORD',
'clientid' => '1',
'pid' => array(1,1),
'domain' => array('domain1.com', 'dómáin2.com'),
'idnlanguage' => array('', 'fre'),
'billingcycle' => array('monthly','semiannually'),
'addons' => array('1,3,9', ''),
'customfields' => array(base64_encode(serialize(array("1" => "Google"))), base64_encode(serialize(array("1" => "Google")))),
'configoptions' => array(base64_encode(serialize(array("1" => 999))), base64_encode(serialize(array("1" => 999)))),
'domaintype' => array('register', 'register'),
'regperiod' => array(1, 2),
'dnsmanagement' => array(0 => false, 1 => true),
'nameserver1' => 'ns1.demo.com',
'nameserver2' => 'ns2.demo.com',
'paymentmethod' => 'mailin',
'responsetype' => 'json',
)
)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
示例請求(本地 API)
$command = 'AddOrder';
$postData = array(
'clientid' => '1',
'pid' => array(1,1),
'domain' => array('domain1.com', 'dómáin2.com'),
'idnlanguage' => array('', 'fre'),
'billingcycle' => array('monthly','semiannually'),
'addons' => array('1,3,9', ''),
'customfields' => array(base64_encode(serialize(array("1" => "Google"))), base64_encode(serialize(array("1" => "Google")))),
'configoptions' => array(base64_encode(serialize(array("1" => 999))), base64_encode(serialize(array("1" => 999)))),
'domaintype' => array('register', 'register'),
'regperiod' => array(1, 2),
'dnsmanagement' => array(0 => false, 1 => true),
'nameserver1' => 'ns1.demo.com',
'nameserver2' => 'ns2.demo.com',
'paymentmethod' => 'mailin',
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later
$results = localAPI($command, $postData, $adminUsername);
print_r($results);
示例響應 JSON
{
"result": "success",
"orderid": "1",
"serviceids": "1,2",
"addonids": "1,2,3",
"domainids": "1,2",
"invoiceid": "1"
}
錯誤響應
可能的錯誤條件響應包括:
- 未找到客戶端 ID
- 客戶狀態為已關閉時無法添加訂單
- 付款方式無效。有效選項包括
- 插件 ID 無效
- 服務 ID 不屬於提供的客戶 ID
- 域狀態設置為“待處理|已取消|待轉移|已轉移|欺詐”且無法續訂
- 提供的客戶 ID 不擁有的域
- 沒有物品添加到購物車,因此訂單無法繼續
相關用法
- PHP WHMCS AddonUnsuspended用法及代碼示例
- PHP WHMCS AddContact用法及代碼示例
- PHP WHMCS AddUser用法及代碼示例
- PHP WHMCS AddonAdd用法及代碼示例
- PHP WHMCS AddonTerminated用法及代碼示例
- PHP WHMCS AddPayMethod用法及代碼示例
- PHP WHMCS AddBillableItem用法及代碼示例
- PHP WHMCS AddonFraud用法及代碼示例
- PHP WHMCS AddTransaction用法及代碼示例
- PHP WHMCS AddCancelRequest用法及代碼示例
- PHP WHMCS AddonDeleted用法及代碼示例
- PHP WHMCS AddonActivated用法及代碼示例
- PHP WHMCS AddonSuspended用法及代碼示例
- PHP WHMCS AddInvoicePayment用法及代碼示例
- PHP WHMCS AddAnnouncement用法及代碼示例
- PHP WHMCS AddonConfigSave用法及代碼示例
- PHP WHMCS AddonConfig用法及代碼示例
- PHP WHMCS AddClient用法及代碼示例
- PHP WHMCS AddBannedIp用法及代碼示例
- PHP WHMCS AddonRenewal用法及代碼示例
- PHP WHMCS AddCredit用法及代碼示例
- PHP WHMCS AddProjectTask用法及代碼示例
- PHP WHMCS AddTicketNote用法及代碼示例
- PHP WHMCS AddProjectMessage用法及代碼示例
- PHP WHMCS AddonActivation用法及代碼示例
注:本文由純淨天空篩選整理自whmcs.com大神的英文原創作品 AddOrder。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。