Skip to main content
The ManageCustomers endpoint returns a paginated, sortable list of customer records associated with your Shiipp courier account. An optional search parameter lets you filter results by user code or name, and you can sort by any of the supported fields.

Endpoint

GET /api/ManageCustomers.php
Authentication: JWT Bearer token required.
Authorization: Bearer <your_token>

Query Parameters

page
integer
default:"1"
The page number to retrieve. Pagination starts at 1.
limit
integer
default:"20"
Number of customer records to return per page. Maximum allowed value is 100.
Optional search term. When provided, results are filtered to customers whose user_code or name contain the search string (wildcard partial match, case-insensitive).
branch
string
Filter results to customers assigned to a specific branch location (exact match).
courier_id
string
Filter results to a specific courier organization. Admin and manager roles only. Courier role users are automatically scoped to their own courier.
sort_by
string
default:"first_name"
Field to sort results by. Accepted values: user_code, first_name, last_name, branch, courier_name, created_at, updated_at.
sort_dir
string
default:"ASC"
Sort direction. Accepted values: ASC, DESC.

Example Request

curl "https://app.shiipp.com/api/ManageCustomers.php?page=1&limit=20&search=Jane&sort_by=last_name&sort_dir=ASC" \
  -H "Authorization: Bearer <your_token>"

Response

{
  "status": "success",
  "data": [
    {
      "courier_customer_id": "cust-uuid",
      "user_code": "CUST001",
      "first_name": "Jane",
      "last_name": "Smith",
      "branch": "Kingston",
      "is_active": 1,
      "courier_name": "Express Couriers",
      "created_at": "2024-01-01 08:00:00",
      "updated_at": "2024-03-15 10:30:00"
    }
  ],
  "total": 312
}

Response Fields

status
string
"success" when the request was processed without error.
data
array
Array of customer objects matching the search criteria.
total
integer
Total number of customers matching the search term across all pages.

Get Branch List

Append ?action=branches to retrieve the distinct list of branch names available for the authenticated courier. This is useful for populating filter dropdowns in your UI.
GET /api/ManageCustomers.php?action=branches
{
  "status": "success",
  "data": ["Kingston", "Montego Bay", "Ocho Rios", "Mandeville"]
}

Pagination

To iterate through all customers, increment page until you have retrieved total records.
GET /api/ManageCustomers.php?page=2&limit=20
Use the branch filter together with ?action=branches to build dynamic, pre-populated dropdowns in your UI — first fetch the branch list, then filter customers by the user’s selected branch.
The search filter matches across user_code and customer names simultaneously. A single term like "Jane" will surface matches in any of those fields.