Hubspot CRM API: how to filter on contacts and show desired properties
I am using the Hubspot Contacts API in PHP and I am trying two things:
Filter on a Hubspot Usertoken
Show desired properties of the result
However I don't know how to filter on a usertoken and adding the properties to show, I get the following error:Cannot deserialize instance ofjava.util.LinkedHashMapout of START_ARRAY token
Here is the necessary code:
$url = 'https://api.hubapi.com/crm/v3/objects/contacts?limit=100&archived=false&hapikey=xxxxxxxxxxxxxxx';
// Create a new cURL resource$ch = curl_init($url);
// Setup request to send json via POST$data = array(
'properties' => array(
'firstname', 'lastname', 'email'
),
'filters' => array(
[
'propertyName' => 'firstname',
'operator'=> 'EQ',
'value'=> 'Mats'
]
)
);
$payload = json_encode($data);
echo$payload;
// Attach encoded JSON string to the POST fields
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
// Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
// Return response instead of outputting
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute the POST request$result = curl_exec($ch);
// Close cURL resource
curl_close($ch);
When I remove the 'properties' from the data, I get the following result (which seems empty, but I know for a fact that there is someone with first name Mats in the database, being me):
However I can still not search on the usertoken that's stored in the cookie.
Is this possible? I want to be able to get the first and last name of the person on our website if they have ever entered it in Hubspot in the past.
In theory this should seem possible as the 'hubspotutk' cookie is probably stored in the Hubspot database when I send in form data. In practice however, I can't seem to get it to work.