Chilkat Online Tools

Swift / Coupa Postman Collection - OAuth - Master / Add Asset Tags to a Receipt

Back to Collection Items

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

    let http = CkoHttp()
    var success: Bool

    // Use this online tool to generate code from sample XML: Generate Code to Create XML

    // The following XML is sent in the request body.

    // <?xml version="1.0" encoding="utf-8"?>
    // <inventory_transaction>
    //     <asset-tags type="array">
    //         <asset-tag>
    //             <tag>987654</tag>
    //             <received type="boolean">true</received>
    //             <order-line-id type="integer">4560</order-line-id>
    //             <requisition-line-id type="integer">6362</requisition-line-id>
    //             <inventory-balance-id nil="true"/>
    //             <serial-number>456789</serial-number>
    //             <owner>Test2</owner>
    //             <note>Test2</note>
    //         </asset-tag>
    //     </asset-tags>
    // </inventory_transaction>
    // 

    let xml = CkoXml()
    xml.Tag = "inventory_transaction"
    xml.UpdateAttrAt("asset-tags", autoCreate: true, attrName: "type", attrValue: "array")
    xml.UpdateChildContentInt("asset-tags|asset-tag|tag", value: 987654)
    xml.UpdateAttrAt("asset-tags|asset-tag|received", autoCreate: true, attrName: "type", attrValue: "boolean")
    xml.UpdateChildContent("asset-tags|asset-tag|received", value: "true")
    xml.UpdateAttrAt("asset-tags|asset-tag|order-line-id", autoCreate: true, attrName: "type", attrValue: "integer")
    xml.UpdateChildContentInt("asset-tags|asset-tag|order-line-id", value: 4560)
    xml.UpdateAttrAt("asset-tags|asset-tag|requisition-line-id", autoCreate: true, attrName: "type", attrValue: "integer")
    xml.UpdateChildContentInt("asset-tags|asset-tag|requisition-line-id", value: 6362)
    xml.UpdateAttrAt("asset-tags|asset-tag|inventory-balance-id", autoCreate: true, attrName: "nil", attrValue: "true")
    xml.UpdateChildContentInt("asset-tags|asset-tag|serial-number", value: 456789)
    xml.UpdateChildContent("asset-tags|asset-tag|owner", value: "Test2")
    xml.UpdateChildContent("asset-tags|asset-tag|note", value: "Test2")

    // Adds the "Authorization: Bearer <access_token>" header.
    http.AuthToken = "<access_token>"

    let sbRequestBody = CkoStringBuilder()
    xml.GetXmlSb(sbRequestBody)

    var resp: CkoHttpResponse? = http.PTextSb("PUT", url: "https://domain.com/receiving_transactions/:id?return_object=limited", textData: sbRequestBody, charset: "utf-8", contentType: "application/xml", md5: false, gzip: false)
    if http.LastMethodSuccess == false {
        print("\(http.LastErrorText)")
        return
    }

    print("\(resp!.StatusCode.intValue)")
    print("\(resp!.BodyStr)")
    resp = nil

}

Curl Command

curl -X PUT
	-H "Authorization: Bearer <access_token>"
	-d '<inventory_transaction>
    <asset-tags type="array">
        <asset-tag>
            <tag>987654</tag>
            <received type="boolean">true</received>
            <order-line-id type="integer">4560</order-line-id>
            <requisition-line-id type="integer">6362</requisition-line-id>
            <inventory-balance-id nil="true"/>
            <serial-number>456789</serial-number>
            <owner>Test2</owner>
            <note>Test2</note>
        </asset-tag>
    </asset-tags>
</inventory_transaction>'
https://domain.com/receiving_transactions/:id?return_object=limited

Postman Collection Item JSON

{
  "name": "Add Asset Tags to a Receipt",
  "protocolProfileBehavior": {
    "disabledSystemHeaders": {}
  },
  "request": {
    "method": "PUT",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "<inventory_transaction>\n    <asset-tags type=\"array\">\n        <asset-tag>\n            <tag>987654</tag>\n            <received type=\"boolean\">true</received>\n            <order-line-id type=\"integer\">4560</order-line-id>\n            <requisition-line-id type=\"integer\">6362</requisition-line-id>\n            <inventory-balance-id nil=\"true\"/>\n            <serial-number>456789</serial-number>\n            <owner>Test2</owner>\n            <note>Test2</note>\n        </asset-tag>\n    </asset-tags>\n</inventory_transaction>",
      "options": {
        "raw": {
          "language": "xml"
        }
      }
    },
    "url": {
      "raw": "{{URL}}/receiving_transactions/:id?return_object=limited",
      "host": [
        "{{URL}}"
      ],
      "path": [
        "receiving_transactions",
        ":id"
      ],
      "query": [
        {
          "key": "return_object",
          "value": "limited"
        }
      ],
      "variable": [
        {
          "key": "id",
          "value": "837"
        }
      ]
    }
  },
  "response": [
  ]
}