customerio / customerio-node

A node.js client for the Customer.io REST API.
https://customer.io/docs/api/
MIT License
53 stars 35 forks source link

Add support for interacting with Customer.io objects #140

Open thomaspaten opened 1 year ago

thomaspaten commented 1 year ago

Hi there! I'm a user of the customer.io-node library and I've been really impressed with how easy it is to send targeted emails and messages to my customers. However, I've noticed that the library doesn't currently support interacting with Customer.io's objects feature, which was recently added to the platform (https://customer.io/docs/objects/#).

I believe that adding support for objects would be a valuable addition to the customer.io-node library because it would allow users to take advantage of this powerful new feature. By using objects, we can associate data with our customers and create more personalized messaging experiences based on their attributes.

Specifically, I'd like to request that the customer.io-node library add methods for creating, updating, and deleting objects. Ideally, these methods would be easy to use and would integrate seamlessly with the existing functionality of the library.

I think that adding support for objects would make customer.io-node an even more valuable tool for marketers and businesses looking to connect with their customers in more meaningful ways.

Thanks for considering my request!

mike-engel commented 1 year ago

Thanks for your patience @thomaspaten! Right now the team is busy adding improvements and developing features for objects, and won't have time immediately to add the objects APIs to our libraries. It's on the list, however, but I can't give a definite timeline.

If you really need the object apis, we're more than happy to review PRs!

rebelchris commented 1 month ago

I'd also like to see support for this.

Already using this format:

await cio.identify('customer@example.com', {
  email: 'customer@example.com',
    cio_relationships: {
        action: "add_relationships",
        relationships: [
            {
                identifiers: {
                    object_type_id: "4",
                    object_id: "acme"
                }
            }
        ]
    }
  });

Which let's me link a person with a object, what I would really like it to simply pass attributes that belong to the object. (not to the relationship)

Is there something I'm overlooking as I don't see a clear way to update object attributes now.