Got a 403 Forbidden on POST /api/v2/conversations/messaging/guests/{guestId}/messages. The goal is to send a proactive nudge to a user who chatted yesterday. The docs say:
“Send a message on behalf of a guest. The guest must have an active session.”
But the session is closed. Or maybe it’s just ‘closed’ in the UI but still valid for the API? My C# code looks solid. Using the .NET SDK v13.
var message = new MessageSendRequest
{
Text = new List<string> { "Hey, did you need help with that order?" },
To = new List<ToAddress>
{
new ToAddress { Type = "guest", Address = guestId }
}
};
try
{
var result = await _conversationsApi.PostConversationsMessagingGuestsMessagesAsync(guestId, message);
}
catch (ApiException ex)
{
Console.WriteLine(ex.ErrorCode); // 403
Console.WriteLine(ex.ErrorMessage); // "Guest not found or session expired"
}
The Guest ID is definitely correct. Pulled it from the analytics report. If the session is closed, is there a different endpoint? Or do I need to reopen it first? The docs don’t mention a ‘reopen’ method. Just says ‘active session’.
Feeling stuck. The 403 is pretty vague. Doesn’t tell me if it’s an auth issue or a session state issue. My OAuth token is fresh. Scopes include messaging:guest.