Objective-C
Objective-C
Yousign: Making your first API call
See more Yousign Examples
Demonstrates making the simplest of calls to test your API key. This example tests using the sandbox URLs.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <CkoStringBuilder.h>
#import <CkoJsonObject.h>
#import <NSString.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
// Implements the following CURL command:
// curl --location --request GET 'https://staging-api.yousign.com/users' \
// --header 'Authorization: Bearer YOUR_API_KEY' \
// --header 'Content-Type: application/json'
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
// Adds the "Authorization: Bearer YOUR_API_KEY" header.
http.AuthToken = @"YOUR_API_KEY";
[http SetRequestHeader: @"Content-Type" value: @"application/json"];
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [http QuickGetSb: @"https://staging-api.yousign.com/users" sbContent: sbResponseBody];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[jResp LoadSb: sbResponseBody];
jResp.EmitCompact = NO;
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[jResp Emit]);
int respStatusCode = [http.LastStatus intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode >= 400) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",http.LastHeader);
NSLog(@"%@",@"Failed.");
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "id": "/users/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
// "firstname": "John",
// "lastname": "Doe",
// "email": "john.doe@yousign.fr",
// "title": "Developer",
// "phone": "+33612345678",
// "status": "activated",
// "organization": "/organizations/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
// "workspaces": [
// {
// "id": "/workspaces/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
// "name": "Acme"
// }
// ],
// "permission": "ROLE_ADMIN",
// "group": {
// "id": "/user_groups/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
// "name": "Administrateur",
// "permissions": [
// "procedure_write",
// "procedure_template_write",
// "procedure_create_from_template",
// "contact",
// "sign",
// "organization",
// "user",
// "api_key",
// "procedure_custom_field",
// "signature_ui",
// "certificate",
// "archive"
// ]
// },
// "createdAt": "2018-12-01T09:42:25+01:00",
// "updatedAt": "2018-12-01T09:42:25+01:00",
// "deleted": false,
// "deletedAt": null,
// "config": [
// ],
// "inweboUserRequest": null,
// "samlNameId": null,
// "defaultSignImage": null,
// "notifications": {
// "procedure": true
// },
// "fastSign": false,
// "fullName": "John Doe"
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
NSString *name = 0;
NSString *strVal = 0;
NSString *id = [jResp StringOf: @"id"];
NSString *firstname = [jResp StringOf: @"firstname"];
NSString *lastname = [jResp StringOf: @"lastname"];
NSString *email = [jResp StringOf: @"email"];
NSString *title = [jResp StringOf: @"title"];
NSString *phone = [jResp StringOf: @"phone"];
NSString *status = [jResp StringOf: @"status"];
NSString *organization = [jResp StringOf: @"organization"];
NSString *permission = [jResp StringOf: @"permission"];
NSString *groupId = [jResp StringOf: @"group.id"];
NSString *groupName = [jResp StringOf: @"group.name"];
NSString *createdAt = [jResp StringOf: @"createdAt"];
NSString *updatedAt = [jResp StringOf: @"updatedAt"];
BOOL deleted = [jResp BoolOf: @"deleted"];
NSString *deletedAt = [jResp StringOf: @"deletedAt"];
NSString *inweboUserRequest = [jResp StringOf: @"inweboUserRequest"];
NSString *samlNameId = [jResp StringOf: @"samlNameId"];
NSString *defaultSignImage = [jResp StringOf: @"defaultSignImage"];
BOOL notificationsProcedure = [jResp BoolOf: @"notifications.procedure"];
BOOL fastSign = [jResp BoolOf: @"fastSign"];
NSString *fullName = [jResp StringOf: @"fullName"];
int i = 0;
int count_i = [[jResp SizeOfArray: @"workspaces"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
id = [jResp StringOf: @"workspaces[i].id"];
name = [jResp StringOf: @"workspaces[i].name"];
i = i + 1;
}
i = 0;
count_i = [[jResp SizeOfArray: @"group.permissions"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
strVal = [jResp StringOf: @"group.permissions[i]"];
i = i + 1;
}
i = 0;
count_i = [[jResp SizeOfArray: @"config"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
i = i + 1;
}