Data Integration
Mandatory Events
Retail/Ecommerce Apps
25min
the following events are useful for apps selling products or goods as our terminology says, for a retail/e commerce app, the item is your product view item when a user views an item/product properties name type required description item item docid\ xyfflvav fzf01nmc2zn yes the item details that the user view code example const props = { "item" { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } } }; cooeesdk sendevent("view item", props);const props = { 'item' { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' } } }; cooeesdk sendevent("view item", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); map\<string, object> props = new hashmap<>(); props put("item", item); cooeesdk sendevent("view item", props);val props = mapof( "item" to mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ) ) ) cooeesdk sendevent("view item", props)nsdictionary props = @{ @"item" @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" } } }; @try { \[cooeesdk sendeventwitheventname @"view item" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "item" \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ] ] ] do { try cooeesdk sendevent(eventname "view item", eventproperties props) } catch { print("\\(error)") } dart var props = { "item" { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } } }; cooeesdk sendevent("view item", props); add to cart when a user adds an item to the cart properties name type required description items array of cart item docid\ xyfflvav fzf01nmc2zn yes the item details that the user added to the cart with quantity code example const props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" }, "quantity" 2 } ] }; cooeesdk sendevent("add to cart", props);const props = { 'items' \[ { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' }, 'quantity' 2 } ] }; cooeesdk sendevent("add to cart", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); item put("quantity", 2); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); arraylist\<map\<string, object>> items = new arraylist(); items add(item); map\<string, object> props = new hashmap<>(); props put("items", items); cooeesdk sendevent("add to cart", props);val props = mapof( "items" to arrayof( mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ), "quantity" to 2 ) ) ) cooeesdk sendevent("add to cart", props)nsdictionary props = @{ @"items" @\[ @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" }, @"quantity" @2 } ] }; @try { \[cooeesdk sendeventwitheventname @"add to cart" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "items" \[ \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ], "quantity" 2 ] ] ] do { try cooeesdk sendevent(eventname "add to cart", eventproperties props) } catch { print("\\(error)") } dart var props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } "quantity" 2 } ] }; cooeesdk sendevent("add to cart", props); remove from cart when a user removes an item from the cart properties name type required description items array of cart item docid\ xyfflvav fzf01nmc2zn yes the item details that the user removes from the cart with quantity code example const props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" }, "quantity" 2 } ] }; cooeesdk sendevent("remove from cart", props);const props = { 'items' \[ { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' }, 'quantity' 2 } ] }; cooeesdk sendevent("remove from cart", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); item put("quantity", 2); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); arraylist\<map\<string, object>> items = new arraylist(); items add(item); map\<string, object> props = new hashmap<>(); props put("items", items); cooeesdk sendevent("remove from cart", props);val props = mapof( "items" to arrayof( mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ), "quantity" to 2 ) ) ) cooeesdk sendevent("remove from cart", props)nsdictionary props = @{ @"items" @\[ @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" }, @"quantity" @2 } ] }; @try { \[cooeesdk sendeventwitheventname @"remove from cart" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "items" \[ \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ], "quantity" 2 ] ] ] do { try cooeesdk sendevent(eventname "remove from cart", eventproperties props) } catch { print("\\(error)") } dart var props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } "quantity" 2 } ] }; cooeesdk sendevent("remove from cart", props); add to wishlist when a user adds an item to the wishlist properties name type required description item item docid\ xyfflvav fzf01nmc2zn yes the item details that the user added to the wishlist code example const props = { "item" { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } } }; cooeesdk sendevent("add to wishlist", props);const props = { 'item' { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' } } }; cooeesdk sendevent("add to wishlist", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); map\<string, object> props = new hashmap<>(); props put("item", item); cooeesdk sendevent("add to wishlist", props);val props = mapof( "item" to mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ) ) ) cooeesdk sendevent("add to wishlist", props)nsdictionary props = @{ @"item" @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" } } }; @try { \[cooeesdk sendeventwitheventname @"add to wishlist" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "item" \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ] ] ] do { try cooeesdk sendevent(eventname "add to wishlist", eventproperties props) } catch { print("\\(error)") } dart var props = { "item" { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } } }; cooeesdk sendevent("add to wishlist", props); remove from wishlist when a user removes an item from the wishlist properties name type required description item item docid\ xyfflvav fzf01nmc2zn yes the item details that the user removed from the wishlist code example const props = { "item" { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } } }; cooeesdk sendevent("remove from wishlist", props);const props = { 'item' { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' } } }; cooeesdk sendevent("remove from wishlist", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); map\<string, object> props = new hashmap<>(); props put("item", item); cooeesdk sendevent("remove from wishlist", props);val props = mapof( "item" to mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ) ) ) cooeesdk sendevent("remove from wishlist", props)nsdictionary props = @{ @"item" @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" } } }; @try { \[cooeesdk sendeventwitheventname @"remove from wishlist" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "item" \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ] ] ] do { try cooeesdk sendevent(eventname "remove from wishlist", eventproperties props) } catch { print("\\(error)") } dart var props = { "item" { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } } }; cooeesdk sendevent("remove from wishlist", props); begin checkout when a user begins checkout like starts payment properties name type required description items array of cart item docid\ xyfflvav fzf01nmc2zn yes the list of cart items for which the user started the checkout amount amount docid\ xyfflvav fzf01nmc2zn yes amount detail with a final total value and currency coupon coupon docid\ xyfflvav fzf01nmc2zn no any coupon is applied to the final amount code example the following example includes optional properties too const props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" }, "quantity" 2 } ], "amount" { "value" 1134 50, "currency" "usd" }, "coupon" { "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent" } }; cooeesdk sendevent("begin checkout", props);const props = { 'items' \[ { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' }, 'quantity' 2 } ], 'amount' { 'value' 1134 50, 'currency' 'usd' }, 'coupon' { 'id' 'foo 12345', 'code' 'free20', 'amount' 20 0, 'discounttype' 'percent' } }; cooeesdk sendevent("begin checkout", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); item put("quantity", 2); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); map\<string, object> amount = new hashmap<>(); amount put("value", 1134 50); amount put("name", "usd"); map\<string, object> coupon = new hashmap<>(); coupon put("id", "foo 12345"); coupon put("code", "free20"); coupon put("amount", 20 0); coupon put("discounttype", "percent"); arraylist\<map\<string, object>> items = new arraylist(); items add(item); map\<string, object> props = new hashmap<>(); props put("items", items); props put("amount", amount); props put("coupon", coupon); cooeesdk sendevent("begin checkout", props);val props = mapof( "items" to arrayof( mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ), "quantity" to 2 ) ), "amount" to mapof( "value" to 1134 50, "currency" to "usd" ), "coupon" to mapof( "id" to "foo 12345", "code" to "free20", "amount" to 20 0, "discounttype" to "percent" ) ) cooeesdk sendevent("begin checkout", props)nsdictionary props = @{ @"items" @\[ @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" }, @"quantity" @2 } ], @"amount" @{ @"value" @1134 50, @"currency" @"usd" }, @"coupon" @{ @"id" @"foo 12345", @"code" @"free20", @"amount" @20 0, @"discounttype" @"percent" } }; @try { \[cooeesdk sendeventwitheventname @"begin checkout" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "items" \[ \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ], "quantity" 2 ] ], "amount" \[ "value" 1134 50, "currency" "usd" ], "coupon" \[ "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent", ] ] do { try cooeesdk sendevent(eventname "begin checkout", eventproperties props) } catch { print("\\(error)") } dart var props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } "quantity" 2 } ], "amount" { "value" 1134 50, "currency" "usd" }, "coupon" { "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent", } }; cooeesdk sendevent("begin checkout", props); view cart when a user views their cart properties name type required description items array of cart item docid\ xyfflvav fzf01nmc2zn yes the list of cart items which are present in the cart amount amount docid\ xyfflvav fzf01nmc2zn yes amount detail with a final total value and currency coupon coupon docid\ xyfflvav fzf01nmc2zn no any coupon is applied to the final amount code example the following example includes optional properties too const props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" }, "quantity" 2 } ], "amount" { "value" 1134 50, "currency" "usd" }, "coupon" { "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent" } }; cooeesdk sendevent("view cart", props);const props = { 'items' \[ { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' }, 'quantity' 2 } ], 'amount' { 'value' 1134 50, 'currency' 'usd' }, 'coupon' { 'id' 'foo 12345', 'code' 'free20', 'amount' 20 0, 'discounttype' 'percent' } }; cooeesdk sendevent("view cart", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); item put("quantity", 2); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); map\<string, object> amount = new hashmap<>(); amount put("value", 1134 50); amount put("name", "usd"); map\<string, object> coupon = new hashmap<>(); coupon put("id", "foo 12345"); coupon put("code", "free20"); coupon put("amount", 20 0); coupon put("discounttype", "percent"); arraylist\<map\<string, object>> items = new arraylist(); items add(item); map\<string, object> props = new hashmap<>(); props put("items", items); props put("amount", amount); props put("coupon", coupon); cooeesdk sendevent("view cart", props);val props = mapof( "items" to arrayof( mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ), "quantity" to 2 ) ), "amount" to mapof( "value" to 1134 50, "currency" to "usd" ), "coupon" to mapof( "id" to "foo 12345", "code" to "free20", "amount" to 20 0, "discounttype" to "percent" ) ) cooeesdk sendevent("view cart", props)nsdictionary props = @{ @"items" @\[ @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" }, @"quantity" @2 } ], @"amount" @{ @"value" @1134 50, @"currency" @"usd" }, @"coupon" @{ @"id" @"foo 12345", @"code" @"free20", @"amount" @20 0, @"discounttype" @"percent" } }; @try { \[cooeesdk sendeventwitheventname @"view cart" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "items" \[ \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ], "quantity" 2 ] ], "amount" \[ "value" 1134 50, "currency" "usd" ], "coupon" \[ "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent", ] ] do { try cooeesdk sendevent(eventname "view cart", eventproperties props) } catch { print("\\(error)") } dart var props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } "quantity" 2 } ], "amount" { "value" 1134 50, "currency" "usd" }, "coupon" { "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent", } }; cooeesdk sendevent("view cart", props); purchase when a user completes a purchase or places an order properties name type required description items array of cart item docid\ xyfflvav fzf01nmc2zn yes the list of cart items which are present in the cart amount amount docid\ xyfflvav fzf01nmc2zn yes amount detail with a final total value and currency coupon coupon docid\ xyfflvav fzf01nmc2zn no any coupon is applied to the final amount transactionid string yes transactionid of the user purchase baddress address docid\ xyfflvav fzf01nmc2zn yes billing address for the order saddress address docid\ xyfflvav fzf01nmc2zn yes shipping address for the order deliverytype string no type of the delivery like standard, express, on day etc code example the following example includes optional properties too const props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" }, "quantity" 2 } ], "amount" { "value" 1134 50, "currency" "usd" }, "coupon" { "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent" }, "transactionid" "t1234", "baddress" { "l1" "kenner group inc", "l2" "85 bradford lane", "city" "vincentown", "country" "united states of america", "countrycode" "us", "state" "new jersey", "statecode" "nj", "zip" "08120" }, "saddress" { "l1" "kenner group inc", "l2" "85 bradford lane", "city" "vincentown", "country" "united states of america", "countrycode" "us", "state" "new jersey", "statecode" "nj", "zip" "08120" }, "deliverytype" "standard" }; cooeesdk sendevent("purchase", props);const props = { 'items' \[ { 'id' '1234', 'name' 'item name', 'category' { 'id' '1234', "name" 'category name' }, 'quantity' 2 } ], 'amount' { 'value' 1134 50, 'currency' 'usd' }, 'coupon' { 'id' 'foo 12345', 'code' 'free20', 'amount' 20 0, 'discounttype' 'percent' }, 'baddress' { 'l1' 'kenner group inc', 'l2' '85 bradford lane', 'city' 'vincentown', 'country' 'united states of america', 'countrycode' 'us', 'state' 'new jersey', 'statecode' 'nj', 'zip' '08120' }, "saddress" { 'l1' 'kenner group inc', 'l2' '85 bradford lane', 'city' 'vincentown', 'country' 'united states of america', 'countrycode' 'us', 'state' 'new jersey', 'statecode' 'nj', 'zip' '08120' }, 'deliverytype' 'standard' }; cooeesdk sendevent("purchase", props);map\<string, object> item = new hashmap<>(); item put("id", "1234"); item put("name", "item name"); item put("quantity", 2); arraylist\<map\<string, object>> items = new arraylist(); items add(item); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); item put("category", category); map\<string, object> amount = new hashmap<>(); amount put("value", 1134 50); amount put("name", "usd"); map\<string, object> coupon = new hashmap<>(); coupon put("id", "foo 12345"); coupon put("code", "free20"); coupon put("amount", 20 0); coupon put("discounttype", "percent"); map\<string, object> address = new hashmap<>(); address put("l1", "kenner group inc"); address put("l2", "85 bradford lane"); address put("city", "vincentown"); address put("country", "united states of america"); address put("countrycode", "us"); address put("state", "new jersey"); address put("statecode", "nj"); address put("zip", "08120"); map\<string, object> props = new hashmap<>(); props put("items", items); props put("amount", amount); props put("coupon", coupon); props put("transactionid", "t1234"); props put("baddress", address); props put("saddress", address); props put("deliverytype", "standard"); cooeesdk sendevent("purchase", props);val props = mapof( "items" to arrayof( mapof( "id" to "1234", "name" to "item name", "category" to mapof( "id" to "1234", "name" to "category name" ), "quantity" to 2 ) ), "amount" to mapof( "value" to 1134 50, "currency" to "usd" ), "coupon" to mapof( "id" to "foo 12345", "code" to "free20", "amount" to 20 0, "discounttype" to "percent" ), "transactionid" to "t1234", "baddress" to mapof( "l1" to "kenner group inc", "l2" to "85 bradford lane", "city" to "vincentown", "country" to "united states of america", "countrycode" to "us", "state" to "new jersey", "statecode" to "nj", "zip" to "08120" ), "saddress" to mapof( "l1" to "kenner group inc", "l2" to "85 bradford lane", "city" to "vincentown", "country" to "united states of america", "countrycode" to "us", "state" to "new jersey", "statecode" to "nj", "zip" to "08120" ), "deliverytype" to "standard" ) cooeesdk sendevent("purchase", props)nsdictionary props = @{ @"items" @\[ @{ @"id" @"1234", @"name" @"item name", @"category" @{ @"id" @"1234", @"name" @"category name" }, @"quantity" @2 } ], @"amount" @{ @"value" @1134 50, @"currency" @"usd" }, @"coupon" @{ @"id" @"foo 12345", @"code" @"free20", @"amount" @20 0, @"discounttype" @"percent" }, @"transactionid" @"t1234", @"baddress" @{ @"l1" @"kenner group inc", @"l2" @"85 bradford lane", @"city" @"vincentown", @"country" @"united states of america", @"countrycode" @"us", @"state" @"new jersey", @"statecode" @"nj", @"zip" @"08120" }, @"saddress" @{ @"l1" @"kenner group inc", @"l2" @"85 bradford lane", @"city" @"vincentown", @"country" @"united states of america", @"countrycode" @"us", @"state" @"new jersey", @"statecode" @"nj", @"zip" @"08120" }, @"deliverytype" @"standard" }; @try { \[cooeesdk sendeventwitheventname @"purchase" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "items" \[ \[ "id" "1234", "name" "item name", "category" \[ "id" "1234", "name" "category name" ], "quantity" 2 ] ], "amount" \[ "value" 1134 50, "currency" "usd" ], "coupon" \[ "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent", ], "transactionid" "t1234", "baddress" \[ "l1" "kenner group inc", "l2" "85 bradford lane", "city" "vincentown", "country" "united states of america", "countrycode" "us", "state" "new jersey", "statecode" "nj", "zip" "08120" ], "saddress" \[ "l1" "kenner group inc", "l2" "85 bradford lane", "city" "vincentown", "country" "united states of america", "countrycode" "us", "state" "new jersey", "statecode" "nj", "zip" "08120" ], "deliverytype" "standard" ] do { try cooeesdk sendevent(eventname "purchase", eventproperties props) } catch { print("\\(error)") } dart var props = { "items" \[ { "id" "1234", "name" "item name", "category" { "id" "1234", "name" "category name" } "quantity" 2 } ], "amount" { "value" 1134 50, "currency" "usd" }, "coupon" { "id" "foo 12345", "code" "free20", "amount" 20 0, "discounttype" "percent", }, "transactionid" "t1234", "baddress" { "l1" "kenner group inc", "l2" "85 bradford lane", "city" "vincentown", "country" "united states of america", "countrycode" "us", "state" "new jersey", "statecode" "nj", "zip" "08120" }, "saddress" { "l1" "kenner group inc", "l2" '85 bradford lane', "city" "vincentown", "country" "united states of america", "countrycode" "us", "state" "new jersey", "statecode" "nj", "zip" "08120" }, "deliverytype" "standard" }; cooeesdk sendevent("purchase", props); view category when a user selects any kind of category within your app properties name type required description category category docid\ xyfflvav fzf01nmc2zn yes the category that the user selected code example const props = { "category" { "id" "1234", "name" "category name" } }; cooeesdk sendevent("view category", props);const props = { 'category' { 'id' '1234', "name" 'category name' } }; cooeesdk sendevent("view category", props);map\<string, object> props = new hashmap<>(); map\<string, object> category = new hashmap<>(); category put("id", "1234"); category put("name", "category name"); props put("category", category); cooeesdk sendevent("view category", props);val props = mapof( "category" to mapof( "id" to "1234", "name" to "category name" ) ) cooeesdk sendevent("view category", props)nsdictionary props = @{ @"category" @{ @"id" @"1234", @"name" @"category name" } }; @try { \[cooeesdk sendeventwitheventname @"view category" eventproperties\ props error\ nil]; } @catch (nsexception exception) { nslog(@"%@", exception reason); } @finally { nslog(@"finally condition"); }let props = \[ "category" \[ "id" "1234", "name" "category name" ] ] do { try cooeesdk sendevent(eventname "view category", eventproperties props) } catch { print("\\(error)") } dart var props = { "category" { "id" "1234", "name" "category name" } }; cooeesdk sendevent("view category", props);