PureBasic / WAC API / Create Sub-Account
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "AcctName": "your_customer_email@company.com",
; "IsTrial": true,
; "Password": ":C#$d\{Xym9Gd5h%",
; "NumTrialDay": 30,
; "QuotaGB": 1024,
; "PasswordResetRequired": true,
; "EnableFTP": false,
; "Inactive": false,
; "SendPasswordResetToSubAccountEmail": false,
; "AllowAccountDelete": false
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"AcctName","your_customer_email@company.com")
CkJsonObject::ckUpdateBool(json,"IsTrial",1)
CkJsonObject::ckUpdateString(json,"Password",":C#$dXym9Gd5h%")
CkJsonObject::ckUpdateInt(json,"NumTrialDay",30)
CkJsonObject::ckUpdateInt(json,"QuotaGB",1024)
CkJsonObject::ckUpdateBool(json,"PasswordResetRequired",1)
CkJsonObject::ckUpdateBool(json,"EnableFTP",0)
CkJsonObject::ckUpdateBool(json,"Inactive",0)
CkJsonObject::ckUpdateBool(json,"SendPasswordResetToSubAccountEmail",0)
CkJsonObject::ckUpdateBool(json,"AllowAccountDelete",0)
CkHttp::ckSetRequestHeader(http,"Authorization","{{WACApiKey}}")
sbRequestBody.i = CkStringBuilder::ckCreate()
If sbRequestBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckEmitSb(json,sbRequestBody)
resp.i = CkHttp::ckPTextSb(http,"PUT","https://domain.com/v1/accounts",sbRequestBody,"utf-8","application/json",0,0)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
ProcedureReturn
EndProcedure
Curl Command
curl -X PUT
-H "Authorization: {{WACApiKey}}"
-d '{
"AcctName": "your_customer_email@company.com",
"IsTrial": true,
"Password": ":C#$d\{Xym9Gd5h%",
"NumTrialDay": 30,
"QuotaGB": 1024,
"PasswordResetRequired": true,
"EnableFTP": false,
"Inactive": false,
"SendPasswordResetToSubAccountEmail": false,
"AllowAccountDelete": false
}'
https://domain.com/v1/accounts
Postman Collection Item JSON
{
"name": "Create Sub-Account",
"request": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{WACApiKey}}",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"AcctName\": \"your_customer_email@company.com\",\r\n \"IsTrial\": true,\r\n \"Password\": \":C#$d\\{Xym9Gd5h%\",\r\n \"NumTrialDay\": 30,\r\n \"QuotaGB\": 1024,\r\n \"PasswordResetRequired\": true,\r\n \"EnableFTP\": false,\r\n \"Inactive\": false,\r\n \"SendPasswordResetToSubAccountEmail\": false,\r\n \"AllowAccountDelete\": false\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{baseURL}}/v1/accounts",
"host": [
"{{baseURL}}"
],
"path": [
"v1",
"accounts"
]
}
},
"response": [
]
}