Closed mikefey closed 7 months ago
Thanks for reporting this issue.
This issue has been resolved in a couple of ways now in the Ruby client library:
Since release 5.2.0 (PR: https://github.com/customerio/customerio-ruby/pull/109 ), if you include the cio_id
in the attributes to the identify
method, it will use that in the Track API call to identify the person. In this case, no prefix is required on the value of cio_id
.
Since release 5.3.0 (PR: https://github.com/customerio/customerio-ruby/pull/111 ), there is a new customer_id
attribute for the identify
method, which allows you to specify whichever identifier you want to identify the person. It can be id
, cio_id
(prefixed with cio_
) or email
.
Please see README.md for some examples.
I'm going to close this issue, since I believe it's. If you have any further problems, please feel free to comment on or re-open this issue.
If there is a workspace that uses both
id
andemail
as identifiers, then thecio_id
must be passed as theid
in order to update the email:This works fine, but then passes the
id
attribute in the request body, which results in the customer'sid
attribute also being updated to"cio_<customerio id>"
. It doesn't seem possible to use the"cio_<customerio id>"
in the customer url and not overwrite theid
attribute for the customer.It seems like whichever attribute key is used here (in this case
:id
) to build thecustomer_path
should not be automatically included in the request body.