VB6 / easybill REST API / Fetch list of position discounts
Back to Collection Items
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New ChilkatHttp
Dim success As Long
Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateString("limit","<integer>")
success = queryParams.UpdateString("page","<integer>")
success = queryParams.UpdateString("customer_id","<string>")
http.SetRequestHeader "Authorization","{{apiKey}}"
http.SetRequestHeader "Accept","application/json"
Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://api.easybill.de/rest/v1/discounts/position",queryParams)
If (http.LastMethodSuccess = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0
Debug.Print "Response Body:"
Debug.Print jResp.Emit()
Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
Debug.Print "Response Header:"
Debug.Print resp.Header
Debug.Print "Failed."
Exit Sub
End If
' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)
' {
' "page": "<integer>",
' "pages": "<integer>",
' "limit": "<integer>",
' "total": "<integer>",
' "items": [
' {
' "customer_id": "<long>",
' "position_id": -31850106,
' "id": "<long>",
' "discount": 0,
' "discount_type": "PERCENT"
' },
' {
' "customer_id": "<long>",
' "position_id": 44029037,
' "id": "<long>",
' "discount": 0,
' "discount_type": "PERCENT"
' }
' ]
' }
' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim customer_id As String
Dim position_id As Long
Dim id As String
Dim discount As Long
Dim discount_type As String
Dim page As String
page = jResp.StringOf("page")
Dim pages As String
pages = jResp.StringOf("pages")
Dim limit As String
limit = jResp.StringOf("limit")
Dim total As String
total = jResp.StringOf("total")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("items")
Do While i < count_i
jResp.I = i
customer_id = jResp.StringOf("items[i].customer_id")
position_id = jResp.IntOf("items[i].position_id")
id = jResp.StringOf("items[i].id")
discount = jResp.IntOf("items[i].discount")
discount_type = jResp.StringOf("items[i].discount_type")
i = i + 1
Loop
Curl Command
curl -G -d "limit=%3Cinteger%3E"
-d "page=%3Cinteger%3E"
-d "customer_id=%3Cstring%3E"
-H "Authorization: {{apiKey}}"
-H "Accept: application/json"
https://api.easybill.de/rest/v1/discounts/position
Postman Collection Item JSON
{
"name": "Fetch list of position discounts",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/discounts/position?limit=<integer>&page=<integer>&customer_id=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"discounts",
"position"
],
"query": [
{
"key": "limit",
"value": "<integer>",
"description": "Limited the result. Default is 100. Maximum can be 1000."
},
{
"key": "page",
"value": "<integer>",
"description": "Set current Page. Default is 1."
},
{
"key": "customer_id",
"value": "<string>",
"description": "Filter discounts by customer_id. You can add multiple customer_ids separate by comma like id,id,id."
}
]
}
},
"response": [
{
"name": "Successful operation",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/discounts/position?limit=<integer>&page=<integer>&customer_id=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"discounts",
"position"
],
"query": [
{
"key": "limit",
"value": "<integer>",
"description": "Limited the result. Default is 100. Maximum can be 1000."
},
{
"key": "page",
"value": "<integer>",
"description": "Set current Page. Default is 1."
},
{
"key": "customer_id",
"value": "<string>",
"description": "Filter discounts by customer_id. You can add multiple customer_ids separate by comma like id,id,id."
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"page\": \"<integer>\",\n \"pages\": \"<integer>\",\n \"limit\": \"<integer>\",\n \"total\": \"<integer>\",\n \"items\": [\n {\n \"customer_id\": \"<long>\",\n \"position_id\": -31850106,\n \"id\": \"<long>\",\n \"discount\": 0,\n \"discount_type\": \"PERCENT\"\n },\n {\n \"customer_id\": \"<long>\",\n \"position_id\": 44029037,\n \"id\": \"<long>\",\n \"discount\": 0,\n \"discount_type\": \"PERCENT\"\n }\n ]\n}"
},
{
"name": "Too Many Requests",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/discounts/position?limit=<integer>&page=<integer>&customer_id=<string>",
"host": [
"{{baseUrl}}"
],
"path": [
"discounts",
"position"
],
"query": [
{
"key": "limit",
"value": "<integer>",
"description": "Limited the result. Default is 100. Maximum can be 1000."
},
{
"key": "page",
"value": "<integer>",
"description": "Set current Page. Default is 1."
},
{
"key": "customer_id",
"value": "<string>",
"description": "Filter discounts by customer_id. You can add multiple customer_ids separate by comma like id,id,id."
}
]
}
},
"status": "Too Many Requests",
"code": 429,
"_postman_previewlanguage": "text",
"header": [
],
"cookie": [
],
"body": ""
}
]
}