Skip to content

User - Tickets

Base URL: https://your-domain.com

Admin endpoints for managing support tickets. All endpoints require admin/staff authentication.


Fetch All Tickets

Retrieve all support tickets with optional filters.

PropertyValue
EndpointFetch All Tickets
MethodGET
URL/api/v1/tickets
AuthenticationBearer Token

Request Headers:

HeaderValueRequired
Acceptapplication/jsonYes
AuthorizationBearer your-auth-tokenYes

Query Parameters:

ParameterTypeRequiredDescription
isp_idintegerYesISP ID
branch_idintegerYesBranch ID
user_idintegerYesUser ID
statusintegerNoFilter by status (0=Open, 1=In Progress, 2=Resolved, 3=Closed)
priorityintegerNoFilter by priority (1=Low, 2=Medium, 3=High)

Success Response (200 OK):

json
{
    "success": true,
    "data": [
        {
            "id": 1,
            "title": "Connection Issue",
            "subscriber_id": 1,
            "subscriber_name": "John Doe",
            "priority": 2,
            "status": 0,
            "created_at": "2024-01-15 10:30:00"
        }
    ]
}

Fetch Ticket

Retrieve details of a specific ticket including replies.

PropertyValue
EndpointFetch Ticket
MethodGET
URL/api/v1/tickets/{id}
AuthenticationBearer Token

Success Response (200 OK):

json
{
    "success": true,
    "data": {
        "id": 1,
        "title": "Connection Issue",
        "description": "Cannot connect to internet",
        "subscriber_id": 1,
        "subscriber_name": "John Doe",
        "priority": 2,
        "status": 0,
        "replies": [
            {
                "id": 1,
                "message": "We are looking into this.",
                "user_name": "Admin",
                "created_at": "2024-01-15 11:00:00"
            }
        ],
        "created_at": "2024-01-15 10:30:00"
    }
}

Create Ticket

Create a new support ticket.

PropertyValue
EndpointCreate Ticket
MethodPOST
URL/api/v1/tickets
AuthenticationBearer Token

Request Body:

json
{
    "isp_id": 1,
    "branch_id": 1,
    "user_id": 1,
    "subscriber_id": 1,
    "title": "Connection Issue",
    "description": "Cannot connect to internet",
    "priority": 2
}
ParameterTypeRequiredDescription
titlestringYesTicket title
descriptionstringYesIssue description
subscriber_idintegerNoRelated subscriber
priorityintegerYes1=Low, 2=Medium, 3=High

Success Response (201 Created):

json
{
    "success": true,
    "message": "Ticket created successfully",
    "data": {
        "id": 1
    }
}

Update Ticket

Update ticket details.

PropertyValue
EndpointUpdate Ticket
MethodPUT
URL/api/v1/tickets/{id}
AuthenticationBearer Token

Request Body:

json
{
    "title": "Updated Title",
    "priority": 3
}

Success Response (200 OK):

json
{
    "success": true,
    "message": "Ticket updated successfully"
}

Delete Ticket

Delete a support ticket.

PropertyValue
EndpointDelete Ticket
MethodDELETE
URL/api/v1/tickets/{id}
AuthenticationBearer Token

Success Response (200 OK):

json
{
    "success": true,
    "message": "Ticket deleted successfully"
}

Reply to Ticket

Add a reply to a ticket.

PropertyValue
EndpointReply to Ticket
MethodPOST
URL/api/v1/tickets/{id}/reply
AuthenticationBearer Token

Request Body:

json
{
    "isp_id": 1,
    "branch_id": 1,
    "user_id": 1,
    "message": "We are looking into this issue."
}

Success Response (201 Created):

json
{
    "success": true,
    "message": "Reply added successfully"
}

Change Ticket Status

Update the status of a ticket.

PropertyValue
EndpointChange Ticket Status
MethodPUT
URL/api/v1/tickets/{id}/status
AuthenticationBearer Token

Request Body:

json
{
    "isp_id": 1,
    "branch_id": 1,
    "user_id": 1,
    "status": 2
}
ParameterTypeRequiredDescription
statusintegerYes0=Open, 1=In Progress, 2=Resolved, 3=Closed

Success Response (200 OK):

json
{
    "success": true,
    "message": "Ticket status updated successfully"
}

www.onezeroart.com