The docs say that the data privacy API can be used like this:
#Request profile deletion by email
$client->dataprivacy->requestProfileDeletion('someone@mailinator.com');
#Request profile deletion by phone number
$client->dataprivacy->requestProfileDeletion('1-234-567-8910', 'phone_number');
#Request profile deletion by person ID
$client->dataprivacy->requestProfileDeletion('abc123', 'person_id');
However, this leads to inconsistent behavior on different systems depending upon whether PHP is running on a case-sensitive filesystem. If the filesystem is case sensitive, using the above examples will yield this error:
Klaviyo\Exception\KlaviyoException: Sorry, dataprivacy is not a valid Klaviyo API. in Klaviyo\Klaviyo->__get() (line 72 of /code/vendor/klaviyo/php-sdk/src/Klaviyo.php).
The following seems more reliable:
#Request profile deletion by email
$client->dataPrivacy->requestProfileDeletion('someone@mailinator.com');
#Request profile deletion by phone number
$client->dataPrivacy->requestProfileDeletion('1-234-567-8910', 'phone_number');
#Request profile deletion by person ID
$client->dataPrivacy->requestProfileDeletion('abc123', 'person_id');
It looks like this has to do with the way that the pseudo-fields are transformed into class names using ucwords, which only affects the first letter of the class name; meanwhile, the name of the actual API class is DataPrivacy so the name going in needs to be lower-camel for the file to be found by the auto-loader.
The docs say that the data privacy API can be used like this:
However, this leads to inconsistent behavior on different systems depending upon whether PHP is running on a case-sensitive filesystem. If the filesystem is case sensitive, using the above examples will yield this error:
The following seems more reliable:
It looks like this has to do with the way that the pseudo-fields are transformed into class names using
ucwords
, which only affects the first letter of the class name; meanwhile, the name of the actual API class isDataPrivacy
so the name going in needs to be lower-camel for the file to be found by the auto-loader.