Skip to main content

Create Support Request (Customer)

Creates a new support ticket for customer assistance.

Request Body

customerId
string (uuid)
required
Customer identifier
category
string
required
Support request category (e.g., “Order”, “Product”, “Account”, “Technical”)
subject
string
required
Brief subject/title of the issue
description
string
required
Detailed description of the issue or question
orderId
string (uuid)
Related order ID (if applicable)

Response Codes

  • 204 No Content - Support request created successfully
  • 400 Bad Request - Invalid request data
  • 404 Not Found - Customer not found

Examples

curl -X POST "https://your-server.com/api/support-requests" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "customer-uuid",
    "category": "Order",
    "subject": "Order not received",
    "description": "I ordered product #12345 two weeks ago but have not received it yet. The tracking shows it was delivered but I never received the package.",
    "orderId": "order-uuid"
  }'

Get Customer Support Requests (Customer)

Retrieves all support requests for a customer.

Path Parameters

customerId
string (uuid)
required
Customer identifier (must match authenticated user)

Query Parameters

category
string
Filter by category (optional)

Response

supportRequests
array
Array of support request objects

Response Codes

  • 200 OK - Support requests retrieved
  • 400 Bad Request - Invalid category filter
  • 404 Not Found - Customer not found

Examples

# Get all support requests
curl -X GET "https://your-server.com/api/support-requests/customer-uuid" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

# Filter by category
curl -X GET "https://your-server.com/api/support-requests/customer-uuid?category=Order" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Success Response

[
  {
    "id": "support-request-uuid-1",
    "category": "Order",
    "subject": "Order not received",
    "description": "Detailed description...",
    "status": "Pending",
    "orderId": "order-uuid",
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-15T10:30:00Z"
  },
  {
    "id": "support-request-uuid-2",
    "category": "Product",
    "subject": "Product quality issue",
    "description": "The product arrived damaged...",
    "status": "Resolved",
    "response": "We apologize for the inconvenience. A replacement has been shipped.",
    "respondedAt": "2024-01-10T14:20:00Z",
    "createdAt": "2024-01-09T16:45:00Z",
    "updatedAt": "2024-01-10T14:20:00Z"
  }
]

Get Support Request Details (Customer)

Retrieves detailed information about a specific support request.

Path Parameters

customerId
string (uuid)
required
Customer identifier
supportRequestId
string (uuid)
required
Support request identifier

Response Codes

  • 200 OK - Support request details retrieved
  • 400 Bad Request - Invalid request
  • 404 Not Found - Support request not found

Example

cURL
curl -X GET "https://your-server.com/api/support-requests/customer-uuid/request-uuid" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Success Response

{
  "id": "support-request-uuid",
  "customerId": "customer-uuid",
  "customerName": "John Doe",
  "customerEmail": "[email protected]",
  "category": "Order",
  "subject": "Order not received",
  "description": "I ordered product #12345 two weeks ago...",
  "status": "Resolved",
  "orderId": "order-uuid",
  "response": "We've checked with the carrier and your package was delivered to your neighbor. Please check with them.",
  "supportAgentId": "support-uuid",
  "supportAgentName": "Jane Support",
  "createdAt": "2024-01-15T10:30:00Z",
  "respondedAt": "2024-01-15T15:45:00Z",
  "updatedAt": "2024-01-15T15:45:00Z"
}

Get All Pending Requests (Support)

Retrieves all pending support requests for support staff to review.

Query Parameters

category
string
Filter by category (optional)

Response

supportRequests
array
Array of pending support request objects

Response Codes

  • 200 OK - Pending requests retrieved
  • 400 Bad Request - Invalid category

Example

cURL
curl -X GET "https://your-server.com/api/support-requests?category=Order" \
  -H "Authorization: Bearer YOUR_SUPPORT_JWT_TOKEN"

Respond to Support Request (Support)

Provides a response to a customer support request.

Path Parameters

supportRequestId
string (uuid)
required
Support request identifier
supportId
string (uuid)
required
Support agent identifier

Request Body

response
string
required
Response message to customer

Response Codes

  • 204 No Content - Response submitted successfully
  • 404 Not Found - Support request or support agent not found

Example

cURL
curl -X PATCH "https://your-server.com/api/support-requests/request-uuid/supports/support-uuid/respond" \
  -H "Authorization: Bearer YOUR_SUPPORT_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "response": "Thank you for contacting us. We have investigated your issue and found that your package was delivered to your building's front desk. Please check with your building management."
  }'

Cancel Support Request (Support)

Cancels a support request (marks it as cancelled/closed without resolution).

Path Parameters

supportRequestId
string (uuid)
required
Support request identifier
supportId
string (uuid)
required
Support agent identifier

Response Codes

  • 204 No Content - Request cancelled
  • 404 Not Found - Support request or support agent not found

Example

cURL
curl -X PATCH "https://your-server.com/api/support-requests/request-uuid/supports/support-uuid/cancel" \
  -H "Authorization: Bearer YOUR_SUPPORT_JWT_TOKEN"

Support Request Categories

Common support request categories:
  • Order - Order status, delivery, tracking issues
  • Product - Product quality, defects, returns
  • Account - Account access, password, profile issues
  • Technical - Website bugs, technical problems
  • Payment - Payment issues, refunds, billing
  • General - General inquiries and questions

Support Request Status

Support requests can have the following statuses:
  • Pending - Awaiting support staff review
  • In Progress - Being actively handled by support
  • Resolved - Issue resolved and response sent to customer
  • Cancelled - Request cancelled without resolution

Support Flow

1

Customer Creates Request

Customer submits support request with details
2

Request Appears in Queue

Request appears in support staff queue as “Pending”
3

Support Reviews

Support staff reviews request and investigates issue
4

Support Responds

Support staff provides response to customer
5

Request Resolved

Request marked as “Resolved” and customer notified

Customer Support Best Practices

For Customers

Be Specific: Provide detailed information about your issue including order numbers, product names, and error messages
Choose Right Category: Select the appropriate category to route your request to the right team
Include Order Info: If related to an order, always include the order ID

For Support Staff

Respond Promptly: Aim to respond within 24 hours
Be Professional: Maintain professional and courteous tone
Provide Solutions: Offer clear solutions or next steps
Follow Up: Check if customer is satisfied with the resolution

Build docs developers (and LLMs) love