Chilkat Online Tools

Foxpro / Belvo API Docs / Register

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loJson
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcId
LOCAL lcInstitution
LOCAL lcAccess_mode
LOCAL lcLast_accessed_at
LOCAL lcStatus
LOCAL lcCreated_by
LOCAL lcRefresh_rate

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

loHttp = CreateObject('Chilkat_9_5_0.Http')

loHttp.BasicAuth = 1
loHttp.Login = "{{secretId}}"
loHttp.Password = "{{secretPassword}}"

* Use this online tool to generate code from sample JSON: Generate Code to Create JSON

* The following JSON is sent in the request body.

* {
*   "institution": "erebor_mx_retail",
*   "username": "username",
*   "password": "password",
*   "username2": "secondusername",
*   "username3": "thirdusername",
*   "password2": "pin",
*   "token": "1234ab",
*   "access_mode": "recurrent",
*   "username_type": "001",
*   "certificate": "1234567890abcd=",
*   "private_key": "1234567890abcd="
* }

loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.UpdateString("institution","erebor_mx_retail")
loJson.UpdateString("username","username")
loJson.UpdateString("password","password")
loJson.UpdateString("username2","secondusername")
loJson.UpdateString("username3","thirdusername")
loJson.UpdateString("password2","pin")
loJson.UpdateString("token","1234ab")
loJson.UpdateString("access_mode","recurrent")
loJson.UpdateString("username_type","001")
loJson.UpdateString("certificate","1234567890abcd=")
loJson.UpdateString("private_key","1234567890abcd=")

loHttp.SetRequestHeader("Content-Type","application/json")

loResp = loHttp.PostJson3("https://domain.com/api/links/","application/json",loJson)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

loJResp = CreateObject('Chilkat_9_5_0.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loJson
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loResp

* Sample JSON response:
* (Sample code for parsing the JSON response is shown below)

* {
*   "id": "<uuid>",
*   "institution": "<string>",
*   "access_mode": "<string>",
*   "last_accessed_at": "<dateTime>",
*   "status": "<string>",
*   "created_by": "<uuid>",
*   "refresh_rate": "<string>"
* }

* Sample code for parsing the JSON response...
* Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

lcId = loJResp.StringOf("id")
lcInstitution = loJResp.StringOf("institution")
lcAccess_mode = loJResp.StringOf("access_mode")
lcLast_accessed_at = loJResp.StringOf("last_accessed_at")
lcStatus = loJResp.StringOf("status")
lcCreated_by = loJResp.StringOf("created_by")
lcRefresh_rate = loJResp.StringOf("refresh_rate")

RELEASE loHttp
RELEASE loJson
RELEASE loSbResponseBody
RELEASE loJResp

Curl Command

curl -X POST
	-u '{{secretId}}:{{secretPassword}}'
	-H "Content-Type: application/json"
	-d '{
    "institution": "erebor_mx_retail",
    "username": "username",
    "password": "password",
    "username2": "secondusername",
    "username3": "thirdusername",
    "password2": "pin",
    "token": "1234ab",
    "access_mode": "recurrent",
    "username_type": "001",
    "certificate": "1234567890abcd=",
    "private_key": "1234567890abcd="
}'
https://domain.com/api/links/

Postman Collection Item JSON

