Looking to send proactive notifications to customers who had a web messaging session previously. I have the guest ID from the last interaction but the standard Guest API endpoints seem focused on new connections. Is there a way to target existing guests directly via the Web Messaging SDK or a specific REST call? Currently getting a 404 when trying to post to /api/v2/conversations/messaging/contacts with the old ID. Not sure if I need to use the Conversation API instead.
You’re hitting that 404 because messaging contacts are ephemeral. Once the session drops, that ID is gone. You can’t just resurrect a dead contact.
The trick is to look up the guest by their persistent identifier, usually an email or a custom externalId you pushed during the first session. Use the Guest API to find the user, then trigger a new interaction. Don’t try to post to the conversation endpoint directly with an old ID.
Here’s how I handle it in Node using the SDK. First, fetch the guest:
const guestApi = platformClient.guestApi;
const guests = await guestApi.getGuests({
size: 1,
q: `email:${encodeURIComponent(targetEmail)}`
});
if (guests.entities.length) {
const guest = guests.entities[0];
// Now use guest.id to initiate a new proactive message
// via /api/v2/conversations/messaging/contacts
}
Make sure your Architect flow is set up to accept incoming proactive messages. It won’t auto-route without a matching flow.