# Customer Operations related to customer data, including create, get, etc ## List Customers - [GET /api/v3/Customer](https://developer.dealpos.com/openapi/openapi/customer/listcustomers.md): Retrieve a paginated list of customers filtered by optional query parameters such as name, outlet, or join date range. Requires the "Contacts" - "VIEW" group. ## Update a Customer by Email - [PUT /api/v3/Customer](https://developer.dealpos.com/openapi/openapi/customer/updatecustomerbyemail.md): Update customer details identified by email. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ## Create a Customer - [POST /api/v3/Customer](https://developer.dealpos.com/openapi/openapi/customer/createcustomer.md): Create a new customer with the provided information. Requires the "CREATE" role in "Contacts" module. ## Delete a Customer by Email - [DELETE /api/v3/Customer](https://developer.dealpos.com/openapi/openapi/customer/deletecustomerbyemail.md): Delete a customer based on email You must have "DELETE" role in "Contacts" Module ## Update AppLastSignIn Customer by ID - [PUT /api/v3/Customer/AppSignIn](https://developer.dealpos.com/openapi/openapi/customer/updateapplastsignincustomerbyid.md): Update Customer info by ID ## Get Customer By - [GET /api/v3/Customer/Detail](https://developer.dealpos.com/openapi/openapi/customer/getcustomerdetail.md): Retrieve detailed customer information using ID, code, email, or mobile phone. Requires the "Contacts" - "VIEW" group. ## Update Customer By Code - [PUT /api/v3/Customer/ByCode](https://developer.dealpos.com/openapi/openapi/customer/updatecustomerbycode.md): Update a customer's information identified by its customer code. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ## Update Customer By ID - [PUT /api/v3/Customer/ByID](https://developer.dealpos.com/openapi/openapi/customer/updatecustomerbyid.md): Update a customer's information identified by its unique ID. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ## Get Customer By List ID - [GET /api/v3/Customer/ListID](https://developer.dealpos.com/openapi/openapi/customer/getcustomerbylistid.md): Retrieve multiple customers by a list of customer IDs. Requires the "Contacts" - "VIEW" group. ## Update Customer By MobilePhone - [PUT /api/v3/Customer/ByMobilePhone](https://developer.dealpos.com/openapi/openapi/customer/updatecustomerbymobilephone.md): Update a customer's details identified by mobile phone number. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ## Verify Customer's Mobile - [PUT /api/v3/Customer/VerifyMobile](https://developer.dealpos.com/openapi/openapi/customer/verifycustomermobile.md): Mark a customer's mobile phone as verified or unverified. Requires the "EDIT" role in "Contacts" module. ## Verify Customer's Email - [PUT /api/v3/Customer/VerifyEmail](https://developer.dealpos.com/openapi/openapi/customer/verifycustomeremail.md): Mark a customer's email as verified or unverified. Requires the "EDIT" role in "Contacts" module. ## Delete Customer By Code - [DELETE /api/v3/Customer/DeleteByCode](https://developer.dealpos.com/openapi/openapi/customer/deletecustomerbycode.md): Delete a customer identified by customer code. Requires the "DELETE" role in "Contacts" module. ## List Customer With Total Count - [GET /api/v3/Customer/WithTotalCount](https://developer.dealpos.com/openapi/openapi/customer/listcustomerwithtotalcount.md): List customers with pagination and total count. Requires the "VIEW" role in the "Contacts" module. ## Suspend a Customer - [PUT /api/v3/Customer/Suspend](https://developer.dealpos.com/openapi/openapi/customer/suspendcustomer.md): Suspend a customer using one identifier: ID, code, email, or phone. The resolution hierarchy is ID → Code → Email → Phone. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ## Unsuspend a Customer - [PUT /api/v3/Customer/Unsuspend](https://developer.dealpos.com/openapi/openapi/customer/unsuspendcustomer.md): Unsuspend a customer using one identifier: ID, code, email, or phone. The resolution hierarchy is ID → Code → Email → Phone. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ## Get New Customer Code - [GET /api/v3/Customer/NewCode](https://developer.dealpos.com/openapi/openapi/customer/getnewcustomercode.md): This API is only working if you use Customer Code Generator (auto increment customer code Learn more Here). With this API, you can get the Next Customer code that the generator could assign. For example, the last customer code existed is MM-003, the API will return "MM-004" as the response. ## Merge Customer - [PUT /api/v3/Customer/Merge](https://developer.dealpos.com/openapi/openapi/customer/put-customer-merge.md): Merge multiple customer records into a single target customer. Requires appropriate permissions to delete and modify customer records. ## Check Customer PIN Authenticate - [POST /api/v3/Customer/PIN/Authenticate](https://developer.dealpos.com/openapi/openapi/customer/check-customer-pin-authenticate.md): Verify a customer's PIN for redemption point authentication.