Go
Go
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 Go Downloads
success := false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := chilkat.NewHttp()
// 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.SetAuthToken("YOUR_API_KEY")
http.SetRequestHeader("Content-Type","application/json")
sbResponseBody := chilkat.NewStringBuilder()
success = http.QuickGetSb("https://staging-api.yousign.com/users",sbResponseBody)
if success == false {
fmt.Println(http.LastErrorText())
http.DisposeHttp()
sbResponseBody.DisposeStringBuilder()
return
}
jResp := chilkat.NewJsonObject()
jResp.LoadSb(sbResponseBody)
jResp.SetEmitCompact(false)
fmt.Println("Response Body:")
fmt.Println(*jResp.Emit())
respStatusCode := http.LastStatus()
fmt.Println("Response Status Code = ", respStatusCode)
if respStatusCode >= 400 {
fmt.Println("Response Header:")
fmt.Println(http.LastHeader())
fmt.Println("Failed.")
http.DisposeHttp()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()
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
var name *string = new(string)
var strVal *string = new(string)
id := jResp.StringOf("id")
firstname := jResp.StringOf("firstname")
lastname := jResp.StringOf("lastname")
email := jResp.StringOf("email")
title := jResp.StringOf("title")
phone := jResp.StringOf("phone")
status := jResp.StringOf("status")
organization := jResp.StringOf("organization")
permission := jResp.StringOf("permission")
groupId := jResp.StringOf("group.id")
groupName := jResp.StringOf("group.name")
createdAt := jResp.StringOf("createdAt")
updatedAt := jResp.StringOf("updatedAt")
deleted := jResp.BoolOf("deleted")
deletedAt := jResp.StringOf("deletedAt")
inweboUserRequest := jResp.StringOf("inweboUserRequest")
samlNameId := jResp.StringOf("samlNameId")
defaultSignImage := jResp.StringOf("defaultSignImage")
notificationsProcedure := jResp.BoolOf("notifications.procedure")
fastSign := jResp.BoolOf("fastSign")
fullName := jResp.StringOf("fullName")
i := 0
count_i := jResp.SizeOfArray("workspaces")
for i < count_i {
jResp.SetI(i)
id = jResp.StringOf("workspaces[i].id")
name = jResp.StringOf("workspaces[i].name")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("group.permissions")
for i < count_i {
jResp.SetI(i)
strVal = jResp.StringOf("group.permissions[i]")
i = i + 1
}
i = 0
count_i = jResp.SizeOfArray("config")
for i < count_i {
jResp.SetI(i)
i = i + 1
}
http.DisposeHttp()
sbResponseBody.DisposeStringBuilder()
jResp.DisposeJsonObject()