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
/id
instead ofemail
. It should match an existing unique record for it to workCheck for multiple records matching
contact
in the API corresponds toLeads
in the web interfaceView raw error messages
curl
request via the terminal / command line (replaceYOUR_INTERCOM_ACCESS_TOKEN
value 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_id
valueid
should be in the URLhttps://app.intercom.com/a/apps/your_app_id/users/LONG_STRING_WHICH_IS_THE_ID/all-conversations
the format should look something like this5fe8c9742114721c54d22754
user_id
should be the "User ID" attribute value