{
  "name": "Register",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"institution\": \"erebor_mx_retail\",\n    \"username\": \"username\",\n    \"password\": \"password\",\n    \"username2\": \"secondusername\",\n    \"username3\": \"thirdusername\",\n    \"password2\": \"pin\",\n    \"token\": \"1234ab\",\n    \"access_mode\": \"recurrent\",\n    \"username_type\": \"001\",\n    \"certificate\": \"1234567890abcd=\",\n    \"private_key\": \"1234567890abcd=\"\n}"
    },
    "url": {
      "raw": "{{baseUrl}}/api/links/",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "links",
        ""
      ]
    },
    "description": "Register a new link with your Belvo account."
  },
  "response": [
    {
      "name": "Created",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"institution\": \"<string>\",\n    \"username\": \"<string>\",\n    \"password\": \"<string>\",\n    \"username2\": \"<string>\",\n    \"username3\": \"<string>\",\n    \"password2\": \"<string>\",\n    \"token\": \"<string>\",\n    \"encryption_key\": \"<string>\",\n    \"access_mode\": \"recurrent\",\n    \"username_type\": \"<string>\",\n    \"certificate\": \"<string>\",\n    \"private_key\": \"<string>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/links",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "links"
          ]
        }
      },
      "status": "Created",
      "code": 201,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n\t\"id\": \"<uuid>\",\n\t\"institution\": \"<string>\",\n\t\"access_mode\": \"<string>\",\n\t\"last_accessed_at\": \"<dateTime>\",\n\t\"status\": \"<string>\",\n\t\"created_by\": \"<uuid>\",\n\t\"refresh_rate\": \"<string>\"\n}"
    },
    {
      "name": "Bad request error",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"institution\": \"<string>\",\n    \"username\": \"<string>\",\n    \"password\": \"<string>\",\n    \"username2\": \"<string>\",\n    \"username3\": \"<string>\",\n    \"password2\": \"<string>\",\n    \"token\": \"<string>\",\n    \"encryption_key\": \"<string>\",\n    \"access_mode\": \"recurrent\",\n    \"username_type\": \"<string>\",\n    \"certificate\": \"<string>\",\n    \"private_key\": \"<string>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/links",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "links"
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "[\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t},\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t}\n]"
    },
    {
      "name": "Unauthorized",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"institution\": \"<string>\",\n    \"username\": \"<string>\",\n    \"password\": \"<string>\",\n    \"username2\": \"<string>\",\n    \"username3\": \"<string>\",\n    \"password2\": \"<string>\",\n    \"token\": \"<string>\",\n    \"encryption_key\": \"<string>\",\n    \"access_mode\": \"recurrent\",\n    \"username_type\": \"<string>\",\n    \"certificate\": \"<string>\",\n    \"private_key\": \"<string>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/links",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "links"
          ]
        }
      },
      "status": "Unauthorized",
      "code": 401,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "[\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t},\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t}\n]"
    },
    {
      "name": "MFA Token Required",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"institution\": \"<string>\",\n    \"username\": \"<string>\",\n    \"password\": \"<string>\",\n    \"username2\": \"<string>\",\n    \"username3\": \"<string>\",\n    \"password2\": \"<string>\",\n    \"token\": \"<string>\",\n    \"encryption_key\": \"<string>\",\n    \"access_mode\": \"recurrent\",\n    \"username_type\": \"<string>\",\n    \"certificate\": \"<string>\",\n    \"private_key\": \"<string>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/links",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "links"
          ]
        }
      },
      "status": "Precondition Required",
      "code": 428,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n\t\"code\": \"<string>\",\n\t\"message\": \"<string>\",\n\t\"request_id\": \"<uuid>\",\n\t\"session\": \"<uuid>\",\n\t\"expiry\": \"<integer>\",\n\t\"link\": \"<uuid>\",\n\t\"token_generation_data\": {\n\t\t\"instructions\": \"<string>\",\n\t\t\"type\": \"<string>\",\n\t\t\"value\": \"<string>\"\n\t}\n}"
    },
    {
      "name": "Unexpected Error",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "description": "Added as a part of security scheme: basic",
            "key": "Authorization",
            "value": "Basic <credentials>"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"institution\": \"<string>\",\n    \"username\": \"<string>\",\n    \"password\": \"<string>\",\n    \"username2\": \"<string>\",\n    \"username3\": \"<string>\",\n    \"password2\": \"<string>\",\n    \"token\": \"<string>\",\n    \"encryption_key\": \"<string>\",\n    \"access_mode\": \"recurrent\",\n    \"username_type\": \"<string>\",\n    \"certificate\": \"<string>\",\n    \"private_key\": \"<string>\"\n}"
        },
        "url": {
          "raw": "{{baseUrl}}/api/links",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "links"
          ]
        }
      },
      "status": "Internal Server Error",
      "code": 500,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "[\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t},\n\t{\n\t\t\"code\": \"<string>\",\n\t\t\"message\": \"<string>\",\n\t\t\"request_id\": \"<string>\"\n\t}\n]"
    }
  ]
}