When I create a new ticket in the ZD backend and send from agent/admin to user, it works fine. The ticket appears to come from the agent/admin & goes to the user who receives it in their inbox showing the original message with the agent/admin avatar, etc.
However, when I try to mimic this using a json request, it doesn't work. When the ticket is created, it appears in the ZD backend as though it was originally sent from the USER rather than agent/admin.
The user receives the ticket in their email inbox and it looks like it comes from themself rather than admin (i.e. their avatar appears next to the message, not the zendesk agent/admin avatar).
The json I'm using looks like this (although I've tried LOADS of variations, none appear to work:
$json_array = [
'ticket' => [
'subject' => $subject,
'status' => 'solved',
'comment' => [
'html_body' => $body
'requester' => [
'name' => $user_name,
'email' => $user_email
How can I sort this so that it appears the message comes from the agent/admin and goes to the user?