Zendesk Controller

Create a Zendesk ticket

Creates a ticket: requester = order customerEmail; notification From = countries.supportMail for order country. If that address is not yet in Zendesk, it is created as a support address (requires API permissions), then the ticket is opened. Assignee (and submitter / first comment author) is resolved from the user zendeskAgentEmail or the default agent. Optional customStatusId sets the initial custom ticket status (from GET /zendesk/tickets/statuses).

post/zendesk/tickets

Request body

orderIdnumber required

Internal order id; requester = order customerEmail; From/recipient = countries.supportMail for order country (Zendesk support address, auto-created in Zendesk if missing)

subjectstring required

Ticket subject line

bodystring required

The content of the initial message as HTML code

isPublicboolean

If true, the initial comment is public; if false, internal note only

assigneeIdstring

Zendesk agent user id to assign immediately (from GET /zendesk/agents)

groupIdstring

Zendesk group id (often used with assignee)

tagsstring[]

Ticket tags

priority'low' | 'normal' | 'high' | 'urgent'

Zendesk ticket priority

customStatusIdstring

The numeric ID of the custom ticket status from GET /zendesk/tickets/statuses

Example request

{
  "orderId": 4521,
  "subject": "Payment issue — order #4521",
  "body": "<p>Customer reports duplicate charge on card ending 4242.</p>",
  "isPublic": true,
  "assigneeId": "123456789",
  "groupId": "123456789",
  "tags": [
    "land-registry",
    "payment"
  ],
  "priority": "normal",
  "customStatusId": "32664110523537"
}

Response

Ticket created successfully

Changes

No recorded changes to this endpoint across all 1 revision of this API.