Chilkat Online Tools

C++ / Coupa Postman Collection - OAuth - Master / Create SIM with Primary/RTA/Standard Addresses

Back to Collection Items

#include <CkHttp.h>
#include <CkXml.h>
#include <CkStringBuilder.h>
#include <CkHttpResponse.h>

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

    CkHttp http;
    bool success;

    // 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"?>
    // <supplier-information>
    //     <supplier-id>3537</supplier-id>
    //     <status>approved</status>
    //     <name>SIM load33</name>
    //     <display-name>SIM Display Load33</display-name>
    //     <federal-tax-num>534567891</federal-tax-num>
    //     <duns-number>534567810</duns-number>
    //     <invoice-matching-level>2-way</invoice-matching-level>
    //     <estimated-spend-amount>0.0</estimated-spend-amount>
    //     <user-id>2</user-id>
    //     <po-email>load1sims@test.com</po-email>
    //     <po-method>email</po-method>
    //     <last-exported-at/>
    //     <po-change-method>email</po-change-method>
    //     <content-groups>
    //         <content-group>
    //             <name>CG1</name>
    //         </content-group>
    //         <content-group>
    //             <name>CG2</name>
    //         </content-group>
    //     </content-groups>
    //     <supplier-information-addresses>
    //         <kind>Primary</kind>
    //         <location-code>lcload11</location-code>
    //         <address-name>addname11</address-name>
    //         <street-address>street 1</street-address>
    //         <street-address2>st 2</street-address2>
    //         <postal-code>23415</postal-code>
    //         <city>Reno</city>
    //         <state-region>NV</state-region>
    //         <active>true</active>
    //         <country>
    //             <code>US</code>
    //         </country>
    //     </supplier-information-addresses>
    //     <supplier-information-addresses>
    //         <kind>RTA</kind>
    //         <location-code>rtas1</location-code>
    //         <address-name>IDK1</address-name>
    //         <street-address>1 st bank</street-address>
    //         <street-address2/>
    //         <postal-code>23541</postal-code>
    //         <city>Princeton</city>
    //         <state-region>NJ</state-region>
    //         <active>true</active>
    //         <country>
    //             <code>US</code>
    //         </country>
    //         <bank-address>maybe st 1</bank-address>
    //         <bank-city>Princeton</bank-city>
    //         <bank-state-region>NJ</bank-state-region>
    //         <bank-postal-code>23541</bank-postal-code>
    //         <name-on-bank-account>My Name</name-on-bank-account>
    //         <bank-name>Wells Fargo</bank-name>
    //         <bank-account-number>2345678901</bank-account-number>
    //         <bank-routing-number>234123234</bank-routing-number>
    //         <international-bank-account-number/>
    //         <iban-number/>
    //         <sort-code/>
    //         <swift-code/>
    //         <bic/>
    //     </supplier-information-addresses>
    //     <supplier-information-addresses>
    //         <kind>RTA</kind>
    //         <location-code>2loca234</location-code>
    //         <address-name/>
    //         <street-address>1 test st</street-address>
    //         <street-address2/>
    //         <postal-code>23412</postal-code>
    //         <city>San Mateo</city>
    //         <state-region>CA</state-region>
    //         <active>true</active>
    //         <country>
    //             <code>US</code>
    //         </country>
    //         <bank-address>END Of The rd</bank-address>
    //         <bank-city>San Mateo</bank-city>
    //         <bank-state-region>CA</bank-state-region>
    //         <bank-postal-code>25342</bank-postal-code>
    //         <name-on-bank-account>My Name</name-on-bank-account>
    //         <bank-name>Wells Fargo</bank-name>
    //         <bank-account-number>546755654323</bank-account-number>
    //         <bank-routing-number>100002341</bank-routing-number>
    //         <international-bank-account-number/>
    //         <iban-number/>
    //         <sort-code/>
    //         <swift-code/>
    //         <bic/>
    //     </supplier-information-addresses>
    //     <supplier-information-addresses>
    //         <kind>Standard</kind>
    //         <location-code>stdlcode1</location-code>
    //         <address-name/>
    //         <street-address>1 stnd st</street-address>
    //         <street-address2/>
    //         <postal-code>33231</postal-code>
    //         <city>Chicago</city>
    //         <state-region>IL</state-region>
    //         <active>true</active>
    //         <country>
    //             <code>US</code>
    //         </country>
    //     </supplier-information-addresses>
    //     <supplier-information-contacts>
    //         <supplier-information-contact>
    //             <kind>Primary</kind>
    //             <name-given>fname1</name-given>
    //             <name-family>lastn1</name-family>
    //             <email>test21@rest.com</email>
    //         </supplier-information-contact>
    //     </supplier-information-contacts>
    // </supplier-information>
    // 

    CkXml xml;
    xml.put_Tag("supplier-information");
    xml.UpdateChildContentInt("supplier-id",3537);
    xml.UpdateChildContent("status","approved");
    xml.UpdateChildContent("name","SIM load33");
    xml.UpdateChildContent("display-name","SIM Display Load33");
    xml.UpdateChildContentInt("federal-tax-num",534567891);
    xml.UpdateChildContentInt("duns-number",534567810);
    xml.UpdateChildContent("invoice-matching-level","2-way");
    xml.UpdateChildContent("estimated-spend-amount","0.0");
    xml.UpdateChildContentInt("user-id",2);
    xml.UpdateChildContent("po-email","load1sims@test.com");
    xml.UpdateChildContent("po-method","email");
    xml.UpdateChildContent("last-exported-at","");
    xml.UpdateChildContent("po-change-method","email");
    xml.UpdateChildContent("content-groups|content-group|name","CG1");
    xml.UpdateChildContent("content-groups|content-group[1]|name","CG2");
    xml.UpdateChildContent("supplier-information-addresses|kind","Primary");
    xml.UpdateChildContent("supplier-information-addresses|location-code","lcload11");
    xml.UpdateChildContent("supplier-information-addresses|address-name","addname11");
    xml.UpdateChildContent("supplier-information-addresses|street-address","street 1");
    xml.UpdateChildContent("supplier-information-addresses|street-address2","st 2");
    xml.UpdateChildContentInt("supplier-information-addresses|postal-code",23415);
    xml.UpdateChildContent("supplier-information-addresses|city","Reno");
    xml.UpdateChildContent("supplier-information-addresses|state-region","NV");
    xml.UpdateChildContent("supplier-information-addresses|active","true");
    xml.UpdateChildContent("supplier-information-addresses|country|code","US");
    xml.UpdateChildContent("supplier-information-addresses[1]|kind","RTA");
    xml.UpdateChildContent("supplier-information-addresses[1]|location-code","rtas1");
    xml.UpdateChildContent("supplier-information-addresses[1]|address-name","IDK1");
    xml.UpdateChildContent("supplier-information-addresses[1]|street-address","1 st bank");
    xml.UpdateChildContent("supplier-information-addresses[1]|street-address2","");
    xml.UpdateChildContentInt("supplier-information-addresses[1]|postal-code",23541);
    xml.UpdateChildContent("supplier-information-addresses[1]|city","Princeton");
    xml.UpdateChildContent("supplier-information-addresses[1]|state-region","NJ");
    xml.UpdateChildContent("supplier-information-addresses[1]|active","true");
    xml.UpdateChildContent("supplier-information-addresses[1]|country|code","US");
    xml.UpdateChildContent("supplier-information-addresses[1]|bank-address","maybe st 1");
    xml.UpdateChildContent("supplier-information-addresses[1]|bank-city","Princeton");
    xml.UpdateChildContent("supplier-information-addresses[1]|bank-state-region","NJ");
    xml.UpdateChildContentInt("supplier-information-addresses[1]|bank-postal-code",23541);
    xml.UpdateChildContent("supplier-information-addresses[1]|name-on-bank-account","My Name");
    xml.UpdateChildContent("supplier-information-addresses[1]|bank-name","Wells Fargo");
    xml.UpdateChildContent("supplier-information-addresses[1]|bank-account-number","2345678901");
    xml.UpdateChildContentInt("supplier-information-addresses[1]|bank-routing-number",234123234);
    xml.UpdateChildContent("supplier-information-addresses[1]|international-bank-account-number","");
    xml.UpdateChildContent("supplier-information-addresses[1]|iban-number","");
    xml.UpdateChildContent("supplier-information-addresses[1]|sort-code","");
    xml.UpdateChildContent("supplier-information-addresses[1]|swift-code","");
    xml.UpdateChildContent("supplier-information-addresses[1]|bic","");
    xml.UpdateChildContent("supplier-information-addresses[2]|kind","RTA");
    xml.UpdateChildContent("supplier-information-addresses[2]|location-code","2loca234");
    xml.UpdateChildContent("supplier-information-addresses[2]|address-name","");
    xml.UpdateChildContent("supplier-information-addresses[2]|street-address","1 test st");
    xml.UpdateChildContent("supplier-information-addresses[2]|street-address2","");
    xml.UpdateChildContentInt("supplier-information-addresses[2]|postal-code",23412);
    xml.UpdateChildContent("supplier-information-addresses[2]|city","San Mateo");
    xml.UpdateChildContent("supplier-information-addresses[2]|state-region","CA");
    xml.UpdateChildContent("supplier-information-addresses[2]|active","true");
    xml.UpdateChildContent("supplier-information-addresses[2]|country|code","US");
    xml.UpdateChildContent("supplier-information-addresses[2]|bank-address","END Of The rd");
    xml.UpdateChildContent("supplier-information-addresses[2]|bank-city","San Mateo");
    xml.UpdateChildContent("supplier-information-addresses[2]|bank-state-region","CA");
    xml.UpdateChildContentInt("supplier-information-addresses[2]|bank-postal-code",25342);
    xml.UpdateChildContent("supplier-information-addresses[2]|name-on-bank-account","My Name");
    xml.UpdateChildContent("supplier-information-addresses[2]|bank-name","Wells Fargo");
    xml.UpdateChildContent("supplier-information-addresses[2]|bank-account-number","546755654323");
    xml.UpdateChildContentInt("supplier-information-addresses[2]|bank-routing-number",100002341);
    xml.UpdateChildContent("supplier-information-addresses[2]|international-bank-account-number","");
    xml.UpdateChildContent("supplier-information-addresses[2]|iban-number","");
    xml.UpdateChildContent("supplier-information-addresses[2]|sort-code","");
    xml.UpdateChildContent("supplier-information-addresses[2]|swift-code","");
    xml.UpdateChildContent("supplier-information-addresses[2]|bic","");
    xml.UpdateChildContent("supplier-information-addresses[3]|kind","Standard");
    xml.UpdateChildContent("supplier-information-addresses[3]|location-code","stdlcode1");
    xml.UpdateChildContent("supplier-information-addresses[3]|address-name","");
    xml.UpdateChildContent("supplier-information-addresses[3]|street-address","1 stnd st");
    xml.UpdateChildContent("supplier-information-addresses[3]|street-address2","");
    xml.UpdateChildContentInt("supplier-information-addresses[3]|postal-code",33231);
    xml.UpdateChildContent("supplier-information-addresses[3]|city","Chicago");
    xml.UpdateChildContent("supplier-information-addresses[3]|state-region","IL");
    xml.UpdateChildContent("supplier-information-addresses[3]|active","true");
    xml.UpdateChildContent("supplier-information-addresses[3]|country|code","US");
    xml.UpdateChildContent("supplier-information-contacts|supplier-information-contact|kind","Primary");
    xml.UpdateChildContent("supplier-information-contacts|supplier-information-contact|name-given","fname1");
    xml.UpdateChildContent("supplier-information-contacts|supplier-information-contact|name-family","lastn1");
    xml.UpdateChildContent("supplier-information-contacts|supplier-information-contact|email","test21@rest.com");

    // Adds the "Authorization: Bearer <access_token>" header.
    http.put_AuthToken("<access_token>");

    CkStringBuilder sbRequestBody;
    xml.GetXmlSb(sbRequestBody);

    CkHttpResponse *resp = http.PTextSb("POST","[\"id\",\"supplier_information_id\",\"kind\",\"name_given\",\"name_family\",\"email\"]}]",sbRequestBody,"utf-8","application/xml",false,false);
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << resp->get_StatusCode() << "\r\n";
    std::cout << resp->bodyStr() << "\r\n";
    delete resp;
    }

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-d '<?xml version="1.0" encoding="UTF-8"?>
<supplier-information>
    <supplier-id>3537</supplier-id>
    <status>approved</status>
    <name>SIM load33</name>
    <display-name>SIM Display Load33</display-name>
    <federal-tax-num>534567891</federal-tax-num>
    <duns-number>534567810</duns-number>
    <invoice-matching-level>2-way</invoice-matching-level>
    <estimated-spend-amount>0.0</estimated-spend-amount>
    <user-id>2</user-id>
    <po-email>load1sims@test.com</po-email>
    <po-method>email</po-method>
    <last-exported-at />
    <po-change-method>email</po-change-method>
    <content-groups>
        <content-group>
            <name>CG1</name>
        </content-group>
        <content-group>
            <name>CG2</name>
        </content-group>
    </content-groups>
    <supplier-information-addresses>
        <kind>Primary</kind>
        <location-code>lcload11</location-code>
        <address-name>addname11</address-name>
        <street-address>street 1</street-address>
        <street-address2>st 2</street-address2>
        <postal-code>23415</postal-code>
        <city>Reno</city>
        <state-region>NV</state-region>
        <active>true</active>
        <country>
            <code>US</code>
        </country>
    </supplier-information-addresses>
    <supplier-information-addresses>
        <kind>RTA</kind>
        <location-code>rtas1</location-code>
        <address-name>IDK1</address-name>
        <street-address>1 st bank</street-address>
        <street-address2 />
        <postal-code>23541</postal-code>
        <city>Princeton</city>
        <state-region>NJ</state-region>
        <active>true</active>
        <country>
            <code>US</code>
        </country>
        <bank-address>maybe st 1</bank-address>
        <bank-city>Princeton</bank-city>
        <bank-state-region>NJ</bank-state-region>
        <bank-postal-code>23541</bank-postal-code>
        <name-on-bank-account>My Name</name-on-bank-account>
        <bank-name>Wells Fargo</bank-name>
        <bank-account-number>2345678901</bank-account-number>
        <bank-routing-number>234123234</bank-routing-number>
        <international-bank-account-number />
        <iban-number />
        <sort-code />
        <swift-code />
        <bic />
    </supplier-information-addresses>
    <supplier-information-addresses>
        <kind>RTA</kind>
        <location-code>2loca234</location-code>
        <address-name />
        <street-address>1 test st</street-address>
        <street-address2 />
        <postal-code>23412</postal-code>
        <city>San Mateo</city>
        <state-region>CA</state-region>
        <active>true</active>
        <country>
            <code>US</code>
        </country>
        <bank-address>END Of The rd</bank-address>
        <bank-city>San Mateo</bank-city>
        <bank-state-region>CA</bank-state-region>
        <bank-postal-code>25342</bank-postal-code>
        <name-on-bank-account>My Name</name-on-bank-account>
        <bank-name>Wells Fargo</bank-name>
        <bank-account-number>546755654323</bank-account-number>
        <bank-routing-number>100002341</bank-routing-number>
        <international-bank-account-number />
        <iban-number />
        <sort-code />
        <swift-code />
        <bic />
    </supplier-information-addresses>
    <supplier-information-addresses>
        <kind>Standard</kind>
        <location-code>stdlcode1</location-code>
        <address-name />
        <street-address>1 stnd st</street-address>
        <street-address2 />
        <postal-code>33231</postal-code>
        <city>Chicago</city>
        <state-region>IL</state-region>
        <active>true</active>
        <country>
            <code>US</code>
        </country>
    </supplier-information-addresses>
    <supplier-information-contacts>
        <supplier-information-contact>
            <kind>Primary</kind>
            <name-given>fname1</name-given>
            <name-family>lastn1</name-family>
            <email>test21@rest.com</email>
        </supplier-information-contact>
    </supplier-information-contacts>
