C
C
MercadoLibre - Create Test User
See more MercadoLibre Examples
Crea un usuario de testChilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpResponse.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkJsonObject jsonToken;
HCkJsonObject json;
HCkHttpResponse resp;
HCkStringBuilder sbResponseBody;
HCkJsonObject jResp;
int respStatusCode;
int id;
const char *nickname;
const char *password;
const char *site_status;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
// First get our previously obtained OAuth2 access token.
jsonToken = CkJsonObject_Create();
success = CkJsonObject_LoadFile(jsonToken,"qa_data/tokens/mercadolibre.json");
// Implements the following CURL command:
// curl -X POST -H "Content-Type: application/json" -d
// '{
// "site_id":"MLA"
// }'
// https://api.mercadolibre.com/users/test_user?access_token=MY_ACCESS_TOKEN
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "site_id": "MLA"
// }
json = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"site_id","MLA");
CkHttp_SetRequestHeader(http,"Content-Type","application/json");
CkHttp_SetUrlVar(http,"access_token",CkJsonObject_stringOf(jsonToken,"access_token"));
resp = CkHttpResponse_Create();
success = CkHttp_HttpJson(http,"POST","https://api.mercadolibre.com/users/test_user?access_token={$access_token}",json,"application/json",resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkJsonObject_Dispose(jsonToken);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
return;
}
sbResponseBody = CkStringBuilder_Create();
CkHttpResponse_GetBodySb(resp,sbResponseBody);
jResp = CkJsonObject_Create();
CkJsonObject_LoadSb(jResp,sbResponseBody);
CkJsonObject_putEmitCompact(jResp,FALSE);
printf("Response Body:\n");
printf("%s\n",CkJsonObject_emit(jResp));
// A response status code of 201 indicates success.
respStatusCode = CkHttpResponse_getStatusCode(resp);
printf("Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
printf("Response Header:\n");
printf("%s\n",CkHttpResponse_header(resp));
printf("Failed.\n");
CkHttp_Dispose(http);
CkJsonObject_Dispose(jsonToken);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "id": 577815702,
// "nickname": "TETE5320415",
// "password": "qatest4890",
// "site_status": "active",
// "email": "test_user_80450945@testuser.com"
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
// See this example explaining how this memory should be used: const char * functions.
id = CkJsonObject_IntOf(jResp,"id");
nickname = CkJsonObject_stringOf(jResp,"nickname");
password = CkJsonObject_stringOf(jResp,"password");
site_status = CkJsonObject_stringOf(jResp,"site_status");
CkHttp_Dispose(http);
CkJsonObject_Dispose(jsonToken);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
}