DMS

Catalog, visits (check-in), daily plans, outlets, orders and routes.

7 endpoints · base /api/v1/dms

GET/api/v1/dms/catalog/productsTry it ▶

List catalog products.

MCP tool: dms_list_catalog_productsScope: dms.catalog.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page

Example

curl https://api.nextx.vn/api/v1/dms/catalog/products?page=1&pageSize=1 \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "name": "string",
      "sku": "string",
      "unit": "string",
      "price": 0,
      "categoryId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "trackingType": "string",
      "taxRate": 0,
      "defaultSkuId": "string",
      "unitConversions": [
        null
      ],
      "variants": [
        null
      ]
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0
}
GET/api/v1/dms/tracking/check-insTry it ▶

List store visit check-ins.

MCP tool: dms_list_checkinsScope: dms.checkins.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page
employeeIdGUIDqueryno—
dateFromdatequeryno—
dateTodatequeryno—

Example

curl https://api.nextx.vn/api/v1/dms/tracking/check-ins?page=1&pageSize=1&employeeId=%3CemployeeId%3E&dateFrom=2026-06-01&dateTo=2026-06-01 \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "outletId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "outletName": "string",
      "employeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "employeeName": "string",
      "routeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "dailyPlanId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "checkinAt": "2026-10-27T09:00:00+07:00",
      "checkoutAt": "2026-10-27T09:00:00+07:00",
      "checkinLat": 0,
      "checkinLng": 0,
      "checkinAddress": "string",
      "distanceFromOutlet": 0,
      "isValid": false,
      "invalidReason": "string",
      "photoKey": "string",
      "photoKeys": [
        "string"
      ],
      "notes": "string",
      "type": "Outlet",
      "photoUrls": [
        "string"
      ],
      "isAutoClosed": false
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totalPages": 0,
  "hasNextPage": false,
  "hasPreviousPage": false
}
GET/api/v1/dms/daily-plansTry it ▶

List daily visit plans.

MCP tool: dms_list_daily_plansScope: dms.daily_plans.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page
employeeIdGUIDqueryno—
planDatedatequerynoYYYY-MM-DD
statusstringqueryno—

Example

curl https://api.nextx.vn/api/v1/dms/daily-plans?page=1&pageSize=1&employeeId=%3CemployeeId%3E&planDate=2026-06-01&status=... \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "employeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "employeeName": "string",
      "planDate": "2026-10-27",
      "routes": [
        null
      ],
      "status": "string",
      "notes": "string",
      "createdAt": "2026-10-27T09:00:00+07:00",
      "totalStops": 0
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totalPages": 0,
  "hasNextPage": false,
  "hasPreviousPage": false
}
GET/api/v1/dms/daily-plans/{id}Try it ▶

Details of one visit plan.

MCP tool: dms_get_daily_planScope: dms.daily_plans.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
idGUIDpathyes—

Example

curl https://api.nextx.vn/api/v1/dms/daily-plans/<id> \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
  "employeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
  "employeeName": "string",
  "planDate": "2026-10-27",
  "routes": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "code": "string",
      "name": "string"
    }
  ],
  "status": "string",
  "notes": "string",
  "createdAt": "2026-10-27T09:00:00+07:00",
  "totalStops": 0
}
GET/api/v1/dms/outletsTry it ▶

List outlets/points of sale.

MCP tool: dms_list_outletsScope: dms.outlets.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page
qstringquerynoKeyword

Example

curl https://api.nextx.vn/api/v1/dms/outlets?page=1&pageSize=1&q=... \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "outletCode": "string",
      "outletName": "string",
      "channelCode": "string",
      "outletStatus": "Active",
      "gpsLat": 0,
      "gpsLng": 0,
      "address": "string",
      "zoneId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "branchId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "visitFrequency": "Daily",
      "ownerName": "string",
      "ownerPhone": "string",
      "ownerEmail": "string",
      "lastCheckinAt": "2026-10-27T09:00:00+07:00",
      "assignedRepId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "assignedRepCode": "string",
      "assignedRepName": "string",
      "tier": "string",
      "rank": "string",
      "routeCode": "string",
      "assignedReps": [
        null
      ],
      "careStatusId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "careStatusName": "string",
      "careStatusColor": "string",
      "orderCount": 0,
      "orderRevenue": 0,
      "lastOrderAt": "2026-10-27T09:00:00+07:00",
      "taxCode": "string",
      "duplicateGroup": 0
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totalPages": 0,
  "hasNextPage": false,
  "hasPreviousPage": false
}
GET/api/v1/dms/ordersTry it ▶

List DMS orders.

MCP tool: dms_list_ordersScope: dms.orders.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page
outletIdGUIDqueryno—
statusstringqueryno—

Example

curl https://api.nextx.vn/api/v1/dms/orders?page=1&pageSize=1&outletId=%3CoutletId%3E&status=... \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "orderCode": "string",
      "status": "string",
      "totalAmount": 0,
      "createdAt": "2026-10-27T09:00:00+07:00",
      "paymentMethod": "string",
      "paymentStatus": "string",
      "branchId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "branchName": "string",
      "assignedTo": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "assignedToName": "string",
      "crmContactId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "contactName": "string",
      "orderType": "string",
      "outletId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "outletName": "string",
      "depositAmount": 0,
      "expectedDeliveryDate": "2026-10-27T09:00:00+07:00",
      "paidAmount": 0,
      "debtAmount": 0,
      "itemCount": 0,
      "subtotal": 0,
      "discountAmount": 0,
      "taxAmount": 0,
      "shippingFee": 0,
      "totalQuantity": 0,
      "customerCode": "string",
      "deliveryEmployeeId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "deliveryEmployeeName": "string",
      "deliveryId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "deliveryStatus": "string",
      "deliveredAt": "2026-10-27T09:00:00+07:00",
      "lastPaymentDate": "2026-10-27T09:00:00+07:00",
      "payments": [
        null
      ]
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totals": {
    "subtotal": 0,
    "discountAmount": 0,
    "taxAmount": 0,
    "total": 0,
    "paidAmount": 0,
    "debtAmount": 0
  }
}
GET/api/v1/dms/routesTry it ▶

List sales routes.

MCP tool: dms_list_routesScope: dms.routes.viewUser OAuthAPI key / app

Parameter

ParameterTypeInRequiredDescription
pageintquerynoPage (starts at 1)
pageSizeintquerynoRows per page
statusstringqueryno—

Example

curl https://api.nextx.vn/api/v1/dms/routes?page=1&pageSize=1&status=... \
  -H "Authorization: Bearer <ACCESS_TOKEN>"

Sample response

{
  "items": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "routeCode": "string",
      "name": "string",
      "channelCode": "string",
      "status": "string",
      "zoneId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "branchId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "dayOfWeek": [
        0
      ],
      "visitFrequency": "string",
      "vehicleType": "string",
      "colorHex": "string",
      "description": "string",
      "stopCount": 0,
      "createdAt": "2026-10-27T09:00:00+07:00",
      "assignedCount": 0,
      "startDate": "2026-10-27",
      "todayVisitCount": 0,
      "todayCompletedCount": 0
    }
  ],
  "totalCount": 0,
  "page": 0,
  "pageSize": 0,
  "totalPages": 0,
  "hasNextPage": false,
  "hasPreviousPage": false
}