Skip to main content

Support Tickets

5 API calls in this section.

Create Support Ticket (Customer Portal)

Customer Portal / Delivery Management / Support Tickets
POST/customer/support/tickets

Creates a customer-portal support ticket and its chat conversation. source defaults to customer_portal. Pass related_delivery_id to link a delivery (optional). A 409 is returned if an open ticket already exists for the same delivery.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request POST "$ONDI_BASE_URL/customer/support/tickets" \2  --header "Authorization: Bearer {{access_token}}" \3  --header "Content-Type: application/json" \4  --header "Content-Type: application/json" \5  --data '{6  "subject": "Delivery delayed",7  "priority": "medium",8  "source": "customer_portal",9  "related_delivery_id": "uuid",10  "message": "My delivery is delayed, please help"11}'
Request body
json
1{2  "subject": "Delivery delayed",3  "priority": "medium",4  "source": "customer_portal",5  "related_delivery_id": "uuid",6  "message": "My delivery is delayed, please help"7}

Request body fields

subjectExample
string

Example field from the request body.

priorityExample
string

Example field from the request body.

sourceExample
string

Example field from the request body.

related_delivery_idExample
string

Example field from the request body.

messageExample
string

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

No response example is available for this endpoint yet.

Create Support Ticket (Storefront / Market)

Customer Portal / Delivery Management / Support Tickets
POST/customer/support/tickets

Creates a storefront-originated support ticket. source MUST be storefront and related_order_id is required. The order is verified to belong to the authenticated buyer and to the same tenant before the ticket is created. The conversation title and first message include the order number.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request POST "$ONDI_BASE_URL/customer/support/tickets" \2  --header "Authorization: Bearer {{access_token}}" \3  --header "Content-Type: application/json" \4  --header "Content-Type: application/json" \5  --data '{6  "subject": "Wrong item received",7  "priority": "high",8  "source": "storefront",9  "related_order_id": "uuid",10  "message": "My order had the wrong product, please help."11}'
Request body
json
1{2  "subject": "Wrong item received",3  "priority": "high",4  "source": "storefront",5  "related_order_id": "uuid",6  "message": "My order had the wrong product, please help."7}

Request body fields

subjectExample
string

Example field from the request body.

priorityExample
string

Example field from the request body.

sourceExample
string

Example field from the request body.

related_order_idExample
string

Example field from the request body.

messageExample
string

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

409 - Ticket already open for order409Conflict
Response body
json
1{2  "success": false,3  "message": "A support ticket is already open for this item",4  "error": "support_ticket_already_open_for_related",5  "data": {6    "existing_ticket_id": "ticket-uuid",7    "existing_conversation_id": "conversation-uuid"8  }9}

List Support Tickets

Customer Portal / Delivery Management / Support Tickets
GET/customer/support/tickets?page=1&limit=20

Lists the authenticated user's tickets with conversation summary. Use source to scope a portal-specific view (e.g. only storefront-order tickets).

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/customer/support/tickets?page=1&limit=20" \2  --header "Authorization: Bearer {{access_token}}"

Query parameters

pageOptional
query string

1

Page number (>=1)

limitOptional
query string

20

Items per page (1-50)

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.

Get Support Ticket

Customer Portal / Delivery Management / Support Tickets
GET/customer/support/tickets/:id

Gets a single ticket (customer-scoped) with conversation summary, assigned_to_user, linked delivery (when source=customer_portal) or order (when source=storefront).

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/customer/support/tickets/:id" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

idRequired
path string

uuid

Support ticket ID

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.

Close Ticket

Customer Portal / Delivery Management / Support Tickets
POST/customer/support/tickets/:id/close

Closes the support ticket (only if allow_customer_close is enabled in portal settings).

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request POST "$ONDI_BASE_URL/customer/support/tickets/:id/close" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

idRequired
path string

uuid

Support ticket ID

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.