Sample code for 30+ languages & platforms
B4X

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 B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  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", "application/json")

Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = http.QuickGetSb("https://staging-api.yousign.com/users", sbResponseBody)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = http.LastStatus
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(http.LastHeader)
    Log("Failed.")
    Return
End If


'  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



Dim name As String
Dim strVal As String

Dim id As String = jResp.StringOf("id")
Dim firstname As String = jResp.StringOf("firstname")
Dim lastname As String = jResp.StringOf("lastname")
Dim email As String = jResp.StringOf("email")
Dim title As String = jResp.StringOf("title")
Dim phone As String = jResp.StringOf("phone")
Dim status As String = jResp.StringOf("status")
Dim organization As String = jResp.StringOf("organization")
Dim permission As String = jResp.StringOf("permission")
Dim groupId As String = jResp.StringOf("group.id")
Dim groupName As String = jResp.StringOf("group.name")
Dim createdAt As String = jResp.StringOf("createdAt")
Dim updatedAt As String = jResp.StringOf("updatedAt")
Dim deleted As Boolean = jResp.BoolOf("deleted")
Dim deletedAt As String = jResp.StringOf("deletedAt")
Dim inweboUserRequest As String = jResp.StringOf("inweboUserRequest")
Dim samlNameId As String = jResp.StringOf("samlNameId")
Dim defaultSignImage As String = jResp.StringOf("defaultSignImage")
Dim notificationsProcedure As Boolean = jResp.BoolOf("notifications.procedure")
Dim fastSign As Boolean = jResp.BoolOf("fastSign")
Dim fullName As String = jResp.StringOf("fullName")
Dim i As Int = 0
Dim count_i As Int = jResp.SizeOfArray("workspaces")
Do While i < count_i
    jResp.I = i
    id = jResp.StringOf("workspaces[i].id")
    name = jResp.StringOf("workspaces[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("group.permissions")
Do While i < count_i
    jResp.I = i
    strVal = jResp.StringOf("group.permissions[i]")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("config")
Do While i < count_i
    jResp.I = i
    i = i + 1
Loop