Lianja
Lianja
SMSAPI - Create a Contact
See more SMSAPI Examples
Create a ContactChilkat Lianja Downloads
llSuccess = .F.
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
// Implements the following CURL command:
// curl -X POST https://api.smsapi.com/contacts -H "Authorization: Bearer token_api_oauth" \
// -d "phone_number=48500000000&email=bok@smsapi.com&first_name=Name&last_name=Last_name&gender=gender&description=description&city=city&groups=default"
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
loReq = createobject("CkHttpRequest")
loReq.HttpVerb = "POST"
loReq.Path = "/contacts"
loReq.ContentType = "application/x-www-form-urlencoded"
loReq.AddParam("phone_number","48500000000")
loReq.AddParam("email","bok@smsapi.com")
loReq.AddParam("first_name","Name")
loReq.AddParam("last_name","Last_name")
loReq.AddParam("gender","gender")
loReq.AddParam("description","description")
loReq.AddParam("city","city")
loReq.AddParam("groups","default")
loReq.AddHeader("Authorization","Bearer token_api_oauth")
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpReq("https://api.smsapi.com/contacts",loReq,loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loReq
release loResp
return
endif
loSbResponseBody = createobject("CkStringBuilder")
loResp.GetBodySb(loSbResponseBody)
loJResp = createobject("CkJsonObject")
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = .F.
? "Response Body:"
? loJResp.Emit()
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + str(lnRespStatusCode)
if (lnRespStatusCode >= 400) then
? "Response Header:"
? loResp.Header
? "Failed."
release loHttp
release loReq
release loResp
release loSbResponseBody
release loJResp
return
endif
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "id": "5b802315a788494a04690d1d",
// "first_name": "string",
// "last_name": "string",
// "phone_number": "48500000000",
// "email": "bok@smsapi.com",
// "gender": "gender",
// "city": "city",
// "date_created": "2018-08-24T17:24:05+02:00",
// "date_updated": "2018-08-24T17:24:05+02:00",
// "description": "description",
// "groups": [
// {
// "id": "59a3ca1fa78849062837cd0c",
// "name": "default",
// "date_created": "2017-08-28T09:45:35+02:00",
// "date_updated": "2017-08-28T09:45:35+02:00",
// "description": "",
// "created_by": "username",
// "idx": null,
// "contact_expire_after": null,
// "contacts_count": null
// }
// ]
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
loDate_created = createobject("CkDtObj")
loDate_updated = createobject("CkDtObj")
lcId = loJResp.StringOf("id")
lcFirst_name = loJResp.StringOf("first_name")
lcLast_name = loJResp.StringOf("last_name")
lcPhone_number = loJResp.StringOf("phone_number")
lcEmail = loJResp.StringOf("email")
lcGender = loJResp.StringOf("gender")
lcCity = loJResp.StringOf("city")
loJResp.DtOf("date_created",.F.,loDate_created)
loJResp.DtOf("date_updated",.F.,loDate_updated)
lcDescription = loJResp.StringOf("description")
i = 0
lnCount_i = loJResp.SizeOfArray("groups")
do while i < lnCount_i
loJResp.I = i
lcId = loJResp.StringOf("groups[i].id")
lcName = loJResp.StringOf("groups[i].name")
loJResp.DtOf("groups[i].date_created",.F.,loDate_created)
loJResp.DtOf("groups[i].date_updated",.F.,loDate_updated)
lcDescription = loJResp.StringOf("groups[i].description")
lcCreated_by = loJResp.StringOf("groups[i].created_by")
lcIdx = loJResp.StringOf("groups[i].idx")
lcContact_expire_after = loJResp.StringOf("groups[i].contact_expire_after")
lcContacts_count = loJResp.StringOf("groups[i].contacts_count")
i = i + 1
enddo
release loHttp
release loReq
release loResp
release loSbResponseBody
release loJResp
release loDate_created
release loDate_updated