Sample code for 30+ languages & platforms
C#

Square API - List Catalog

See more Square Examples

Returns a list of CatalogObjects that includes all objects of a set of desired types (for example, all CatalogItem and CatalogTax objects) in the catalog.

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

// Implements the following CURL command:

// curl https://connect.squareup.com/v2/catalog/list?types=category%2Ctax \
//   -H 'Square-Version: 2020-07-22' \
//   -H 'Authorization: Bearer ACCESS_TOKEN' \
//   -H 'Content-Type: application/json'

// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code

// Adds the "Authorization: Bearer ACCESS_TOKEN" header.
http.AuthToken = "ACCESS_TOKEN";
http.SetRequestHeader("Square-Version","2020-07-22");
http.SetRequestHeader("Content-Type","application/json");

// This example uses the sandbox: connect.squareupsandbox.com
// Production should use connect.squareup.com
Chilkat.StringBuilder sbResponseBody = new Chilkat.StringBuilder();
success = http.QuickGetSb("https://connect.squareupsandbox.com/v2/catalog/list?types=item,category,tax,image",sbResponseBody);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Chilkat.JsonObject jResp = new Chilkat.JsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

Debug.WriteLine("Response Body:");
Debug.WriteLine(jResp.Emit());

int respStatusCode = http.LastStatus;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode >= 400) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(http.LastHeader);
    Debug.WriteLine("Failed.");
    return;
}

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

// {
//   "objects": [
//     {
//       "type": "CATEGORY",
//       "id": "5ZYQZZ2IECPVJ2IJ5KQPRDC3",
//       "updated_at": "2017-02-21T14:50:26.495Z",
//       "version": 1487688626495,
//       "is_deleted": false,
//       "present_at_all_locations": true,
//       "category_data": {
//         "name": "Beverages"
//       }
//     },
//     {
//       "type": "TAX",
//       "id": "L5R47DGBZOOVKCAFIXC56AEN",
//       "updated_at": "2017-02-21T14:50:26.495Z",
//       "version": 1487688626495,
//       "is_deleted": false,
//       "present_at_all_locations": true,
//       "tax_data": {
//         "name": "Sales Tax",
//         "calculation_phase": "TAX_SUBTOTAL_PHASE",
//         "inclusion_type": "ADDITIVE",
//         "percentage": "5.0",
//         "enabled": true
//       }
//     }
//   ]
// }

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

string v_type;
string id;
string updated_at;
int version;
bool is_deleted;
bool present_at_all_locations;
string category_dataName;
string tax_dataName;
string tax_dataCalculation_phase;
string tax_dataInclusion_type;
string tax_dataPercentage;
bool tax_dataEnabled;

int i = 0;
int count_i = jResp.SizeOfArray("objects");
while (i < count_i) {
    jResp.I = i;
    v_type = jResp.StringOf("objects[i].type");
    id = jResp.StringOf("objects[i].id");
    updated_at = jResp.StringOf("objects[i].updated_at");
    version = jResp.IntOf("objects[i].version");
    is_deleted = jResp.BoolOf("objects[i].is_deleted");
    present_at_all_locations = jResp.BoolOf("objects[i].present_at_all_locations");
    category_dataName = jResp.StringOf("objects[i].category_data.name");
    tax_dataName = jResp.StringOf("objects[i].tax_data.name");
    tax_dataCalculation_phase = jResp.StringOf("objects[i].tax_data.calculation_phase");
    tax_dataInclusion_type = jResp.StringOf("objects[i].tax_data.inclusion_type");
    tax_dataPercentage = jResp.StringOf("objects[i].tax_data.percentage");
    tax_dataEnabled = jResp.BoolOf("objects[i].tax_data.enabled");
    i = i + 1;
}