Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Yousign: Making your first API callDemonstrates making the simplest of calls to test your API key. This example tests using the sandbox URLs. For more information, see https://dev.yousign.com/?version=latest#c803dbec-2afb-4b2d-b70b-b42e5c8cbc9a
IncludeFile "CkHttp.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; 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. CkHttp::setCkAuthToken(http, "YOUR_API_KEY") CkHttp::ckSetRequestHeader(http,"Content-Type","application/json") sbResponseBody.i = CkStringBuilder::ckCreate() If sbResponseBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkHttp::ckQuickGetSb(http,"https://staging-api.yousign.com/users",sbResponseBody) If success = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndIf jResp.i = CkJsonObject::ckCreate() If jResp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoadSb(jResp,sbResponseBody) CkJsonObject::setCkEmitCompact(jResp, 0) Debug "Response Body:" Debug CkJsonObject::ckEmit(jResp) respStatusCode.i = CkHttp::ckLastStatus(http) Debug "Response Status Code = " + Str(respStatusCode) If respStatusCode >= 400 Debug "Response Header:" Debug CkHttp::ckLastHeader(http) Debug "Failed." CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbResponseBody) CkJsonObject::ckDispose(jResp) ProcedureReturn EndIf ; 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 name.s strVal.s id.s = CkJsonObject::ckStringOf(jResp,"id") firstname.s = CkJsonObject::ckStringOf(jResp,"firstname") lastname.s = CkJsonObject::ckStringOf(jResp,"lastname") email.s = CkJsonObject::ckStringOf(jResp,"email") title.s = CkJsonObject::ckStringOf(jResp,"title") phone.s = CkJsonObject::ckStringOf(jResp,"phone") status.s = CkJsonObject::ckStringOf(jResp,"status") organization.s = CkJsonObject::ckStringOf(jResp,"organization") permission.s = CkJsonObject::ckStringOf(jResp,"permission") groupId.s = CkJsonObject::ckStringOf(jResp,"group.id") groupName.s = CkJsonObject::ckStringOf(jResp,"group.name") createdAt.s = CkJsonObject::ckStringOf(jResp,"createdAt") updatedAt.s = CkJsonObject::ckStringOf(jResp,"updatedAt") deleted.i = CkJsonObject::ckBoolOf(jResp,"deleted") deletedAt.s = CkJsonObject::ckStringOf(jResp,"deletedAt") inweboUserRequest.s = CkJsonObject::ckStringOf(jResp,"inweboUserRequest") samlNameId.s = CkJsonObject::ckStringOf(jResp,"samlNameId") defaultSignImage.s = CkJsonObject::ckStringOf(jResp,"defaultSignImage") notificationsProcedure.i = CkJsonObject::ckBoolOf(jResp,"notifications.procedure") fastSign.i = CkJsonObject::ckBoolOf(jResp,"fastSign") fullName.s = CkJsonObject::ckStringOf(jResp,"fullName") i.i = 0 count_i.i = CkJsonObject::ckSizeOfArray(jResp,"workspaces") While i < count_i CkJsonObject::setCkI(jResp, i) id = CkJsonObject::ckStringOf(jResp,"workspaces[i].id") name = CkJsonObject::ckStringOf(jResp,"workspaces[i].name") i = i + 1 Wend i = 0 count_i = CkJsonObject::ckSizeOfArray(jResp,"group.permissions") While i < count_i CkJsonObject::setCkI(jResp, i) strVal = CkJsonObject::ckStringOf(jResp,"group.permissions[i]") i = i + 1 Wend i = 0 count_i = CkJsonObject::ckSizeOfArray(jResp,"config") While i < count_i CkJsonObject::setCkI(jResp, i) i = i + 1 Wend CkHttp::ckDispose(http) CkStringBuilder::ckDispose(sbResponseBody) CkJsonObject::ckDispose(jResp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.