Version: 1.0

WebApi

Tổng endpoint: 243
Activity
Nhóm endpoints theo Swagger tag
POST

/api/Auth/get-token-for-develop

Overview HTTP request
URLhttps://api.crmtop.vn/api/Auth/get-token-for-develop
MethodPOST
Content-Typeapplication/json, text/json, application/*+json
Parameters path/query/header
(No parameters)
Không có parameters.
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaGetTokenForPublicApiRequest
{
  "clientId": "<client_id>",
  "clientSecret": "<client_secret>"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/Auth/get-token-for-develop'
  --header 'accept: application/json'
  --header 'Content-Type: application/json'
  --data-raw '{"clientId":"<client_id>","clientSecret":"<client_secret>"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: TokenForPublicApiDto
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "accessToken": "<access_token>"
  },
  "errors": null,
  "meta": null
}

POST

/api/activity

Overview HTTP request
URLhttps://api.crmtop.vn/api/activity
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditActivityRequest
{
  "description": "string",
  "dueDate": "2026-02-27T00:00:00+07:00",
  "endTime": "2026-02-27T00:00:00+07:00",
  "extraData": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "isAllDay": true,
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "primaryId": "00000000-0000-0000-0000-000000000000",
  "primaryName": "string",
  "primaryType": 1,
  "priority": 1,
  "relatedId": "00000000-0000-0000-0000-000000000000",
  "relatedName": "string",
  "relatedType": null,
  "startTime": "2026-02-27T00:00:00+07:00",
  "status": 1,
  "subject": "string",
  "type": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/activity'
  --header 'accept: application/json'
  --header 'Content-Type: application/json'
  --header 'Authorization: Bearer <access_token>'
  --data-raw '{"description": "string", "dueDate": "2026-02-27T00:00:00+07:00", "endTime": "2026-02-27T00:00:00+07:00", "extraData": "string", "id": "00000000-0000-0000-0000-000000000000", "isAllDay": true, "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "primaryId": "00000000-0000-0000-0000-000000000000", "primaryName": "string", "primaryType": 1, "priority": 1, "relatedId": "00000000-0000-0000-0000-000000000000", "relatedName": "string", "relatedType": null, "startTime": "2026-02-27T00:00:00+07:00", "status": 1, "subject": "string", "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/activity

Overview HTTP request
URLhttps://api.crmtop.vn/api/activity
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditActivityRequest
{
  "description": "string",
  "dueDate": "2026-02-27T00:00:00+07:00",
  "endTime": "2026-02-27T00:00:00+07:00",
  "extraData": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "isAllDay": true,
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "primaryId": "00000000-0000-0000-0000-000000000000",
  "primaryName": "string",
  "primaryType": 1,
  "priority": 1,
  "relatedId": "00000000-0000-0000-0000-000000000000",
  "relatedName": "string",
  "relatedType": null,
  "startTime": "2026-02-27T00:00:00+07:00",
  "status": 1,
  "subject": "string",
  "type": 1
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/activity'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"description": "string", "dueDate": "2026-02-27T00:00:00+07:00", "endTime": "2026-02-27T00:00:00+07:00", "extraData": "string", "id": "00000000-0000-0000-0000-000000000000", "isAllDay": true, "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "primaryId": "00000000-0000-0000-0000-000000000000", "primaryName": "string", "primaryType": 1, "priority": 1, "relatedId": "00000000-0000-0000-0000-000000000000", "relatedName": "string", "relatedType": null, "startTime": "2026-02-27T00:00:00+07:00", "status": 1, "subject": "string", "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/activity/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/activity/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/activity/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditActivityRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "description": "string",
    "dueDate": "2026-02-27T00:00:00+07:00",
    "endTime": "2026-02-27T00:00:00+07:00",
    "extraData": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "isAllDay": true,
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "primaryId": "00000000-0000-0000-0000-000000000000",
    "primaryName": "string",
    "primaryType": 1,
    "priority": 1,
    "relatedId": "00000000-0000-0000-0000-000000000000",
    "relatedName": "string",
    "relatedType": null,
    "startTime": "2026-02-27T00:00:00+07:00",
    "status": 1,
    "subject": "string",
    "type": 1
  },
  "errors": null,
  "meta": null
}

POST

/api/activity/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/activity/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchActivityRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/activity/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchActivityDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "createdBy": "00000000-0000-0000-0000-000000000000",
        "createdByName": "string",
        "createdOn": "2026-02-27T00:00:00+07:00",
        "description": "string",
        "dueDate": "2026-02-27T00:00:00+07:00",
        "endTime": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "isAllDay": true,
        "lastModifiedBy": "00000000-0000-0000-0000-000000000000",
        "lastModifiedByName": "string",
        "lastModifiedOn": "2026-02-27T00:00:00+07:00",
        "ownerId": "00000000-0000-0000-0000-000000000000",
        "ownerName": "string",
        "primaryId": "00000000-0000-0000-0000-000000000000",
        "primaryName": "string",
        "primaryType": null,
        "priority": null,
        "startTime": "2026-02-27T00:00:00+07:00",
        "status": null,
        "subject": "string",
        "type": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

GET

/api/activity/status/{id}/{status}

Overview HTTP request
URLhttps://api.crmtop.vn/api/activity/status/{id}/{status}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
statuspathtrueActivityStatus
1
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/activity/status/{id}/{status}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

DELETE

/api/activity/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/activity/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/activity/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Campaign
Nhóm endpoints theo Swagger tag
POST

/api/campaign

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveCampaignRequest
{
  "actualCost": 0.0,
  "actualResponseRate": 0.0,
  "budgetedCost": 0.0,
  "code": "string",
  "endDate": "2026-02-27T00:00:00+07:00",
  "expectedResponseRate": 0.0,
  "expectedRevenue": 0.0,
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "note": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "startDate": "2026-02-27T00:00:00+07:00",
  "status": 1,
  "type": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/campaign'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"actualCost": 0.0, "actualResponseRate": 0.0, "budgetedCost": 0.0, "code": "string", "endDate": "2026-02-27T00:00:00+07:00", "expectedResponseRate": 0.0, "expectedRevenue": 0.0, "id": "00000000-0000-0000-0000-000000000000", "name": "string", "note": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "startDate": "2026-02-27T00:00:00+07:00", "status": 1, "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/campaign

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveCampaignRequest
{
  "actualCost": 0.0,
  "actualResponseRate": 0.0,
  "budgetedCost": 0.0,
  "code": "string",
  "endDate": "2026-02-27T00:00:00+07:00",
  "expectedResponseRate": 0.0,
  "expectedRevenue": 0.0,
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "note": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "startDate": "2026-02-27T00:00:00+07:00",
  "status": 1,
  "type": 1
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/campaign'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"actualCost": 0.0, "actualResponseRate": 0.0, "budgetedCost": 0.0, "code": "string", "endDate": "2026-02-27T00:00:00+07:00", "expectedResponseRate": 0.0, "expectedRevenue": 0.0, "id": "00000000-0000-0000-0000-000000000000", "name": "string", "note": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "startDate": "2026-02-27T00:00:00+07:00", "status": 1, "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/campaign/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/campaign/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SaveCampaignRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "actualCost": 0.0,
    "actualResponseRate": 0.0,
    "budgetedCost": 0.0,
    "code": "string",
    "endDate": "2026-02-27T00:00:00+07:00",
    "expectedResponseRate": 0.0,
    "expectedRevenue": 0.0,
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "note": "string",
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "startDate": "2026-02-27T00:00:00+07:00",
    "status": 1,
    "type": 1
  },
  "errors": null,
  "meta": null
}

POST

/api/campaign/member/add

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign/member/add
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveCampMemberRequest
{
  "campaignId": "00000000-0000-0000-0000-000000000000",
  "ids": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "type": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/campaign/member/add'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"campaignId": "00000000-0000-0000-0000-000000000000", "ids": ["00000000-0000-0000-0000-000000000000"], "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/campaign/member/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign/member/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchCampMemberRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/campaign/member/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchCampMemberDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "campaignId": "00000000-0000-0000-0000-000000000000",
        "code": "string",
        "email": "string",
        "id": 0,
        "masterId": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "phone": "string",
        "type": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/campaign/member/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign/member/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtrueinteger(int32)
0
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/campaign/member/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/campaign/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchCampaignRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/campaign/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchCampaignDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "code": "string",
        "endDate": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "orgUnitId": "00000000-0000-0000-0000-000000000000",
        "orgUnitName": "string",
        "ownerId": "00000000-0000-0000-0000-000000000000",
        "ownerName": "string",
        "startDate": "2026-02-27T00:00:00+07:00",
        "status": null,
        "totalMember": 0,
        "type": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/campaign/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/campaign/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/campaign/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Contact
Nhóm endpoints theo Swagger tag
POST

/api/contact

Overview HTTP request
URLhttps://api.crmtop.vn/api/contact
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditContactRequest
{
  "address": "string",
  "birthday": "2026-02-27T00:00:00+07:00",
  "code": "string",
  "customerId": "00000000-0000-0000-0000-000000000000",
  "customerName": "string",
  "department": "string",
  "email": "string",
  "fullName": "string",
  "gender": 1,
  "id": "00000000-0000-0000-0000-000000000000",
  "isPrimary": true,
  "nationalId": "string",
  "note": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "phone": "string",
  "position": "string",
  "status": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/contact'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"address": "string", "birthday": "2026-02-27T00:00:00+07:00", "code": "string", "customerId": "00000000-0000-0000-0000-000000000000", "customerName": "string", "department": "string", "email": "string", "fullName": "string", "gender": 1, "id": "00000000-0000-0000-0000-000000000000", "isPrimary": true, "nationalId": "string", "note": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "phone": "string", "position": "string", "status": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/contact

Overview HTTP request
URLhttps://api.crmtop.vn/api/contact
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditContactRequest
{
  "address": "string",
  "birthday": "2026-02-27T00:00:00+07:00",
  "code": "string",
  "customerId": "00000000-0000-0000-0000-000000000000",
  "customerName": "string",
  "department": "string",
  "email": "string",
  "fullName": "string",
  "gender": 1,
  "id": "00000000-0000-0000-0000-000000000000",
  "isPrimary": true,
  "nationalId": "string",
  "note": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "phone": "string",
  "position": "string",
  "status": "string"
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/contact'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"address": "string", "birthday": "2026-02-27T00:00:00+07:00", "code": "string", "customerId": "00000000-0000-0000-0000-000000000000", "customerName": "string", "department": "string", "email": "string", "fullName": "string", "gender": 1, "id": "00000000-0000-0000-0000-000000000000", "isPrimary": true, "nationalId": "string", "note": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "phone": "string", "position": "string", "status": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/contact/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/contact/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/contact/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditContactRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "address": "string",
    "birthday": "2026-02-27T00:00:00+07:00",
    "code": "string",
    "customerId": "00000000-0000-0000-0000-000000000000",
    "customerName": "string",
    "department": "string",
    "email": "string",
    "fullName": "string",
    "gender": 1,
    "id": "00000000-0000-0000-0000-000000000000",
    "isPrimary": true,
    "nationalId": "string",
    "note": "string",
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "phone": "string",
    "position": "string",
    "status": "string"
  },
  "errors": null,
  "meta": null
}

POST

/api/contact/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/contact/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchContactRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/contact/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchContactDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "address": "string",
        "birthday": "2026-02-27T00:00:00+07:00",
        "code": "string",
        "customerId": "00000000-0000-0000-0000-000000000000",
        "customerName": "string",
        "department": "string",
        "email": "string",
        "firstName": "string",
        "fullName": "string",
        "gender": null,
        "id": "00000000-0000-0000-0000-000000000000",
        "isPrimary": true,
        "lastName": "string",
        "nationalId": "string",
        "note": "string",
        "ownerId": "00000000-0000-0000-0000-000000000000",
        "ownerName": "string",
        "phone": "string",
        "position": "string",
        "status": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/contact/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/contact/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/contact/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Customer
Nhóm endpoints theo Swagger tag
POST

/api/customer

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditCustomerRequest
{
  "address": "string",
  "businessType": "string",
  "code": "string",
  "email": "string",
  "groupId": "00000000-0000-0000-0000-000000000000",
  "groupName": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "note": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "phone": "string",
  "taxCode": "string",
  "type": 1,
  "website": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/customer'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"address": "string", "businessType": "string", "code": "string", "email": "string", "groupId": "00000000-0000-0000-0000-000000000000", "groupName": "string", "id": "00000000-0000-0000-0000-000000000000", "name": "string", "note": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "phone": "string", "taxCode": "string", "type": 1, "website": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/customer

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditCustomerRequest
{
  "address": "string",
  "businessType": "string",
  "code": "string",
  "email": "string",
  "groupId": "00000000-0000-0000-0000-000000000000",
  "groupName": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "note": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "phone": "string",
  "taxCode": "string",
  "type": 1,
  "website": "string"
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/customer'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"address": "string", "businessType": "string", "code": "string", "email": "string", "groupId": "00000000-0000-0000-0000-000000000000", "groupName": "string", "id": "00000000-0000-0000-0000-000000000000", "name": "string", "note": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "phone": "string", "taxCode": "string", "type": 1, "website": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/customer/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/customer/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditCustomerRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "address": "string",
    "businessType": "string",
    "code": "string",
    "email": "string",
    "groupId": "00000000-0000-0000-0000-000000000000",
    "groupName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "note": "string",
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "phone": "string",
    "taxCode": "string",
    "type": 1,
    "website": "string"
  },
  "errors": null,
  "meta": null
}

POST

/api/customer/nhóm

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/group
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveCustomerGroupRequest
{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "note": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/customer/group'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"id": "00000000-0000-0000-0000-000000000000", "name": "string", "note": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/customer/nhóm

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/group
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveCustomerGroupRequest
{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "note": "string"
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/customer/group'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"id": "00000000-0000-0000-0000-000000000000", "name": "string", "note": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

POST

/api/customer/nhóm/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/group/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchCustomerGroupRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/customer/group/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: CustomerGroupDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "createdOn": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "note": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/customer/nhóm/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/group/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/customer/group/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/customer/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchCustomerRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/customer/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchCustomerDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "address": "string",
        "businessType": "string",
        "code": "string",
        "email": "string",
        "groupId": "00000000-0000-0000-0000-000000000000",
        "groupName": "string",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "note": "string",
        "ownerId": "00000000-0000-0000-0000-000000000000",
        "ownerName": "string",
        "phone": "string",
        "taxCode": "string",
        "type": null,
        "website": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/customer/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/customer/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/customer/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Lead
Nhóm endpoints theo Swagger tag
POST

/api/lead

Overview HTTP request
URLhttps://api.crmtop.vn/api/lead
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditLeadRequest
{
  "assignedTo": 0,
  "company": "string",
  "email": "string",
  "fullName": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "industry": 1,
  "notes": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "phone": "string",
  "position": "string",
  "probability": 0,
  "rating": 1,
  "source": 1,
  "status": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/lead'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"assignedTo": 0, "company": "string", "email": "string", "fullName": "string", "id": "00000000-0000-0000-0000-000000000000", "industry": 1, "notes": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "phone": "string", "position": "string", "probability": 0, "rating": 1, "source": 1, "status": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/lead

Overview HTTP request
URLhttps://api.crmtop.vn/api/lead
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditLeadRequest
{
  "assignedTo": 0,
  "company": "string",
  "email": "string",
  "fullName": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "industry": 1,
  "notes": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "phone": "string",
  "position": "string",
  "probability": 0,
  "rating": 1,
  "source": 1,
  "status": 1
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/lead'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"assignedTo": 0, "company": "string", "email": "string", "fullName": "string", "id": "00000000-0000-0000-0000-000000000000", "industry": 1, "notes": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "phone": "string", "position": "string", "probability": 0, "rating": 1, "source": 1, "status": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/lead/convert/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/lead/convert/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/lead/convert/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

GET

/api/lead/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/lead/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/lead/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditLeadRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "assignedTo": 0,
    "company": "string",
    "email": "string",
    "fullName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "industry": 1,
    "notes": "string",
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "phone": "string",
    "position": "string",
    "probability": 0,
    "rating": 1,
    "source": 1,
    "status": 1
  },
  "errors": null,
  "meta": null
}

POST

/api/lead/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/lead/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchLeadRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/lead/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchLeadDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "assignedTo": 0,
        "company": "string",
        "email": "string",
        "fullName": "string",
        "id": "00000000-0000-0000-0000-000000000000",
        "industry": null,
        "lastContactDate": "2026-02-27T00:00:00+07:00",
        "nextFollowUp": "2026-02-27T00:00:00+07:00",
        "phone": "string",
        "rating": null,
        "source": null,
        "status": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/lead/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/lead/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/lead/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

MaktEmail
Nhóm endpoints theo Swagger tag
POST

/api/maktemail

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktEmail
MethodPOST
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
Idqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
Codequeryfalsestring
string
Namequeryfalsestring
string
Descriptionqueryfalsestring
string
Subjectqueryfalsestring
string
SupplierqueryfalseEmailSupplier
1
Fromqueryfalsestring
string
DisplayNamequeryfalsestring
string
TemplateIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
TemplateNamequeryfalsestring
string
SendTypequeryfalseEmailSendType
1
SegmentIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
SegmentNamequeryfalsestring
string
FilePathqueryfalsestring
string
StatusqueryfalseMarketingStatus
1
AppointmentDatequeryfalsestring(date-time)
2026-02-27T00:00:00+07:00
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFile": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/MaktEmail?Id=00000000-0000-0000-0000-000000000000&Code=string&Name=string&Description=string&Subject=string&Supplier=1&From=string&DisplayName=string&TemplateId=00000000-0000-0000-0000-000000000000&TemplateName=string&SendType=1&SegmentId=00000000-0000-0000-0000-000000000000&SegmentName=string&FilePath=string&Status=1&AppointmentDate=2026-02-27T00:00:00+07:00'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFile": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/maktemail

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktEmail
MethodPUT
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
Idqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
Codequeryfalsestring
string
Namequeryfalsestring
string
Descriptionqueryfalsestring
string
Subjectqueryfalsestring
string
SupplierqueryfalseEmailSupplier
1
Fromqueryfalsestring
string
DisplayNamequeryfalsestring
string
TemplateIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
TemplateNamequeryfalsestring
string
SendTypequeryfalseEmailSendType
1
SegmentIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
SegmentNamequeryfalsestring
string
FilePathqueryfalsestring
string
StatusqueryfalseMarketingStatus
1
AppointmentDatequeryfalsestring(date-time)
2026-02-27T00:00:00+07:00
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFile": "string"
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/MaktEmail?Id=00000000-0000-0000-0000-000000000000&Code=string&Name=string&Description=string&Subject=string&Supplier=1&From=string&DisplayName=string&TemplateId=00000000-0000-0000-0000-000000000000&TemplateName=string&SendType=1&SegmentId=00000000-0000-0000-0000-000000000000&SegmentName=string&FilePath=string&Status=1&AppointmentDate=2026-02-27T00:00:00+07:00'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFile": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/maktemail/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktEmail/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/MaktEmail/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditMaktEmailRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "appointmentDate": "2026-02-27T00:00:00+07:00",
    "code": "string",
    "description": "string",
    "displayName": "string",
    "filePath": "string",
    "formFile": "string",
    "from": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "segmentId": "00000000-0000-0000-0000-000000000000",
    "segmentName": "string",
    "sendType": 1,
    "status": 1,
    "subject": "string",
    "supplier": 1,
    "templateId": "00000000-0000-0000-0000-000000000000",
    "templateName": "string"
  },
  "errors": null,
  "meta": null
}

POST

/api/maktemail/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktEmail/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchMaktEmailRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/MaktEmail/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchMaktEmailDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "code": "string",
        "createdByName": "string",
        "createdOn": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "status": null,
        "subject": "string",
        "supplier": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/maktemail/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktEmail/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/MaktEmail/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

MaktZalo
Nhóm endpoints theo Swagger tag
POST

/api/maktzalo

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktZalo
MethodPOST
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
Idqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
Codequeryfalsestring
string
Namequeryfalsestring
string
Descriptionqueryfalsestring
string
ChannelqueryfalseMaktZaloChannel
1
SocialIdqueryfalsestring
string
SocialNamequeryfalsestring
string
ZnsTemplateIdqueryfalsestring
string
ZnsTemplateNamequeryfalsestring
string
ZnsTemplateParamqueryfalsestring
string
ZnsTemplatePreviewUrlqueryfalsestring
string
ZnsTemplatePricequeryfalsenumber(double)
0.0
SmsTemplateIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
SmsTemplateNamequeryfalsestring
string
SmsTemplateParamqueryfalsestring
string
SendTypequeryfalseEmailSendType
1
SegmentIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
SegmentNamequeryfalsestring
string
FilePathqueryfalsestring
string
ExcelHeaderqueryfalsestring
string
StatusqueryfalseMarketingStatus
1
AppointmentDatequeryfalsestring(date-time)
2026-02-27T00:00:00+07:00
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFile": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/MaktZalo?Id=00000000-0000-0000-0000-000000000000&Code=string&Name=string&Description=string&Channel=1&SocialId=string&SocialName=string&ZnsTemplateId=string&ZnsTemplateName=string&ZnsTemplateParam=string&ZnsTemplatePreviewUrl=string&ZnsTemplatePrice=0.0&SmsTemplateId=00000000-0000-0000-0000-000000000000&SmsTemplateName=string&SmsTemplateParam=string&SendType=1&SegmentId=00000000-0000-0000-0000-000000000000&SegmentName=string&FilePath=string&ExcelHeader=string&Status=1&AppointmentDate=2026-02-27T00:00:00+07:00'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFile": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/maktzalo

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktZalo
MethodPUT
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
Idqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
Codequeryfalsestring
string
Namequeryfalsestring
string
Descriptionqueryfalsestring
string
ChannelqueryfalseMaktZaloChannel
1
SocialIdqueryfalsestring
string
SocialNamequeryfalsestring
string
ZnsTemplateIdqueryfalsestring
string
ZnsTemplateNamequeryfalsestring
string
ZnsTemplateParamqueryfalsestring
string
ZnsTemplatePreviewUrlqueryfalsestring
string
ZnsTemplatePricequeryfalsenumber(double)
0.0
SmsTemplateIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
SmsTemplateNamequeryfalsestring
string
SmsTemplateParamqueryfalsestring
string
SendTypequeryfalseEmailSendType
1
SegmentIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
SegmentNamequeryfalsestring
string
FilePathqueryfalsestring
string
ExcelHeaderqueryfalsestring
string
StatusqueryfalseMarketingStatus
1
AppointmentDatequeryfalsestring(date-time)
2026-02-27T00:00:00+07:00
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFile": "string"
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/MaktZalo?Id=00000000-0000-0000-0000-000000000000&Code=string&Name=string&Description=string&Channel=1&SocialId=string&SocialName=string&ZnsTemplateId=string&ZnsTemplateName=string&ZnsTemplateParam=string&ZnsTemplatePreviewUrl=string&ZnsTemplatePrice=0.0&SmsTemplateId=00000000-0000-0000-0000-000000000000&SmsTemplateName=string&SmsTemplateParam=string&SendType=1&SegmentId=00000000-0000-0000-0000-000000000000&SegmentName=string&FilePath=string&ExcelHeader=string&Status=1&AppointmentDate=2026-02-27T00:00:00+07:00'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFile": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/maktzalo/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktZalo/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/MaktZalo/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditMaktZaloRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "appointmentDate": "2026-02-27T00:00:00+07:00",
    "channel": 1,
    "code": "string",
    "description": "string",
    "excelHeader": "string",
    "filePath": "string",
    "formFile": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "segmentId": "00000000-0000-0000-0000-000000000000",
    "segmentName": "string",
    "sendType": 1,
    "smsTemplateId": "00000000-0000-0000-0000-000000000000",
    "smsTemplateName": "string",
    "smsTemplateParam": "string",
    "socialId": "string",
    "socialName": "string",
    "status": 1,
    "znsTemplateId": "string",
    "znsTemplateName": "string",
    "znsTemplateParam": "string",
    "znsTemplatePreviewUrl": "string",
    "znsTemplatePrice": 0.0
  },
  "errors": null,
  "meta": null
}

POST

/api/maktzalo/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktZalo/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchMaktZaloRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/MaktZalo/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchMaktZaloDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "code": "string",
        "createdByName": "string",
        "createdOn": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "socialName": "string",
        "status": null,
        "znsTemplateName": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/maktzalo/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/MaktZalo/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/MaktZalo/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Opportunity
Nhóm endpoints theo Swagger tag
POST

/api/opportunity

Overview HTTP request
URLhttps://api.crmtop.vn/api/opportunity
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditOpportunityRequest
{
  "actualCloseDate": "2026-02-27T00:00:00+07:00",
  "amount": 0.0,
  "code": "string",
  "contactId": "00000000-0000-0000-0000-000000000000",
  "contactName": "string",
  "currency": "string",
  "customerId": "00000000-0000-0000-0000-000000000000",
  "customerName": "string",
  "description": "string",
  "expectedCloseDate": "2026-02-27T00:00:00+07:00",
  "id": "00000000-0000-0000-0000-000000000000",
  "leadId": "00000000-0000-0000-0000-000000000000",
  "leadName": "string",
  "name": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "priority": 1,
  "probability": 0.0,
  "source": "string",
  "stage": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/opportunity'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"actualCloseDate": "2026-02-27T00:00:00+07:00", "amount": 0.0, "code": "string", "contactId": "00000000-0000-0000-0000-000000000000", "contactName": "string", "currency": "string", "customerId": "00000000-0000-0000-0000-000000000000", "customerName": "string", "description": "string", "expectedCloseDate": "2026-02-27T00:00:00+07:00", "id": "00000000-0000-0000-0000-000000000000", "leadId": "00000000-0000-0000-0000-000000000000", "leadName": "string", "name": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "priority": 1, "probability": 0.0, "source": "string", "stage": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/opportunity

Overview HTTP request
URLhttps://api.crmtop.vn/api/opportunity
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditOpportunityRequest
{
  "actualCloseDate": "2026-02-27T00:00:00+07:00",
  "amount": 0.0,
  "code": "string",
  "contactId": "00000000-0000-0000-0000-000000000000",
  "contactName": "string",
  "currency": "string",
  "customerId": "00000000-0000-0000-0000-000000000000",
  "customerName": "string",
  "description": "string",
  "expectedCloseDate": "2026-02-27T00:00:00+07:00",
  "id": "00000000-0000-0000-0000-000000000000",
  "leadId": "00000000-0000-0000-0000-000000000000",
  "leadName": "string",
  "name": "string",
  "orgUnitId": "00000000-0000-0000-0000-000000000000",
  "orgUnitName": "string",
  "ownerId": "00000000-0000-0000-0000-000000000000",
  "ownerName": "string",
  "priority": 1,
  "probability": 0.0,
  "source": "string",
  "stage": 1
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/opportunity'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"actualCloseDate": "2026-02-27T00:00:00+07:00", "amount": 0.0, "code": "string", "contactId": "00000000-0000-0000-0000-000000000000", "contactName": "string", "currency": "string", "customerId": "00000000-0000-0000-0000-000000000000", "customerName": "string", "description": "string", "expectedCloseDate": "2026-02-27T00:00:00+07:00", "id": "00000000-0000-0000-0000-000000000000", "leadId": "00000000-0000-0000-0000-000000000000", "leadName": "string", "name": "string", "orgUnitId": "00000000-0000-0000-0000-000000000000", "orgUnitName": "string", "ownerId": "00000000-0000-0000-0000-000000000000", "ownerName": "string", "priority": 1, "probability": 0.0, "source": "string", "stage": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/opportunity/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/opportunity/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/opportunity/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditOpportunityRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "actualCloseDate": "2026-02-27T00:00:00+07:00",
    "amount": 0.0,
    "code": "string",
    "contactId": "00000000-0000-0000-0000-000000000000",
    "contactName": "string",
    "currency": "string",
    "customerId": "00000000-0000-0000-0000-000000000000",
    "customerName": "string",
    "description": "string",
    "expectedCloseDate": "2026-02-27T00:00:00+07:00",
    "id": "00000000-0000-0000-0000-000000000000",
    "leadId": "00000000-0000-0000-0000-000000000000",
    "leadName": "string",
    "name": "string",
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "priority": 1,
    "probability": 0.0,
    "source": "string",
    "stage": 1
  },
  "errors": null,
  "meta": null
}

POST

/api/opportunity/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/opportunity/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchOpportunityRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/opportunity/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchOpportunityDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "actualCloseDate": "2026-02-27T00:00:00+07:00",
        "amount": 0.0,
        "code": "string",
        "contactId": "00000000-0000-0000-0000-000000000000",
        "contactName": "string",
        "currency": "string",
        "customerId": "00000000-0000-0000-0000-000000000000",
        "customerName": "string",
        "expectedCloseDate": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "leadId": "00000000-0000-0000-0000-000000000000",
        "leadName": "string",
        "name": "string",
        "ownerId": "00000000-0000-0000-0000-000000000000",
        "ownerName": "string",
        "priority": null,
        "probability": 0.0,
        "source": "string",
        "stage": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/opportunity/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/opportunity/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/opportunity/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Order
Nhóm endpoints theo Swagger tag
POST

/api/order/crm

Overview HTTP request
URLhttps://api.crmtop.vn/api/order/crm
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveOrderRequest
{
  "approved": true,
  "code": "string",
  "customerId": "00000000-0000-0000-0000-000000000000",
  "customerName": "string",
  "discountAmount": 0.0,
  "dueDate": "2026-02-27T00:00:00+07:00",
  "id": "00000000-0000-0000-0000-000000000000",
  "note": "string",
  "orderDate": "2026-02-27T00:00:00+07:00",
  "products": "string",
  "receiverAddress": "string",
  "receiverEmail": "string",
  "receiverName": "string",
  "receiverPhone": "string",
  "status": 1,
  "taxAmount": 0.0,
  "totalAmount": 0.0
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/order/crm'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"approved": true, "code": "string", "customerId": "00000000-0000-0000-0000-000000000000", "customerName": "string", "discountAmount": 0.0, "dueDate": "2026-02-27T00:00:00+07:00", "id": "00000000-0000-0000-0000-000000000000", "note": "string", "orderDate": "2026-02-27T00:00:00+07:00", "products": "string", "receiverAddress": "string", "receiverEmail": "string", "receiverName": "string", "receiverPhone": "string", "status": 1, "taxAmount": 0.0, "totalAmount": 0.0}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/order/crm

Overview HTTP request
URLhttps://api.crmtop.vn/api/order/crm
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveOrderRequest
{
  "approved": true,
  "code": "string",
  "customerId": "00000000-0000-0000-0000-000000000000",
  "customerName": "string",
  "discountAmount": 0.0,
  "dueDate": "2026-02-27T00:00:00+07:00",
  "id": "00000000-0000-0000-0000-000000000000",
  "note": "string",
  "orderDate": "2026-02-27T00:00:00+07:00",
  "products": "string",
  "receiverAddress": "string",
  "receiverEmail": "string",
  "receiverName": "string",
  "receiverPhone": "string",
  "status": 1,
  "taxAmount": 0.0,
  "totalAmount": 0.0
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/order/crm'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"approved": true, "code": "string", "customerId": "00000000-0000-0000-0000-000000000000", "customerName": "string", "discountAmount": 0.0, "dueDate": "2026-02-27T00:00:00+07:00", "id": "00000000-0000-0000-0000-000000000000", "note": "string", "orderDate": "2026-02-27T00:00:00+07:00", "products": "string", "receiverAddress": "string", "receiverEmail": "string", "receiverName": "string", "receiverPhone": "string", "status": 1, "taxAmount": 0.0, "totalAmount": 0.0}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

POST

/api/order/crm/approve

Overview HTTP request
URLhttps://api.crmtop.vn/api/order/crm/approve
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaApproveOrderRequest
{
  "approve": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "note": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/order/crm/approve'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"approve": true, "id": "00000000-0000-0000-0000-000000000000", "note": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/order/crm/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/order/crm/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaPagingOrderRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/order/crm/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: PagingOrderDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "approved": true,
        "approvedDate": "2026-02-27T00:00:00+07:00",
        "code": "string",
        "customerId": "00000000-0000-0000-0000-000000000000",
        "customerName": "string",
        "dueDate": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "orderDate": "2026-02-27T00:00:00+07:00",
        "status": null,
        "totalAmount": 0.0
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/order/crm/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/order/crm/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/order/crm/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

GET

/api/order/crm/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/order/crm/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/order/crm/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SaveOrderRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "approved": true,
    "code": "string",
    "customerId": "00000000-0000-0000-0000-000000000000",
    "customerName": "string",
    "discountAmount": 0.0,
    "dueDate": "2026-02-27T00:00:00+07:00",
    "id": "00000000-0000-0000-0000-000000000000",
    "note": "string",
    "orderDate": "2026-02-27T00:00:00+07:00",
    "products": "string",
    "receiverAddress": "string",
    "receiverEmail": "string",
    "receiverName": "string",
    "receiverPhone": "string",
    "status": 1,
    "taxAmount": 0.0,
    "totalAmount": 0.0
  },
  "errors": null,
  "meta": null
}

Product
Nhóm endpoints theo Swagger tag
POST

/api/product/crm

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveProductRequest
{
  "code": "string",
  "config": "string",
  "groupId": 0,
  "groupName": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "image": "string",
  "importPrice": 0.0,
  "name": "string",
  "note": "string",
  "retailPrice": 0.0,
  "unitId": 0,
  "unitName": "string",
  "wholesalePrice": 0.0
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/product/crm'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"code": "string", "config": "string", "groupId": 0, "groupName": "string", "id": "00000000-0000-0000-0000-000000000000", "image": "string", "importPrice": 0.0, "name": "string", "note": "string", "retailPrice": 0.0, "unitId": 0, "unitName": "string", "wholesalePrice": 0.0}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/product/crm

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveProductRequest
{
  "code": "string",
  "config": "string",
  "groupId": 0,
  "groupName": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "image": "string",
  "importPrice": 0.0,
  "name": "string",
  "note": "string",
  "retailPrice": 0.0,
  "unitId": 0,
  "unitName": "string",
  "wholesalePrice": 0.0
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/product/crm'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"code": "string", "config": "string", "groupId": 0, "groupName": "string", "id": "00000000-0000-0000-0000-000000000000", "image": "string", "importPrice": 0.0, "name": "string", "note": "string", "retailPrice": 0.0, "unitId": 0, "unitName": "string", "wholesalePrice": 0.0}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

POST

/api/product/crm/multi-unit/save

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm/multi-unit/save
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveProductMuiltiUnitRequest
{
  "units": [
    {
      "entityState": null,
      "id": "00000000-0000-0000-0000-000000000000",
      "importPrice": 0.0,
      "note": "string",
      "productId": "00000000-0000-0000-0000-000000000000",
      "retailPrice": 0.0,
      "unitId": 0,
      "unitName": "string",
      "unitRate": 0.0,
      "wholesalePrice": 0.0
    }
  ]
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/product/crm/multi-unit/save'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"units": [{"entityState": null, "id": "00000000-0000-0000-0000-000000000000", "importPrice": 0.0, "note": "string", "productId": "00000000-0000-0000-0000-000000000000", "retailPrice": 0.0, "unitId": 0, "unitName": "string", "unitRate": 0.0, "wholesalePrice": 0.0}]}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

GET

/api/product/crm/multi-unit/{productid}

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm/multi-unit/{productId}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
productIdpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/product/crm/multi-unit/{productId}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: array
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": [
    {
      "entityState": 0,
      "id": "00000000-0000-0000-0000-000000000000",
      "importPrice": 0.0,
      "note": "string",
      "productId": "00000000-0000-0000-0000-000000000000",
      "retailPrice": 0.0,
      "unitId": 0,
      "unitName": "string",
      "unitRate": 0.0,
      "wholesalePrice": 0.0
    }
  ],
  "errors": null,
  "meta": null
}

POST

/api/product/crm/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaPagingProductRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/product/crm/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: PagingProductDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "code": "string",
        "groupId": 0,
        "groupName": "string",
        "id": "00000000-0000-0000-0000-000000000000",
        "image": "string",
        "name": "string",
        "retailPrice": 0.0,
        "unitId": 0,
        "unitName": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

POST

/api/product/crm/unit

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm/unit
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSaveUnitRequest
{
  "id": 0,
  "name": "string",
  "note": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/product/crm/unit'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"id": 0, "name": "string", "note": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: integer(int32)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": 0,
  "errors": null,
  "meta": null
}

DELETE

/api/product/crm/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/product/crm/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

GET

/api/product/crm/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/product/crm/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/product/crm/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SaveProductRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "code": "string",
    "config": "string",
    "groupId": 0,
    "groupName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "image": "string",
    "importPrice": 0.0,
    "name": "string",
    "note": "string",
    "retailPrice": 0.0,
    "unitId": 0,
    "unitName": "string",
    "wholesalePrice": 0.0
  },
  "errors": null,
  "meta": null
}

Segment
Nhóm endpoints theo Swagger tag
POST

/api/segment

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditSegmentRequest
{
  "description": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/segment'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"description": "string", "id": "00000000-0000-0000-0000-000000000000", "name": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/segment

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditSegmentRequest
{
  "description": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string"
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/segment'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"description": "string", "id": "00000000-0000-0000-0000-000000000000", "name": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/segment/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/segment/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchSegmentDto
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "createdBy": "00000000-0000-0000-0000-000000000000",
    "createdByName": "string",
    "createdOn": "2026-02-27T00:00:00+07:00",
    "description": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "totalMember": 0
  },
  "errors": null,
  "meta": null
}

POST

/api/segment/member/add

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment/member/add
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddSegMemberRequest
{
  "ids": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "maktReports": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "type": null
    }
  ],
  "segmentId": "00000000-0000-0000-0000-000000000000",
  "type": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/segment/member/add'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"ids": ["00000000-0000-0000-0000-000000000000"], "maktReports": [{"id": "00000000-0000-0000-0000-000000000000", "type": null}], "segmentId": "00000000-0000-0000-0000-000000000000", "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/segment/member/delete

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment/member/delete
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaDeleteSegMemberRequest
{
  "ids": [
    0
  ],
  "segmentId": "00000000-0000-0000-0000-000000000000"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/segment/member/delete'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"ids": [0], "segmentId": "00000000-0000-0000-0000-000000000000"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/segment/member/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment/member/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchSegMemberRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/segment/member/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchSegMemberDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "code": "string",
        "email": "string",
        "id": 0,
        "masterId": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "phone": "string",
        "segmentId": "00000000-0000-0000-0000-000000000000",
        "type": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

POST

/api/segment/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchSegmentRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/segment/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchSegmentDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "createdBy": "00000000-0000-0000-0000-000000000000",
        "createdByName": "string",
        "createdOn": "2026-02-27T00:00:00+07:00",
        "description": "string",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "totalMember": 0
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/segment/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/segment/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/segment/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Social
Nhóm endpoints theo Swagger tag
Template
Nhóm endpoints theo Swagger tag
POST

/api/template

Overview HTTP request
URLhttps://api.crmtop.vn/api/template
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditTemplateRequest
{
  "content": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "type": 1
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/template'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"content": "string", "id": "00000000-0000-0000-0000-000000000000", "name": "string", "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/template

Overview HTTP request
URLhttps://api.crmtop.vn/api/template
MethodPUT
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditTemplateRequest
{
  "content": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "type": 1
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/template'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"content": "string", "id": "00000000-0000-0000-0000-000000000000", "name": "string", "type": 1}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/template/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/template/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/template/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditTemplateRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "content": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "type": 1
  },
  "errors": null,
  "meta": null
}

POST

/api/template/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/template/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchTemplateRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/template/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchTemplateDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "content": "string",
        "createdBy": "00000000-0000-0000-0000-000000000000",
        "createdByName": "string",
        "createdOn": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "lastModifiedBy": "00000000-0000-0000-0000-000000000000",
        "lastModifiedByName": "string",
        "lastModifiedOn": "2026-02-27T00:00:00+07:00",
        "name": "string",
        "type": null
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/template/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/template/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/template/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

Ticket
Nhóm endpoints theo Swagger tag
POST

/api/ticket

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket
MethodPOST
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
Idqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
Codequeryfalsestring
string
Subjectqueryfalsestring
string
Descriptionqueryfalsestring
string
TypeIdqueryfalseinteger(int32)
0
TypeNamequeryfalsestring
string
PriorityqueryfalseTicketPriority
1
StatusqueryfalseTicketStatus
1
ChannelqueryfalseTicketChannel
1
CustomerIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
CustomerNamequeryfalsestring
string
ContactIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
ContactNamequeryfalsestring
string
ProductIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
ProductNamequeryfalsestring
string
OrderIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
OrderCodequeryfalsestring
string
OwnerIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
OwnerNamequeryfalsestring
string
OrgUnitIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
OrgUnitNamequeryfalsestring
string
CreatedOnqueryfalsestring(date-time)
2026-02-27T00:00:00+07:00
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFiles": [
    "string"
  ]
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/ticket?Id=00000000-0000-0000-0000-000000000000&Code=string&Subject=string&Description=string&TypeId=0&TypeName=string&Priority=1&Status=1&Channel=1&CustomerId=00000000-0000-0000-0000-000000000000&CustomerName=string&ContactId=00000000-0000-0000-0000-000000000000&ContactName=string&ProductId=00000000-0000-0000-0000-000000000000&ProductName=string&OrderId=00000000-0000-0000-0000-000000000000&OrderCode=string&OwnerId=00000000-0000-0000-0000-000000000000&OwnerName=string&OrgUnitId=00000000-0000-0000-0000-000000000000&OrgUnitName=string&CreatedOn=2026-02-27T00:00:00+07:00'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFiles": ["string"]}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

PUT

/api/ticket

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket
MethodPUT
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
Idqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
Codequeryfalsestring
string
Subjectqueryfalsestring
string
Descriptionqueryfalsestring
string
TypeIdqueryfalseinteger(int32)
0
TypeNamequeryfalsestring
string
PriorityqueryfalseTicketPriority
1
StatusqueryfalseTicketStatus
1
ChannelqueryfalseTicketChannel
1
CustomerIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
CustomerNamequeryfalsestring
string
ContactIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
ContactNamequeryfalsestring
string
ProductIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
ProductNamequeryfalsestring
string
OrderIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
OrderCodequeryfalsestring
string
OwnerIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
OwnerNamequeryfalsestring
string
OrgUnitIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
OrgUnitNamequeryfalsestring
string
CreatedOnqueryfalsestring(date-time)
2026-02-27T00:00:00+07:00
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFiles": [
    "string"
  ]
}
Example cURL copy/paste
curl --location --request PUT 'https://api.crmtop.vn/api/ticket?Id=00000000-0000-0000-0000-000000000000&Code=string&Subject=string&Description=string&TypeId=0&TypeName=string&Priority=1&Status=1&Channel=1&CustomerId=00000000-0000-0000-0000-000000000000&CustomerName=string&ContactId=00000000-0000-0000-0000-000000000000&ContactName=string&ProductId=00000000-0000-0000-0000-000000000000&ProductName=string&OrderId=00000000-0000-0000-0000-000000000000&OrderCode=string&OwnerId=00000000-0000-0000-0000-000000000000&OwnerName=string&OrgUnitId=00000000-0000-0000-0000-000000000000&OrgUnitName=string&CreatedOn=2026-02-27T00:00:00+07:00'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFiles": ["string"]}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

GET

/api/ticket/change/status/{id}/{status}

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/change/status/{id}/{status}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
statuspathtrueTicketStatus
1
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/ticket/change/status/{id}/{status}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

POST

/api/ticket/comment/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/comment/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchCommentRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/ticket/comment/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: TicketCommentDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "attachments": [],
        "createdOn": "2026-02-27T00:00:00+07:00",
        "id": "00000000-0000-0000-0000-000000000000",
        "isInternal": true,
        "message": "string",
        "sentTimeAgo": "string",
        "ticketId": "00000000-0000-0000-0000-000000000000",
        "userId": "00000000-0000-0000-0000-000000000000",
        "userName": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

GET

/api/ticket/edit/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/edit/{id}
MethodGET
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request GET 'https://api.crmtop.vn/api/ticket/edit/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: AddOrEditTicketRequest
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "channel": 1,
    "code": "string",
    "contactId": "00000000-0000-0000-0000-000000000000",
    "contactName": "string",
    "createdOn": "2026-02-27T00:00:00+07:00",
    "customerId": "00000000-0000-0000-0000-000000000000",
    "customerName": "string",
    "description": "string",
    "formFiles": [
      "string"
    ],
    "id": "00000000-0000-0000-0000-000000000000",
    "orderCode": "string",
    "orderId": "00000000-0000-0000-0000-000000000000",
    "orgUnitId": "00000000-0000-0000-0000-000000000000",
    "orgUnitName": "string",
    "ownerId": "00000000-0000-0000-0000-000000000000",
    "ownerName": "string",
    "priority": 1,
    "productId": "00000000-0000-0000-0000-000000000000",
    "productName": "string",
    "status": 1,
    "subject": "string",
    "typeId": 0,
    "typeName": "string"
  },
  "errors": null,
  "meta": null
}

POST

/api/ticket/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchTicketRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/ticket/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchTicketDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "channel": null,
        "closedDate": "2026-02-27T00:00:00+07:00",
        "code": "string",
        "contactId": "00000000-0000-0000-0000-000000000000",
        "contactName": "string",
        "createdByName": "string",
        "createdOn": "2026-02-27T00:00:00+07:00",
        "customerId": "00000000-0000-0000-0000-000000000000",
        "customerName": "string",
        "id": "00000000-0000-0000-0000-000000000000",
        "orderCode": "string",
        "orderId": "00000000-0000-0000-0000-000000000000",
        "orgUnitId": "00000000-0000-0000-0000-000000000000",
        "orgUnitName": "string",
        "ownerId": "00000000-0000-0000-0000-000000000000",
        "ownerName": "string",
        "priority": null,
        "productId": "00000000-0000-0000-0000-000000000000",
        "productName": "string",
        "status": null,
        "subject": "string",
        "typeId": 0,
        "typeName": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

POST

/api/ticket/send/comment

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/send/comment
MethodPOST
Content-Typemultipart/form-data
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
TenantCodequeryfalsestring
string
TicketIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
UserIdqueryfalsestring(uuid)
00000000-0000-0000-0000-000000000000
UserNamequeryfalsestring
string
Messagequeryfalsestring
string
Request body schema + JSON
Requiredfalse
Content-Typemultipart/form-data
Schemaobject
{
  "FormFiles": [
    "string"
  ]
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/ticket/send/comment?TenantCode=string&TicketId=00000000-0000-0000-0000-000000000000&UserId=00000000-0000-0000-0000-000000000000&UserName=string&Message=string'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: multipart/form-data'
  --data-raw '{"FormFiles": ["string"]}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: string(uuid)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": "00000000-0000-0000-0000-000000000000",
  "errors": null,
  "meta": null
}

POST

/api/ticket/type

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/type
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaAddOrEditTicketTypeRequest
{
  "id": 0,
  "name": "string",
  "note": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/ticket/type'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"id": 0, "name": "string", "note": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: integer(int32)
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": 0,
  "errors": null,
  "meta": null
}

POST

/api/ticket/type/paging

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/type/paging
MethodPOST
Content-Typeapplication/json
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
AuthorizationheadertruestringBearer token cho Public API.
Bearer <access_token>
Request body schema + JSON
Requiredfalse
Content-Typeapplication/json
SchemaSearchTicketTypeRequest
{
  "pageNumber": 0,
  "pageSize": 0,
  "search": "string"
}
Example cURL copy/paste
curl --location --request POST 'https://api.crmtop.vn/api/ticket/type/paging'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
  --header 'Content-Type: application/json'
  --data-raw '{"pageNumber": 0, "pageSize": 0, "search": "string"}'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: SearchTicketTypeDtoPaginationResponse
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "currentPage": 0,
    "data": [
      {
        "createdOn": "2026-02-27T00:00:00+07:00",
        "id": 0,
        "name": "string",
        "note": "string"
      }
    ],
    "hasNextPage": true,
    "hasPreviousPage": true,
    "pageSize": 0,
    "totalCount": 0,
    "totalPages": 0
  },
  "errors": null,
  "meta": null
}

DELETE

/api/ticket/type/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/type/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtrueinteger(int32)
0
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/ticket/type/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}

DELETE

/api/ticket/{id}

Overview HTTP request
URLhttps://api.crmtop.vn/api/ticket/{id}
MethodDELETE
Content-Type(không có / tuỳ)
Authorization<access_token>
Parameters path/query/header
NameInRequiredTypeDescriptionExample
idpathtruestring(uuid)
00000000-0000-0000-0000-000000000000
Example cURL copy/paste
curl --location --request DELETE 'https://api.crmtop.vn/api/ticket/{id}'
  --header 'accept: application/json'
  --header 'Authorization: Bearer <access_token>'
Responses HTTP codes + JSON
HTTP 200 — OK
Content-Type: application/json • Schema: boolean
Example JSON
{
  "success": true,
  "code": 200,
  "message": null,
  "data": true,
  "errors": null,
  "meta": null
}