</supplier-information>'
https://domain.com/supplier_information?fields=["id","status","lasy_exported_at","name","display_name","supplier_id","supplier_number","federal_tax_num","duns_number","user_id","po_email",{"custom_fields": {}},{"created_by": ["id","login","email"]},{"updated_by": ["id","login","email"]},{"supplier_information_addresses": ["id","kind","location_code","address_name","street_address","street_address2","city","postal_code","state",{"country": ["id","code","name"]},{"custom_fields": {}}]},{"supplier_information_contacts": ["id","supplier_information_id","kind","name_given","name_family","email"]}]

Postman Collection Item JSON

{
  "name": "Create SIM with Primary/RTA/Standard Addresses",
  "request": {
    "method": "POST",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<supplier-information>\n    <supplier-id>3537</supplier-id>\n    <status>approved</status>\n    <name>SIM load33</name>\n    <display-name>SIM Display Load33</display-name>\n    <federal-tax-num>534567891</federal-tax-num>\n    <duns-number>534567810</duns-number>\n    <invoice-matching-level>2-way</invoice-matching-level>\n    <estimated-spend-amount>0.0</estimated-spend-amount>\n    <user-id>2</user-id>\n    <po-email>load1sims@test.com</po-email>\n    <po-method>email</po-method>\n    <last-exported-at />\n    <po-change-method>email</po-change-method>\n    <content-groups>\n        <content-group>\n            <name>CG1</name>\n        </content-group>\n        <content-group>\n            <name>CG2</name>\n        </content-group>\n    </content-groups>\n    <supplier-information-addresses>\n        <kind>Primary</kind>\n        <location-code>lcload11</location-code>\n        <address-name>addname11</address-name>\n        <street-address>street 1</street-address>\n        <street-address2>st 2</street-address2>\n        <postal-code>23415</postal-code>\n        <city>Reno</city>\n        <state-region>NV</state-region>\n        <active>true</active>\n        <country>\n            <code>US</code>\n        </country>\n    </supplier-information-addresses>\n    <supplier-information-addresses>\n        <kind>RTA</kind>\n        <location-code>rtas1</location-code>\n        <address-name>IDK1</address-name>\n        <street-address>1 st bank</street-address>\n        <street-address2 />\n        <postal-code>23541</postal-code>\n        <city>Princeton</city>\n        <state-region>NJ</state-region>\n        <active>true</active>\n        <country>\n            <code>US</code>\n        </country>\n        <bank-address>maybe st 1</bank-address>\n        <bank-city>Princeton</bank-city>\n        <bank-state-region>NJ</bank-state-region>\n        <bank-postal-code>23541</bank-postal-code>\n        <name-on-bank-account>My Name</name-on-bank-account>\n        <bank-name>Wells Fargo</bank-name>\n        <bank-account-number>2345678901</bank-account-number>\n        <bank-routing-number>234123234</bank-routing-number>\n        <international-bank-account-number />\n        <iban-number />\n        <sort-code />\n        <swift-code />\n        <bic />\n    </supplier-information-addresses>\n    <supplier-information-addresses>\n        <kind>RTA</kind>\n        <location-code>2loca234</location-code>\n        <address-name />\n        <street-address>1 test st</street-address>\n        <street-address2 />\n        <postal-code>23412</postal-code>\n        <city>San Mateo</city>\n        <state-region>CA</state-region>\n        <active>true</active>\n        <country>\n            <code>US</code>\n        </country>\n        <bank-address>END Of The rd</bank-address>\n        <bank-city>San Mateo</bank-city>\n        <bank-state-region>CA</bank-state-region>\n        <bank-postal-code>25342</bank-postal-code>\n        <name-on-bank-account>My Name</name-on-bank-account>\n        <bank-name>Wells Fargo</bank-name>\n        <bank-account-number>546755654323</bank-account-number>\n        <bank-routing-number>100002341</bank-routing-number>\n        <international-bank-account-number />\n        <iban-number />\n        <sort-code />\n        <swift-code />\n        <bic />\n    </supplier-information-addresses>\n    <supplier-information-addresses>\n        <kind>Standard</kind>\n        <location-code>stdlcode1</location-code>\n        <address-name />\n        <street-address>1 stnd st</street-address>\n        <street-address2 />\n        <postal-code>33231</postal-code>\n        <city>Chicago</city>\n        <state-region>IL</state-region>\n        <active>true</active>\n        <country>\n            <code>US</code>\n        </country>\n    </supplier-information-addresses>\n    <supplier-information-contacts>\n        <supplier-information-contact>\n            <kind>Primary</kind>\n            <name-given>fname1</name-given>\n            <name-family>lastn1</name-family>\n            <email>test21@rest.com</email>\n        </supplier-information-contact>\n    </supplier-information-contacts>\n</supplier-information>",
      "options": {
        "raw": {
          "language": "xml"
        }
      }
    },
    "url": {
      "raw": "{{URL}}/supplier_information?fields=[\"id\",\"status\",\"lasy_exported_at\",\"name\",\"display_name\",\"supplier_id\",\"supplier_number\",\"federal_tax_num\",\"duns_number\",\"user_id\",\"po_email\",{\"custom_fields\": {}},{\"created_by\": [\"id\",\"login\",\"email\"]},{\"updated_by\": [\"id\",\"login\",\"email\"]},{\"supplier_information_addresses\": [\"id\",\"kind\",\"location_code\",\"address_name\",\"street_address\",\"street_address2\",\"city\",\"postal_code\",\"state\",{\"country\": [\"id\",\"code\",\"name\"]},{\"custom_fields\": {}}]},{\"supplier_information_contacts\": [\"id\",\"supplier_information_id\",\"kind\",\"name_given\",\"name_family\",\"email\"]}]",
      "host": [
        "{{URL}}"
      ],
      "path": [
        "supplier_information"
      ],
      "query": [
        {
          "key": "fields",
          "value": "[\"id\",\"status\",\"lasy_exported_at\",\"name\",\"display_name\",\"supplier_id\",\"supplier_number\",\"federal_tax_num\",\"duns_number\",\"user_id\",\"po_email\",{\"custom_fields\": {}},{\"created_by\": [\"id\",\"login\",\"email\"]},{\"updated_by\": [\"id\",\"login\",\"email\"]},{\"supplier_information_addresses\": [\"id\",\"kind\",\"location_code\",\"address_name\",\"street_address\",\"street_address2\",\"city\",\"postal_code\",\"state\",{\"country\": [\"id\",\"code\",\"name\"]},{\"custom_fields\": {}}]},{\"supplier_information_contacts\": [\"id\",\"supplier_information_id\",\"kind\",\"name_given\",\"name_family\",\"email\"]}]"
        }
      ]
    }
  },
  "response": [
  ]
}