Chilkat Online Tools

PowerBuilder / SimpleKart E-commerce API / Get order details from database

Back to Collection Items

integer li_rc
oleobject loo_Http
integer li_Success
oleobject loo_SbResponseBody
oleobject loo_JResp
integer li_RespStatusCode
integer li_ItemId
string ls_Name
integer li_Price
string ls_Description
integer li_OrderId
string ls_ArrivalDate
string ls_OrderDate
integer li_OrderTotal
string ls_Address
integer i
integer li_Count_i

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

loo_Http = create oleobject
// Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_SbResponseBody = create oleobject
// Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat.StringBuilder")

li_Success = loo_Http.QuickGetSb("https://api.simplekart.com/orders/:orderId",loo_SbResponseBody)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_SbResponseBody
    return
end if

loo_JResp = create oleobject
// Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
li_rc = loo_JResp.ConnectToNewObject("Chilkat.JsonObject")

loo_JResp.LoadSb(loo_SbResponseBody)
loo_JResp.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_JResp.Emit()

li_RespStatusCode = loo_Http.LastStatus
Write-Debug "Response Status Code = " + string(li_RespStatusCode)
if li_RespStatusCode >= 400 then
    Write-Debug "Response Header:"
    Write-Debug loo_Http.LastHeader
    Write-Debug "Failed."
    destroy loo_Http
    destroy loo_SbResponseBody
    destroy loo_JResp
    return
end if

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

// {
//   "orderId": 674,
//   "items": [
//     {
//       "itemId": 1657,
//       "name": "Smart WiFi Router",
//       "price": 2096,
//       "description": "Wifi router/wireless router. One of routers for wireless internet, wireless routers for home. Dual band router and gigabit router. Ideal as internet router also gaming router. Long range coverage with high speed. Compatible with all 802.11ac devices and below. 5ghz router/5g router Frequency Range: 2.4GHz and 5GHz; Interface Available: 4 x 10/100/1000Mbps LAN Ports, 1 10/100/1000Mbps WAN Port, 1 USB 2.0 Ports; Protocols Supported: Supports IPv4 and IPv6; System Requirement: Microsoft Windows 98SE NT 2000 XP Vista, or Windows 7 Windows 8/8.1/10, MAC OS NetWare UNIX or Linux; Wireless Standards: IEEE 802.11ac/n/a 5GHz, IEEE 802.11b/g/n 2.4GH"
//     }
//   ],
//   "arrivalDate": "2020-3-04T13:07:45.962Z",
//   "orderDate": "2020-03-06T19:27:26.733Z",
//   "orderTotal": 2096,
//   "address": "95 Tarkiln Hill St.Laurel, MD 20707"
// }

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

li_OrderId = loo_JResp.IntOf("orderId")
ls_ArrivalDate = loo_JResp.StringOf("arrivalDate")
ls_OrderDate = loo_JResp.StringOf("orderDate")
li_OrderTotal = loo_JResp.IntOf("orderTotal")
ls_Address = loo_JResp.StringOf("address")
i = 0
li_Count_i = loo_JResp.SizeOfArray("items")
do while i < li_Count_i
    loo_JResp.I = i
    li_ItemId = loo_JResp.IntOf("items[i].itemId")
    ls_Name = loo_JResp.StringOf("items[i].name")
    li_Price = loo_JResp.IntOf("items[i].price")
    ls_Description = loo_JResp.StringOf("items[i].description")
    i = i + 1
loop


destroy loo_Http
destroy loo_SbResponseBody
destroy loo_JResp

Curl Command

curl -X GET
https://api.simplekart.com/orders/:orderId

Postman Collection Item JSON

{
  "name": "Get order details from database",
  "request": {
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/orders/:orderId",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "orders",
        ":orderId"
      ],
      "variable": [
        {
          "key": "orderId",
          "value": "674",
          "type": "string",
          "description": "(Required) "
        }
      ]
    },
    "description": "Obtain item details from the database"
  },
  "response": [
    {
      "name": "OK - Successfully obtained order details",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "{{baseUrl}}/orders/:orderId",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            ":orderId"
          ],
          "variable": [
            {
              "key": "orderId"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"orderId\": 674,\n \"items\": [\n  {\n   \"itemId\": 1657,\n   \"name\": \"Smart WiFi Router\",\n   \"price\": 2096,\n   \"description\": \"Wifi router/wireless router. One of routers for wireless internet, wireless routers for home. Dual band router and gigabit router. Ideal as internet router also gaming router. Long range coverage with high speed. Compatible with all 802.11ac devices and below. 5ghz router/5g router Frequency Range: 2.4GHz and 5GHz; Interface Available: 4 x 10/100/1000Mbps LAN Ports, 1 10/100/1000Mbps WAN Port, 1 USB 2.0 Ports; Protocols Supported: Supports IPv4 and IPv6; System Requirement: Microsoft Windows 98SE NT 2000 XP Vista, or Windows 7 Windows 8/8.1/10, MAC OS NetWare UNIX or Linux; Wireless Standards: IEEE 802.11ac/n/a 5GHz, IEEE 802.11b/g/n 2.4GH\"\n  }\n ],\n \"arrivalDate\": \"2020-3-04T13:07:45.962Z\",\n \"orderDate\": \"2020-03-06T19:27:26.733Z\",\n \"orderTotal\": 2096,\n \"address\": \"95 Tarkiln Hill St.Laurel, MD 20707\"\n}"
    },
    {
      "name": "Bad Request - Invalid order ID supplied",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "{{baseUrl}}/orders/:orderId",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            ":orderId"
          ],
          "variable": [
            {
              "key": "orderId"
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"error\": {\n  \"message\": \"Provided Id is invalid\"\n }\n}"
    },
    {
      "name": "Not Found - Order not found",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "{{baseUrl}}/orders/:orderId",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "orders",
            ":orderId"
          ],
          "variable": [
            {
              "key": "orderId"
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"error\": {\n  \"message\": \"The order you are looking for, does not exist\"\n }\n}"
    }
  ]
}