intercom-php version: 4.2
Intercom API version: 1.4
PHP version: 7.3
Expected behavior: I am trying (as per the documentation here: https://developers.intercom.com/intercom-api-reference/v1.4/reference#user-or-contact-initiated-conversation) to initiate a conversation using an email address, like so:
$response = $client->messages->create([
'message_type' => 'inapp',
'body' => 'Hello....',
'from' => [
'type' => 'contact',
'email' => '[email protected]',
]
]);
I am expecting this to create the conversation, as the documentation states:
"The sending user or lead is identified by their user_id, email or id values in the from field, along with a type field value of user or contact."
Actual behavior: This returns a 400 bad request response, if 'email' is used in the from field.
Logs: PHP Fatal error: Uncaught Http\Client\Common\Exception\ClientErrorException: Bad Request in .../php-http/client-common/src/Plugin/ErrorPlugin.php:7
I believe this is happening due to
If multiple records match, you will need to use
user_id/idinstead ofemail. It should match an existing unique record for it to workCheck for multiple records matching
contactin the API corresponds toLeadsin the web interfaceView raw error messages
curlrequest via the terminal / command line (replaceYOUR_INTERCOM_ACCESS_TOKENvalue with your value) (raw request can be copied from the docs https://developers.intercom.com/intercom-api-reference/v1.4/reference#user-or-contact-initiated-conversation )Finding
id/user_idvalueidshould be in the URLhttps://app.intercom.com/a/apps/your_app_id/users/LONG_STRING_WHICH_IS_THE_ID/all-conversationsthe format should look something like this5fe8c9742114721c54d22754user_idshould be the "User ID" attribute value