# DealPOS API ## Welcome Developer This page lists the reference documentation for DealPOS APIs. For guides and tutorials. Version: 3.1.0 ## Servers Production Server ``` https://{subdomain} ``` Variables: - `subdomain`: Your DealPOS Subdomain Default: "subdomain.dealpos.net" ## Security ### OAuth2_clientCredentials require access_token Type: oauth2 ## Download OpenAPI description [DealPOS API](https://developer.dealpos.com/_bundle/openapi/openapi.yaml) ## Token Operations related to authentication tokens ### Get Token by Client ID & Client Secret - [POST /api/v3/Token/OAuth2](https://developer.dealpos.com/openapi/openapi/token/post-token-oauth2.md): Obtain an OAuth2 access token by providing client_id and client_secret. No authentication is required for this endpoint. ## Category Operations related to category, including create, get, etc ### Create a Category - [POST /api/v3/Category](https://developer.dealpos.com/openapi/openapi/category/createcategory.md): Create a category by name. Requires the "CREATE" role in the "Products" Module. ### Update a Category - [PUT /api/v3/Category](https://developer.dealpos.com/openapi/openapi/category/updatecategory.md): Update a category by name. Requires one of the following roles: "EDIT" in the "Products" Module or "EDIT" in the "Global" Module. ### Delete a Category - [DELETE /api/v3/Category](https://developer.dealpos.com/openapi/openapi/category/deletecategory.md): Delete a category by name. Requires the "DELETE" role in the "Products" Module. ### List Categories - [GET /api/v3/Category](https://developer.dealpos.com/openapi/openapi/category/listcategories.md): >Also available as HTTP POST (endpoint: /api/v3/Category/p) Get list of product categories Use First example (empty object) to return all categories, and use second example to get spesific category with its children. Required Group Role: "Products" - "View" ### Get a Category By ID - [GET /api/v3/Category/ID](https://developer.dealpos.com/openapi/openapi/category/getcategorybyid.md): Get a category by ID. Requires the "Products" - "VIEW" group. ## Product Operations related to product, including create, get, etc ### Create a Product - [POST /api/v3/Product](https://developer.dealpos.com/openapi/openapi/product/createproduct.md): Create a new product with variants and metadata. Requires the "CREATE" role in the "Products" module. ### Update a Product By Code - [PUT /api/v3/Product](https://developer.dealpos.com/openapi/openapi/product/updateproduct.md): Update Product Existing You must have "EDIT" role in "Products" Module OR "EDIT" role in "Global" Module ### Delete a Product - [DELETE /api/v3/Product](https://developer.dealpos.com/openapi/openapi/product/deleteproduct.md): Delete Product by Code You must have "DELETE" role in "Products" Module ### List Products - [GET /api/v3/Product](https://developer.dealpos.com/openapi/openapi/product/listproducts.md): >Also available as HTTP POST (endpoint: /api/v3/Product/p) Get List of Products sorted by Category Asc, Code Asc, Name Asc Required Group Role: "Products" - "VIEW" ### Get Product By - [GET /api/v3/Product/Detail](https://developer.dealpos.com/openapi/openapi/product/getproductdetail.md): Get product details by code or ID. Requires the "VIEW" role in the "Products" module. ### Get a Product By Code - [GET /api/v3/Product/Code](https://developer.dealpos.com/openapi/openapi/product/getproductbycode.md): >Also available as HTTP POST with the same endpoints Get Product Detail By Code Required Group Role: "Products" - "VIEW" ### Get a Product By ID - [GET /api/v3/Product/ID](https://developer.dealpos.com/openapi/openapi/product/getproductbyid.md): >Also available as HTTP POST with the same endpoints Get Product Detail By ID Required Group Role: "Products" - "VIEW" ### Get Product List With Inventory By List ID - [POST /api/v3/Product/WithInventoryByListID](https://developer.dealpos.com/openapi/openapi/product/getproductlistwithinventorybylistid.md): Get product list with inventory details for specified product IDs and outlets. ### Get Product List By ID - [POST /api/v3/Product/ListID](https://developer.dealpos.com/openapi/openapi/product/getproductlistbyid.md): Get product details for a list of product IDs or codes. ### Get Product List Detail By ID - [POST /api/v3/Product/DetailByListID](https://developer.dealpos.com/openapi/openapi/product/getproductlistdetailbylistid.md): Get product details for a list of product IDs; includes extra fields like description and variant weight. ### Get Product List With Outlet Price By List ID - [POST /api/v3/Product/WithOutletPriceByListID](https://developer.dealpos.com/openapi/openapi/product/getproductlistwithoutletpricebylistid.md): Get product list with outlet-specific pricing for specified product IDs. ### Get Product List With Pricebook By List ID - [POST /api/v3/Product/WithPricebookByListID](https://developer.dealpos.com/openapi/openapi/product/getproductlistwithpricebookbylistid.md): Get product list with pricebook entries for specified product IDs. ## Variant Operations related to variant, including create, get, etc ### Add Variant By Product Code - [POST /api/v3/Variant/Add](https://developer.dealpos.com/openapi/openapi/variant/post-variant-add.md): Add one or more variants for a product code. ### Update Variant by Code - [PUT /api/v3/Variant](https://developer.dealpos.com/openapi/openapi/variant/putvariant.md): Update a variant by its code. Requires the "EDIT" role in the "Products" module. ### Delete a Variant - [DELETE /api/v3/Variant](https://developer.dealpos.com/openapi/openapi/variant/deletevariant.md): Delete Variant By variant code You must have "DELETE" role in "Products" Module ### List Variants - [GET /api/v3/Variant](https://developer.dealpos.com/openapi/openapi/variant/getvariant.md): >Also available as HTTP POST with the same endpoint Get List of Variant existing Required Group Role: "Products" - "VIEW" ### List Variant Data - [GET /api/v3/Variant/Data](https://developer.dealpos.com/openapi/openapi/variant/getvariantdata.md): Get a paginated list of variant data filtered by the provided criteria. Requires the "VIEW" role in the "Products" group. ### Variants Count - [GET /api/v3/Variant/Count](https://developer.dealpos.com/openapi/openapi/variant/getvariantcount.md): Get the total count of variants matching the provided filters. Requires the "VIEW" role in the "Products" group. ### Get a Variant By - [GET /api/v3/Variant/Detail](https://developer.dealpos.com/openapi/openapi/variant/getvariantdetail.md): Get variant information by code or ID. This endpoint does not return OnHand inventory; use the Get Inventory By Code endpoint to retrieve inventory. Requires the "VIEW" role in the "Products" group. ### Get a Variant By Code - [GET /api/v3/Variant/Code](https://developer.dealpos.com/openapi/openapi/variant/getvariantbycode.md): Get variant information by code. This endpoint does not return OnHand inventory; use the Get Inventory By Code endpoint to retrieve inventory. Requires the "VIEW" role in the "Products" group. ### Get a Variant By ID - [GET /api/v3/Variant/ID](https://developer.dealpos.com/openapi/openapi/variant/getvariantbyid.md): Get variant information by ID. Requires the "VIEW" role in the "Products" group. ### Get a Variant ComponentBy ID - [GET /api/v3/Variant/Component](https://developer.dealpos.com/openapi/openapi/variant/getvariantcomponentbyid.md): Get variant component information by ID. Requires the "VIEW" role in the "Products" group. ### Get Variant Code By List ID - [POST /api/v3/Variant/ListID](https://developer.dealpos.com/openapi/openapi/variant/getvariantlistid.md): Get variant codes and prices for a list of product IDs scoped to an outlet. ### Get Variant By List Code - [POST /api/v3/Variant/GetByListCode](https://developer.dealpos.com/openapi/openapi/variant/getvariantbylistcode.md): Get details for a list of variants by their codes (max 100 codes). ## Serial Operation related to Serial product type ### List Serial - [POST /api/v3/Serial](https://developer.dealpos.com/openapi/openapi/serial/get-serial.md): Return a list of variant serials (serialized or batch numbers). Can aggregate serial numbers across multiple outlets. ### Get Serial By Variant Code - [GET /api/v3/Serial/byVariantCode](https://developer.dealpos.com/openapi/openapi/serial/get-variant-serialized.md): Get serials for a specific variant identified by its code. Returns serialized/batch numbers for the given variant and outlet. ## Estimate Operations related to estimate, including create, get, etc
### Get Estimate List - [GET /api/v3/Estimate](https://developer.dealpos.com/openapi/openapi/estimate/getestimatelist.md): Get a list of estimates. Requires the "VIEW" role in the "Orders" group. ### Update Estimate - [PUT /api/v3/Estimate](https://developer.dealpos.com/openapi/openapi/estimate/putestimate.md): Update an estimate based on an order. Requires one of the following roles: "EDIT" in the "Estimate" module or "EDIT" in the "Global" module. ### Create an Estimate - [POST /api/v3/Estimate](https://developer.dealpos.com/openapi/openapi/estimate/postestimate.md): Create an estimate based on an order. Requires one of the following roles: "CREATE" in the "Estimate" module or "EDIT" in the "Global" module. ### Delete Estimate - [DELETE /api/v3/Estimate](https://developer.dealpos.com/openapi/openapi/estimate/deleteestimate.md): Delete an estimate invoice. Requires the "Delete" role in the "Estimate" module. ### Get Estimate Detail - [GET /api/v3/Estimate/Detail](https://developer.dealpos.com/openapi/openapi/estimate/getestimatedetail.md): Get estimate detail. Requires the "VIEW" role in the "Orders" group. ### List Estimate With Total Count - [GET /api/v3/Estimate/WithTotalCount](https://developer.dealpos.com/openapi/openapi/estimate/getestimatewithtotalcount.md): Get a list of estimates with total count. Requires the "VIEW" role in the "Orders" group. ### Convert To Sales Order - [PUT /api/v3/Estimate/ConvertToSalesOrder](https://developer.dealpos.com/openapi/openapi/estimate/put-estimate-converttosalesorder.md): Convert an estimate into a sales order. ### Convert To Invoice - [PUT /api/v3/Estimate/ConvertToInvoice](https://developer.dealpos.com/openapi/openapi/estimate/put-estimate-converttoinvoice.md): Convert an estimate into an invoice. ## Sales Order Operations related to sales order, including create, get, etc ### Create Sales Order - [POST /api/v3/SalesOrder](https://developer.dealpos.com/openapi/openapi/sales-order/createsalesorder.md): Create a new sales order. Requires the "Create" role in the "Sell" module or the "EDIT" role in the "Global" module. ### Delete Sales Order - [DELETE /api/v3/SalesOrder](https://developer.dealpos.com/openapi/openapi/sales-order/deletesalesorder.md): Delete Sales Order You must have "Delete" role in "Sell" Module ### Convert Sales Order to Invoice - [PUT /api/v3/SalesOrder/ConvertInvoice](https://developer.dealpos.com/openapi/openapi/sales-order/convertsalesordertoinvoice.md): Convert a sales order into an invoice. Requires the "Create" role in the "Sell" module or the "EDIT" role in the "Global" module. ### Update Sales Order Fields - [PUT /api/v3/SalesOrder/Field](https://developer.dealpos.com/openapi/openapi/sales-order/updatefieldsalesorder.md): Update metadata fields (ReferenceNumber, LogisticServiceCode, Note) and optionally the fulfillment state for an existing sales order. Requires the "Edit" role in the "Sell" module or the "EDIT" role in the "Global" module. ### Get Sales Order By List Number - [POST /api/v3/SalesOrder/GetByListNumber](https://developer.dealpos.com/openapi/openapi/sales-order/getsalesorderlistbylistnumber.md): Retrieve sales orders by a list of numbers. Requires the "View" role in the "Orders" module. ### Get Sales Order ID by Number - [GET /api/v3/SalesOrder/GetIDByNumber](https://developer.dealpos.com/openapi/openapi/sales-order/getsalesorderidbynumber.md): Get the sales order ID for a given number and outlet. Requires the "View" role in the "Orders" module. ### Get Sales Order Total Count - [POST /api/v3/SalesOrder/TotalCount](https://developer.dealpos.com/openapi/openapi/sales-order/salesorder-totalcount.md): Count sales orders for selected outlet(s) using provided filters. Requires the "View" role in the "Orders" module. ### Get Parked Order - [POST /api/v3/SalesOrder/GetParked](https://developer.dealpos.com/openapi/openapi/sales-order/getparkedorder.md): Get a list of parked (saved) sales orders across multiple outlets. ### Get Reference Number By Sales Order ID - [POST /api/v3/SalesOrder/GetReferenceNumber](https://developer.dealpos.com/openapi/openapi/sales-order/get-salesorder-getreferencenumber.md): Get reference numbers for a list of sales order IDs. ### Get Sales Order Next Number - [GET /api/v3/SalesOrder/GetNextNumber](https://developer.dealpos.com/openapi/openapi/sales-order/get-salesorder-getnextnumber.md): Get the next sales order number generated by the system for a given outlet. ## Invoice Operations related to invoice, including create, get, etc ### Create an Invoice - [POST /api/v3/Invoice](https://developer.dealpos.com/openapi/openapi/invoice/createinvoice.md): Create a new invoice in the system. Requires the "Create" role in the "Sell" module. ### Update an Invoice - [PUT /api/v3/Invoice](https://developer.dealpos.com/openapi/openapi/invoice/updateinvoice.md): Update an Invoices based on Number You must have "EDIT" role in "Orders" Module OR "EDIT" role in "Global" Module ### Delete an Invoice - [DELETE /api/v3/Invoice](https://developer.dealpos.com/openapi/openapi/invoice/deleteinvoice.md): Delete an Invoice based on Number You must have "DELETE" role in "Orders" Module ### List Invoice Multiple Outlet - [POST /api/v3/Invoice/MultipleOutlet](https://developer.dealpos.com/openapi/openapi/invoice/getinvoicelistmultipleoutlet.md): Get a list of invoices across multiple outlets with filtering options. ### List Invoice Multiple Outlet With Variant - [POST /api/v3/Invoice/MultipleOutlet/WithVariant](https://developer.dealpos.com/openapi/openapi/invoice/getinvoicelistmultipleoutletwithvariants.md): Get invoices across multiple outlets including variant details. ### List Invoice Multiple Outlet With Total Count - [POST /api/v3/Invoice/MultipleOutlet/WithTotalCount](https://developer.dealpos.com/openapi/openapi/invoice/getinvoicelistmultipleoutletwithtotalcount.md): Get invoices across multiple outlets with total count and filters. ### List Invoices Return - [POST /api/v3/Invoice/Return](https://developer.dealpos.com/openapi/openapi/invoice/listinvoicesreturn.md): Get a list of returned invoices with filtering options. Requires the "View" role in the "Orders" module. ### List Invoice With Total Count - [GET /api/v3/Invoice/WithTotalCount](https://developer.dealpos.com/openapi/openapi/invoice/getinvoicelistwithtotalcount.md): List invoices with total count and filtering options. Requires the "View" role in the "Orders" module. ### Get List Invoice ID - [GET /api/v3/Invoice/ListID](https://developer.dealpos.com/openapi/openapi/invoice/getlistidinvoice.md): Get a list of invoice IDs filtered by date range and outlets. Requires the "View" role in the "Orders" module. ### Get List Invoice ID by Key Set - [GET /api/v3/Invoice/ListIDByKeyset](https://developer.dealpos.com/openapi/openapi/invoice/getlistidinvoicebykeyset.md): Get a list of invoice IDs by date range and keyset (after ID) for pagination. Requires the "View" role in the "Orders" module. ### Get List Invoice By List ID - [GET /api/v3/Invoice/ListInvoiceByListID](https://developer.dealpos.com/openapi/openapi/invoice/getlistinvoicebylistid.md): Get invoices for a list of invoice IDs. Requires the "View" role in the "Orders" module. ### Create Multiple Invoice - [POST /api/v3/Invoice/List](https://developer.dealpos.com/openapi/openapi/invoice/createmultipleinvoice.md): Create multiple invoices in a single request. Requires the "CREATE" role in the "Orders" module. ### Get Invoice By - [GET /api/v3/Invoice/Detail](https://developer.dealpos.com/openapi/openapi/invoice/getinvoicedetail.md): Retrieve invoice details by number, ID, or outlet. Requires the "View" role in the "Orders" module. Use one of the following parameter combinations to retrieve an invoice detail: By Invoice & Outlet Name: GET /Invoice/Detail?Number=20.05.00157&Outlet=Outlet1 Example Pair: > Outlet: Outlet 1 > Number: 20.05.00157 By Invoice & Outlet ID: GET /Invoice/Detail?Number=20.05.00157&OutletID=9c8a1b0e-1c9c-4b3f-9a7d-2e5f6a7b8c9d Example Pair: > OutletID: 9c8a1b0e-1c9c-4b3f-9a7d-2e5f6a7b8c9d > Number: 20.05.00157 By Invoice ID: GET /Invoice/Detail?ID=aad4a789-b802-49c1-b66f-f45fbc7ce17f Example: > ID: aad4a789-b802-49c1-b66f-f45fbc7ce17f ### Get Invoice ID By Number - [GET /api/v3/Invoice/IDByNumber](https://developer.dealpos.com/openapi/openapi/invoice/getinvoiceidbynumber.md): Get the invoice ID for a given invoice number and outlet. Requires the "View" role in the "Orders" module. ### Send Receipt By Email - [POST /api/v3/Invoice/SendReceiptByEmail](https://developer.dealpos.com/openapi/openapi/invoice/sendreceiptbyemail.md): Send an invoice receipt to the customer by email. Requires the "View" role in the "Orders" module. ### Invoice Count - [GET /api/v3/Invoice/GetCountMultipleOutlet](https://developer.dealpos.com/openapi/openapi/invoice/getcountmultipleoutlet.md): Count total invoices across multiple outlets using the provided filters. ### List Invoice by Number - [POST /api/v3/Invoice/GetByListNumber](https://developer.dealpos.com/openapi/openapi/invoice/getbylistnumber.md): Retrieve multiple invoices by their numbers. Requires the "View" role in the "Orders" module. ### List Invoice Multiple Outlet and Payment - [POST /api/v3/Invoice/MultipleOutletNPayment](https://developer.dealpos.com/openapi/openapi/invoice/getinvoicemultipleoutletnpayment.md): Get invoices across multiple outlets with payment-state filters. ### Void Invoice - [PUT /api/v3/Invoice/Void](https://developer.dealpos.com/openapi/openapi/invoice/voidinvoice.md): Void an invoice to the recycle bin (soft delete). Requires the "EDIT" role in the "Sell" module or the "VoidInvoice" role in the "Orders" module. ### Restore Invoice - [PUT /api/v3/Invoice/Restore](https://developer.dealpos.com/openapi/openapi/invoice/restoreinvoice.md): Restore an invoice from the recycle bin. Requires the "EDIT" role in the "Sell" module or the "EDIT" role in the "Global" module. ### Erase Invoice - [DELETE /api/v3/Invoice/Erase](https://developer.dealpos.com/openapi/openapi/invoice/invoice-erase.md): Permanently erase an invoice from the recycle bin; this action cannot be undone. Requires the "DELETE" role in the "ORDER" module or the "DELETE" role in the "Global" module. ### List Join Invoice - [GET /api/v3/Invoice/Join](https://developer.dealpos.com/openapi/openapi/invoice/getjoininvoicelist.md): Get a paginated list of joined invoices. Requires the "View" role in the "Debt" module. ### List Join Invoice with Total Count - [GET /api/v3/Invoice/Join/TotalCount](https://developer.dealpos.com/openapi/openapi/invoice/getjoininvoicelisttotalcount.md): Get a paginated list of joined invoices with total count. Requires the "View" role in the "Debt" module. ### Join Invoice Detail - [GET /api/v3/Invoice/Join/Detail/{id}](https://developer.dealpos.com/openapi/openapi/invoice/getjoininvoicedetail.md): Retrieve joined invoice details by join-invoice ID. Requires the "View" role in the "Debt" module. ### Get Reference Number By Invoice ID - [POST /api/v3/Invoice/GetReferenceNumber](https://developer.dealpos.com/openapi/openapi/invoice/get-invoice-getreferencenumber.md): Get reference numbers for a list of invoice IDs. ### Update Note in Invoice - [PUT /api/v3/Invoice/Note](https://developer.dealpos.com/openapi/openapi/invoice/put-invoice-note.md): Add or edit the note on an invoice. Requires the "EDIT" role in the "Sell" module. ## Shift Operation related to shift, including create, get, etc ### Get List Of Shifts - [GET /api/v3/Shift](https://developer.dealpos.com/openapi/openapi/shift/getshiftlist.md): Retrieve a paginated list of shifts with optional filters (register, outlet, date range). Requires the "Shift" - "VIEW" group. ### Close register/end shift - [PUT /api/v3/Shift](https://developer.dealpos.com/openapi/openapi/shift/closeshift.md): Close a register to end the current shift. Requires the "Shift" - "VIEW" group. ### Open Shift - [POST /api/v3/Shift](https://developer.dealpos.com/openapi/openapi/shift/openshift.md): Open a new shift for a register. Requires the "Shift" - "VIEW" group. ### Delete Shift - [DELETE /api/v3/Shift](https://developer.dealpos.com/openapi/openapi/shift/deleteshift.md): Delete Previous Shift Invoice You must have "Delete" role in "Shift" Module ### Get List Of Shifts with Total Count - [GET /api/v3/Shift/TotalCount](https://developer.dealpos.com/openapi/openapi/shift/getshiftlisttotalcount.md): Retrieve shifts with product summaries and the total matching count. Requires the "Shift" - "VIEW" group. ### Get Shift Invoice Detail - [GET /api/v3/Shift/InvoiceDetail](https://developer.dealpos.com/openapi/openapi/shift/getshiftinvoicedetail.md): Retrieve invoice details within a shift with pagination. Filter by register, invoice number, or shift ID. Requires the "Shift" - "VIEW" group. ### Get Shift Invoice Detail With Note - [GET /api/v3/Shift/InvoiceDetailWithNote](https://developer.dealpos.com/openapi/openapi/shift/getshiftinvoicedetailwithnote.md): Retrieve invoice details within a shift, including notes, with pagination and optional filters. ### Get Shift By Number - [GET /api/v3/Shift/Number](https://developer.dealpos.com/openapi/openapi/shift/getshiftnumber.md): Retrieve shift details by number and outlet. Requires the "Shift" - "VIEW" group. ### Void Previous Shift - [DELETE /api/v3/Shift/Void](https://developer.dealpos.com/openapi/openapi/shift/void-shift.md): Void a previous shift invoice. Requires the "Void" role in "Shift" Module. ### Erase Previous Shift - [DELETE /api/v3/Shift/Erase](https://developer.dealpos.com/openapi/openapi/shift/delete-shift-erase.md): Permanently erase a previous shift invoice. Requires the "Erase" role in "Orders" Module. ## Report Operations related to report page, including create, get, etc ### Get Sales Invoice - [POST /api/v3/Report](https://developer.dealpos.com/openapi/openapi/report/getreport.md): Get sales transactions. Requires the "VIEW" role in the "Report" group. ### Get Sales Invoice by Sales Person - [GET /api/v3/Report/SalesPerson](https://developer.dealpos.com/openapi/openapi/report/getsalesinvoicebysalesperson.md): Get sales summary grouped by sales person for a date range. Requires the "VIEW" role in the "Report" group. ### Get Sales Aggregate - [GET /api/v3/Report/GetSalesAggregate](https://developer.dealpos.com/openapi/openapi/report/getsalesaggregate.md): Get aggregated sales data for a date range (sales, tax, cost, profit, etc.). Requires the "VIEW" role in the "Report" group. ### Get Outlet Performance - [GET /api/v3/Report/OutletPerformance](https://developer.dealpos.com/openapi/openapi/report/getoutletperformance.md): Get sales performance metrics grouped by outlet (sales, cost, profit, etc.). Requires the "VIEW" role in the "Report" group. ### Get Sales Invoice With Item Net Sales - [GET /api/v3/Report/WithItemNetSales](https://developer.dealpos.com/openapi/openapi/report/getsalesinvoicewithitemnetsales.md): Get sales invoices including prorated net-sales per item. Requires the "VIEW" role in the "Report" group. ### Get Daily Sales By Month - [POST /api/v3/Report/DailySales](https://developer.dealpos.com/openapi/openapi/report/getdailysales.md): Get daily sales totals for a specified year (grouped by month). Requires the "VIEW" role in the "Report" group. ### Get Sales Invoice With Item Net Sales Complete - [GET /api/v3/Report/WithItemNetSalesComplete](https://developer.dealpos.com/openapi/openapi/report/getsalesinvoicewithitemnetsalescomplete.md): Get sales invoices including prorated net-sales per item (complete view). Requires the "VIEW" role in the "Report" group. ### Get Product Sold - [GET /api/v3/Report/ProductSold](https://developer.dealpos.com/openapi/openapi/report/getproductsold.md): Get product sales report (quantity, sales, cost, profit) for a date range. Requires the "VIEW" role in the "Report" group. ### Get Sales Group by Outlet Tag - [POST /api/v3/Report/InvoiceGroupByOutletNTag](https://developer.dealpos.com/openapi/openapi/report/getsalesgroupbyoutlettag.md): Get sales grouped by outlet and channel tag for charting. Requires the "VIEW" role in the "Report" group. ### Get Product Sales by SKU Group by Day - [GET /api/v3/Report/ProductSold/BySKUGroupDay](https://developer.dealpos.com/openapi/openapi/report/getproductsalesbyskugroupbyday.md): Get daily product sales quantities grouped by SKU (or variant) for a date range. Requires the "VIEW" role in the "Report" group. ## 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. ## Comment Operations related to comment (Contact Feedback), including create, get, etc ### Get Customer Comment - [GET /api/v3/Comments](https://developer.dealpos.com/openapi/openapi/comment/get-comment.md): Get customer comments with optional date and pagination filters. Requires the "Customer" - "VIEW" group. ## Supplier Operations related to supplier data, including create, get, etc ### List Supplier - [GET /api/v3/Supplier](https://developer.dealpos.com/openapi/openapi/supplier/listsupplier.md): Retrieve a paginated list of suppliers. Requires the "Contacts" - "VIEW" group. ### Create Supplier - [POST /api/v3/Supplier](https://developer.dealpos.com/openapi/openapi/supplier/createsupplier.md): Create a new supplier with the provided information. Requires the "CREATE" role in "Contacts" Module. ### Update Supplier By Code - [PUT /api/v3/Supplier/ByCode](https://developer.dealpos.com/openapi/openapi/supplier/updatesupplierbycode.md): Update a supplier identified by supplier code. Requires the "EDIT" role in "Contacts" module or the "EDIT" role in "Global" module. ### Delete Supplier By Code - [DELETE /api/v3/Supplier/DeleteByCode](https://developer.dealpos.com/openapi/openapi/supplier/deletesupplierbycode.md): Delete a supplier identified by supplier code. Requires the "DELETE" role in "Contacts" Module. ### Get Supplier By Code - [GET /api/v3/Supplier/Code](https://developer.dealpos.com/openapi/openapi/supplier/getsupplierbycode.md): Retrieve a supplier by supplier code. Requires the "Contacts" - "VIEW" group. ### List Supplier With Total Count - [GET /api/v3/Supplier/WithTotalCount](https://developer.dealpos.com/openapi/openapi/supplier/listsupplierwithtotalcount.md): Retrieve a paginated list of suppliers with the total matching count. Requires the "Orders" - "VIEW" group. ### Get Supplier By List ID - [GET /api/v3/Supplier/ListID](https://developer.dealpos.com/openapi/openapi/supplier/getsupplierbylistid.md): Retrieve multiple suppliers by a list of supplier IDs. Requires the "Contacts" - "VIEW" group. ### Merge Supplier - [PUT /api/v3/Supplier/Merge](https://developer.dealpos.com/openapi/openapi/supplier/put-supplier-merge.md): Merge multiple supplier records into a single target supplier. Requires appropriate permissions to delete and modify supplier records. ## Invoice Payment Operations related to invoice payment, including create, get, etc ### Received by Outlet - [GET /api/v3/Payment/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-payment/getpaymentinvoice.md): Get invoice payment summary grouped by outlet for a date range. Requires the "VIEW" role in the "Payment" module. ### Add Payment - [POST /api/v3/Payment/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-payment/postpaymentinvoice.md): Add payment(s) to an invoice, supporting validation and outlet ID options. Requires the "ADD" role in the "Payment" module or the "EDIT" role in the "Global" module. ### Delete Payment - [DELETE /api/v3/Payment/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-payment/deletepaymentinvoice.md): Delete Payment in invoice You must have "Edit" role in "Payment" Module ### Payment Invoice Detail - [GET /api/v3/Payment/Invoice/Detail/ID](https://developer.dealpos.com/openapi/openapi/invoice-payment/getpaymentinvoicedetail.md): Get payment invoice detail by Invoice ID. Required Group Role: "Payment" - "VIEW" ### Add Payment (Full Payment) - [POST /api/v3/Payment/Invoice/AddPaymentFull](https://developer.dealpos.com/openapi/openapi/invoice-payment/postpaymentinvoicefull.md): > #### Terminology Changes > > StateFilter, will be changed into UnpaidValidation in the upcoming update, the old one will remain works. > This endpoint is a fractions from API/V3/Payment/Invoice. In This endpoint, you will not need to fill the exact payment amount in order to fill the entire payments (fully paid). You will only need to fill the Amount to 0 (zero). Please see the request example attached. You must have "ADD" role in "Payment" Module OR "EDIT" role in "Global" Module ## Bill Payment Operations related to bill payment, including create, get, etc ### Add Payment - [POST /api/v3/Payment/SupplierBill](https://developer.dealpos.com/openapi/openapi/bill-payment/postpaymentsupplierbill.md): Add payment entries to a supplier bill. Requires the "ADD" role in the "Payment" module or the "EDIT" role in the "Global" module. ### Delete Payment - [DELETE /api/v3/Payment/SupplierBill](https://developer.dealpos.com/openapi/openapi/bill-payment/deletepaymentsupplierbill.md): Delete a payment from a supplier bill by number and outlet. Requires the "Edit" role in the "Payment" module. ## Invoice Write Off Operations related to invoice write off, including create, get, etc ### Get WriteOff Invoice by Number - [GET /api/v3/WriteOff/Invoice/Number](https://developer.dealpos.com/openapi/openapi/invoice-write-off/getwriteoffinvoicebynumber.md): Get details of a write-off invoice by its number and outlet. ### List WriteOff Invoice - [GET /api/v3/WriteOff/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-write-off/listwriteoffinvoices.md): Get a list of write-off invoices filtered by date and outlet. ### Update Write Off - [PUT /api/v3/WriteOff/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-write-off/put-writeoff-invoice.md): Update a write-off payment on an invoice. Requires the "ADD" role in the "Payment" module. ### Add Write Off - [POST /api/v3/WriteOff/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-write-off/post-writeoff-invoice.md): Create a write-off for an invoice (only allowed for invoices with status "Unpaid" or "Partial"). Requires the "ADD" role in the "Payment" module. ### Delete Write Off - [DELETE /api/v3/WriteOff/Invoice](https://developer.dealpos.com/openapi/openapi/invoice-write-off/delete-writeoff-invoice.md): Delete WriteOff payment in Invoice ### Get WriteOff By List Invoice Number - [POST /api/v3/WriteOff/Invoice/ListInvoiceNumber](https://developer.dealpos.com/openapi/openapi/invoice-write-off/get-writeoff-invoice-listinvoicenumber.md): Get write-off invoices for a list of invoice numbers scoped to an outlet. ## Inventory Operations related to inventory, including create, get, etc ### Get Inventory By List - [GET /api/v3/Inventory](https://developer.dealpos.com/openapi/openapi/inventory/getinventorybylist.md): Get a list of inventory items with optional filters (outlet, category, quantity, tags). Requires the "VIEW" role in the "Inventory" group. ### Inventory Count - [POST /api/v3/Inventory/Count](https://developer.dealpos.com/openapi/openapi/inventory/inventorycount.md): Count of inventory items with optional filters (outlet, category, quantity, tags). Requires the "VIEW" role in the "Inventory" group. ### Get Inventory By Code - [POST /api/v3/Inventory/Code](https://developer.dealpos.com/openapi/openapi/inventory/getinventorybycode.md): Get inventory details for a variant code across outlets. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory Modified Since Date - [GET /api/v3/Inventory/Modified](https://developer.dealpos.com/openapi/openapi/inventory/getinventorymodified.md): Get inventory items modified since the provided date-time, sorted by last modified descending. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory Modified Since Date with Count - [GET /api/v3/Inventory/Modified/Count](https://developer.dealpos.com/openapi/openapi/inventory/getinventorymodifiedcount.md): Get the count of inventory items modified since the provided date-time. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory By Code Array - [POST /api/v3/Inventory/CodeArray](https://developer.dealpos.com/openapi/openapi/inventory/getinventorybycodearray.md): Get inventory quantities for multiple variant codes across outlets. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory By ListCode Group by Outlet - [POST /api/v3/Inventory/CodeArrayGroupByOutlet](https://developer.dealpos.com/openapi/openapi/inventory/getinventorybylistcodegroupbyoutlet.md): Get inventory quantities for multiple variant codes grouped by outlet. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory By List ID - [POST /api/v3/Inventory/ListID](https://developer.dealpos.com/openapi/openapi/inventory/getinventorybylistid.md): Get inventory details for a list of variant IDs across specified outlets. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory By List Code - [POST /api/v3/Inventory/ListCode](https://developer.dealpos.com/openapi/openapi/inventory/getinventorybylistcode.md): Get inventory for a list of variant codes across specified outlets. Requires the "VIEW" role in the "Inventory" group. ### Get List Inventory With Total Count - [GET /api/v3/Inventory/WithTotalCount](https://developer.dealpos.com/openapi/openapi/inventory/getinventorywithtotalcount.md): Get a list of inventory items with total count and optional filters. Requires the "VIEW" role in the "Inventory" group. ### Get Inventory Days Of - [POST /api/v3/Inventory/DaysOf](https://developer.dealpos.com/openapi/openapi/inventory/getinventorydaysof.md): Get Inventory Days Of to forecast inventory depletion and replenishment needs Requires the "VIEW" role in the "Inventory" group. ### Get Inventory In Transit - [POST /api/v3/Inventory/InTransit](https://developer.dealpos.com/openapi/openapi/inventory/get-inventory-intransit.md): Get inventory in-transit quantities for specified destination outlets and category. ## Inventory Log Operations related to inventory log, including create, get, etc ### Get Inventory Log - [GET /api/v3/Inventory/Log](https://developer.dealpos.com/openapi/openapi/inventory-log/getinventorylog.md): Get inventory movement logs for a variant (by code or variant ID) with optional outlet and date filters. Requires the "VIEW" role in the "Inventory" group. ## Inventory Adjustment Operations related to inventory adjustment, including create, get, etc ### Create Adjustment by Updating Inventory - [POST /api/v3/Adjustment/Set](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/createadjustment.md): Create an inventory adjustment by setting available quantities. Requires one of the following roles: "ADD" in the "Adjustment" module or "EDIT" in the "Global" module. Products with type "Composite" and "Non Inventory" cannot be adjusted. When the InventoryAdjustment Approval config is enabled, newly created adjustments will be assigned StateID 1 (In Progress) or StateID 2 (Waiting for Approval). ### Update Adjustment with Type Count Quantity - [PUT /api/v3/Adjustment/Set](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/updateadjustmentset.md): Update a count-type inventory adjustment by setting available quantities for draft adjustments. Requires one of the following roles: "ADD" in the "Adjustment" module or "EDIT" in the "Global" module. Products with type "Composite" and "Non Inventory" cannot be adjusted. When the InventoryAdjustment Approval config is enabled, updated adjustments may transition to StateID 1 (Draft) or StateID 2 (Pending). ### Create Adjustment by Adjusting Differences - [POST /api/v3/Adjustment](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/createadjustmentbyadjustingdifferences.md): Create an inventory adjustment by incrementing or decrementing quantities. Requires the "ADD" role in the "Adjustment" module or the "EDIT" role in the "Global" module. ### Update an Adjustment - [PUT /api/v3/Adjustment](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/updateadjustment.md): Update an existing inventory adjustment for a specific outlet and number. Requires the "EDIT" role in the "Adjustment" module or the "EDIT" role in the "Global" module. ### Delete an Adjustment - [DELETE /api/v3/Adjustment](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/deleteadjustment.md): Delete an inventory adjustment by number. Requires the "DELETE" role in the "Adjustment" module. ### List Adjustment - [GET /api/v3/Adjustment](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/listadjustment.md): >Also available as HTTP POST (endpoint: /api/v3/Adjustment/p) Get List of Adjustment Required Group Role: "Adjustment" - "VIEW" ### Get Adjustment By - [GET /api/v3/Adjustment/Detail](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/getadjustmentdetail.md): Get adjustment details by number or ID. Requires the "VIEW" role in the "Adjustment" module. ### Get Adjustment By ID - [GET /api/v3/Adjustment/ID](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/getadjustmentbyid.md): Get adjustment detail by adjustment ID. Requires the "VIEW" role in the "Adjustment" group. ### List Adjustment With Total Count - [GET /api/v3/Adjustment/WithTotalCount](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/listadjustmentwithtotalcount.md): Get a list of adjustments with total count, filterable by date range, page number, page size, and adjustment number. Requires the "VIEW" role in the "Adjustment" group. ### Get Adjustment Workflow - [GET /api/v3/Adjustment/Workflow](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/getadjustmentworkflow.md): Get the adjustment workflow configuration from system settings. ### Submit Review Adjustment - [PUT /api/v3/Adjustment/Submit](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/put-adjustment-submit.md): Submit a pending inventory adjustment for review by outlet and adjustment number. Requires the "APPROVAL" role in the "Adjustment" module. ### Accept Adjustment - [PUT /api/v3/Adjustment/Accept](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/put-adjustment-accept.md): Accept an inventory adjustment by outlet and adjustment number. Requires the "APPROVAL" role in the "Adjustment" module. ### Reject Adjustment - [PUT /api/v3/Adjustment/Reject](https://developer.dealpos.com/openapi/openapi/inventory-adjustment/put-adjustment-reject.md): Reject an inventory adjustment by outlet and adjustment number. Requires the "APPROVAL" role in the "Adjustment" module. ## Bill Operations related to bill, including create, get, etc ### Create a Bill - [POST /api/v3/Bill](https://developer.dealpos.com/openapi/openapi/bill/createbill.md): Create a supplier bill. Requires one of the following roles: "CREATE" in the "Buy" module or "EDIT" in the "Global" module. ### Update a Bill - [PUT /api/v3/Bill](https://developer.dealpos.com/openapi/openapi/bill/updatebill.md): Update a supplier bill by number. Requires one of the following roles: "EDIT" in the "Orders" module or "EDIT" in the "Global" module. ### List Bills - [GET /api/v3/Bill](https://developer.dealpos.com/openapi/openapi/bill/listbills.md): List supplier bills filtered by outlet and date range. Requires the "SupplierBill" role in the "Orders" module. ### Delete a Bill - [DELETE /api/v3/Bill](https://developer.dealpos.com/openapi/openapi/bill/deletebill.md): Delete a supplier bill by outlet and number. Requires the "DELETE" role in the "Buy" module. ### Get a Bill By Number - [GET /api/v3/Bill/Number](https://developer.dealpos.com/openapi/openapi/bill/getbillbynumber.md): Get a supplier bill detail by bill number. Requires the "SupplierBill" role in the "Orders" Module. ### Get a Bill by - [GET /api/v3/Bill/Detail](https://developer.dealpos.com/openapi/openapi/bill/get-bill-by.md): Get supplier bill details by bill ID or number. Requires the "SupplierBill" role in the "Orders" module. ### List Bills With Total Count - [GET /api/v3/Bill/WithTotalCount](https://developer.dealpos.com/openapi/openapi/bill/listbillwithtotalcount.md): Get a list of supplier bills with total count, filterable by outlet and date range. Requires the "SupplierBill" role in the "Orders" Module. ### Bill Count - [POST /api/v3/Bill/GetCountMultipleOutlet](https://developer.dealpos.com/openapi/openapi/bill/getcountmultipleoutlets.md): Count total bills across multiple outlets for a given date range. Supports optional filters such as payment state, delivery state, and bin. ### Get a Bill by ID - [GET /api/v3/Bill/ID](https://developer.dealpos.com/openapi/openapi/bill/get-bill-id.md): Get a supplier bill detail by bill ID. Requires the "SupplierBill" role in the "Orders" Module. ### Join Bill Detail - [GET /api/v3/Bill/Join/Detail/{id}](https://developer.dealpos.com/openapi/openapi/bill/getjoinbilldetail.md): Get join bill details by join bill ID. Requires the "Debt" - "View" group. ### List Join Bill - [GET /api/v3/Bill/Join](https://developer.dealpos.com/openapi/openapi/bill/getjoinbilllist.md): Get a list of join bills. Requires the "Debt" - "View" group. ### List Join Bill with Total Count - [GET /api/v3/Bill/Join/TotalCount](https://developer.dealpos.com/openapi/openapi/bill/getjoinbilllisttotalcount.md): Get a list of join bills with total count. Requires the "Debt" - "View" group. ## OutboundLogistic Operations related to outbound logistic, including create, get, etc ### List OutboundLogistic - [GET /api/v3/OutboundLogistic](https://developer.dealpos.com/openapi/openapi/outboundlogistic/listoutboundlogistic.md): Get a list of customer deliveries within a date range. Requires the "VIEW" role in the "Logistic" module. ### Delete OutboundLogistic - [DELETE /api/v3/OutboundLogistic](https://developer.dealpos.com/openapi/openapi/outboundlogistic/deleteoutboundlogistic.md): Delete a customer delivery by number and outlet or outlet ID. Requires the "DELETE" role in the "Logistic" module. ### Create OutboundLogistic New - [POST /api/v3/OutboundLogistic/New](https://developer.dealpos.com/openapi/openapi/outboundlogistic/createoutboundlogisticnew.md): Use this API to send an Outbound Logistic from an Invoice and set tracking number ### Get OutboundLogistic By Number - [GET /api/v3/OutboundLogistic/Number](https://developer.dealpos.com/openapi/openapi/outboundlogistic/getoutboundlogisticbynumber.md): Get customer delivery (outbound logistic) details by delivery number. Requires the "VIEW" role in the "Logistic" group. ### Get OutboundLogistic By Order Number - [GET /api/v3/OutboundLogistic/byOrderNumber](https://developer.dealpos.com/openapi/openapi/outboundlogistic/oubound-logistic-bynumber.md): >Also available as HTTP POST with the same endpoint Get Customer Delivery By Order / Invoice Number Required Group Role: "Logistic" - "VIEW" ### List OutboundLogistic With Total Count - [GET /api/v3/OutboundLogistic/WithTotalCount](https://developer.dealpos.com/openapi/openapi/outboundlogistic/getoutboundlogisticwithtotalcount.md): Get a list of customer deliveries (outbound logistics) with total count. Requires the "VIEW" role in the "Logistic" group. ## InboundLogistic Operations related to inbound logistic, including create, get, etc ### List InboundLogistic - [GET /api/v3/InboundLogistic](https://developer.dealpos.com/openapi/openapi/inboundlogistic/get-inboundlogistic.md): Get a list of inbound logistics (supplier deliveries) with optional date and outlet filters. Requires the "View" role in the "Logistic" module. ### Create InboundLogistic - [POST /api/v3/InboundLogistic](https://developer.dealpos.com/openapi/openapi/inboundlogistic/post-inboundlogistic.md): Receive a supplier delivery (inbound logistic) by number. Requires the "DelC" role in the "Logistic" module; if purchase workflow approval is configured, the "PurA" role in the "Buy" module may be required. ### Delete Inbound Logistic - [DELETE /api/v3/InboundLogistic](https://developer.dealpos.com/openapi/openapi/inboundlogistic/delete-inboundlogistic.md): Delete an inbound logistic entry. Requires the "DELETE" role in the "Logistic" module. ### Get InboundLogistic By Number - [GET /api/v3/InboundLogistic/Number](https://developer.dealpos.com/openapi/openapi/inboundlogistic/inboundnumber.md): Get inbound logistic details by number for a specific outlet. Requires the "VIEW" role in the "Logistic" group. ### Get InboundLogistic By Order Number - [GET /api/v3/InboundLogistic/byOrderNumber](https://developer.dealpos.com/openapi/openapi/inboundlogistic/ordnumberinbound.md): Get supplier delivery records by order or invoice number. Requires the "VIEW" role in the "Logistic" group. ### Get InboundLogistic With Total Count - [GET /api/v3/InboundLogistic/WithTotalCount](https://developer.dealpos.com/openapi/openapi/inboundlogistic/withtotalcountinbound.md): Get a list of supplier deliveries with total count. Requires the "VIEW" role in the "Logistic" group. ## TransferOrder Operations related to transfer order, including create, get, etc ### Create TransferOrder - [POST /api/v3/TransferOrder](https://developer.dealpos.com/openapi/openapi/transferorder/createtransferorder.md): Create a transfer order (outlet delivery). Requires the "CREATE" role in the "Logistic" module. ### Update TransferOrder - [PUT /api/v3/TransferOrder](https://developer.dealpos.com/openapi/openapi/transferorder/updatetransferorder.md): >Previous Endpoint: /api/v3/OutletDelivery. As for now, both the new & the old ones can be use. Update an Outlet Delivery You must have "EDIT" role in "Logistic" Module OR "EDIT" role in "Global" Module ### List TransferOrder - [GET /api/v3/TransferOrder](https://developer.dealpos.com/openapi/openapi/transferorder/listtransferorder.md): >Previous Endpoint: /api/v3/OutletDelivery. As for now, both the new & the old ones can be use. >Also available as HTTP POST (endpoint: /api/v3/OutletDelivery/p) Get List of Outlet Delivery Required Group Role: "Logistic" - "VIEW" ### Delete TransferOrder - [DELETE /api/v3/TransferOrder](https://developer.dealpos.com/openapi/openapi/transferorder/deletetransferorder.md): >Previous Endpoint: /api/v3/OutletDelivery. As for now, both the new & the old ones can be use. Delete Outlet Delivery You must have "DELETE" role in "Logistic" Module ### Void TransferOrder - [PUT /api/v3/TransferOrder/Void](https://developer.dealpos.com/openapi/openapi/transferorder/voidtransferorder.md): Void an Transfer Order ### Get Transfer Order Workflow - [GET /api/v3/TransferOrder/Workflow](https://developer.dealpos.com/openapi/openapi/transferorder/gettransferorderworkflow.md): > Get Transfer Order Workflow based on configuration set in the system ### Get TransferOrder by Number - [GET /api/v3/TransferOrder/Detail](https://developer.dealpos.com/openapi/openapi/transferorder/gettransferorderdetail.md): Get transfer order details by number. Requires the "VIEW" role in the "Logistic" group. ### Update Status TransferOrder - [PUT /api/v3/TransferOrder/UpdateStatus](https://developer.dealpos.com/openapi/openapi/transferorder/updatetransferorderstatus.md): Update the transfer order status. Requires one of the following roles: "EDIT" in the "Delivery" module or "EDIT" in the "Global" module. ### List TransferOrder With Total Count - [GET /api/v3/TransferOrder/WithTotalCount](https://developer.dealpos.com/openapi/openapi/transferorder/gettransferorderwithtotalcount.md): Get a list of transfer orders with total count. Requires the "VIEW" role in the "Logistic" group. ## Fulfillment Operations related to fulfillment, including create, get, etc ### List of New Order Fulfillment - [GET /api/v3/Fulfillment/NewOrder](https://developer.dealpos.com/openapi/openapi/fulfillment/getfulfillmentneworder.md): Get a list of new fulfillment orders that are not yet picked. Requires the "VIEW" role in the "Fulfillment" group. ### List of New Order Fulfillment With Product - [GET /api/v3/Fulfillment/NewOrderWithProduct](https://developer.dealpos.com/openapi/openapi/fulfillment/getfulfillmentneworderwithproduct.md): Get a list of new fulfillment orders with product details that are not yet picked. Requires the "VIEW" role in the "Fulfillment" group. ### List of New Order Fulfillment With Product and Total Count - [GET /api/v3/Fulfillment/NewOrderWithProduct/TotalCount](https://developer.dealpos.com/openapi/openapi/fulfillment/getfulfillmentneworderwithproducttotalcount.md): Get a list of new fulfillment orders with product details and total count that are not yet picked. Requires the "VIEW" role in the "Fulfillment" group. ### Get PickList by Number - [GET /api/v3/PickList/Number](https://developer.dealpos.com/openapi/openapi/fulfillment/getpicklistbynumber.md): Retrieve pick list details by number, fulfillment outlet, and order outlet. Requires the "Fulfillment" - "VIEW" group. ### Get PickList with Product and Total Count - [GET /api/v3/PickList/TotalCount](https://developer.dealpos.com/openapi/openapi/fulfillment/getfulfillmentpicklistwithproducttotalcountunique.md): Retrieve pick lists including product details and the total count of matching records. Requires the "Fulfillment" - "VIEW" group. ### Get PickList - [GET /api/v3/PickList](https://developer.dealpos.com/openapi/openapi/fulfillment/getpicklist.md): Retrieve a list of pick lists filtered by date range, outlet, or state. Requires the "Fulfillment" - "VIEW" group. ### Create PickList - [POST /api/v3/PickList](https://developer.dealpos.com/openapi/openapi/fulfillment/post-picklist.md): Create a new pick list from an order. Requires the "Fulfillment" - "CREATED" group. ### Delete PickList - [DELETE /api/v3/PickList](https://developer.dealpos.com/openapi/openapi/fulfillment/delete-picklist.md): Delete an existing pick list identified by outlet and number. ### Get PickList by ID - [GET /api/v3/PickList/ID/{id}](https://developer.dealpos.com/openapi/openapi/fulfillment/getpicklistbyid.md): Retrieve pick list details by ID. Requires the "Fulfillment" - "VIEW" group. ### Assign Picklist - [PUT /api/v3/PickList/Assign](https://developer.dealpos.com/openapi/openapi/fulfillment/pack-picklist.md): Assign pick lists to a user by PickListID or by fulfillment/outlet/number. Requires the "Fulfillment" - "EDIT" group. Recommended: use PickListID for faster, more specific assignment. ### Pack PickList - [PUT /api/v3/PickList/Pack](https://developer.dealpos.com/openapi/openapi/fulfillment/pack-picklist-unique.md): Mark assigned pick lists as packed. Requires the "Fulfillment" - "CREATED" group. ### Ship PickList - [PUT /api/v3/PickList/Ship](https://developer.dealpos.com/openapi/openapi/fulfillment/shippicklistunique.md): Mark packed pick lists as shipped. Requires the "Fulfillment" - "CREATED" group. ## Prepaid Package Operations related to prepaid package, including create, get, etc ### Check In for Prepaid Package - [POST /api/v3/PrepaidPackage/CheckIn](https://developer.dealpos.com/openapi/openapi/prepaid-package/checkinprepaidpackage.md): Check a member into a prepaid package session. Requires the "CREATE" role in "Prepaid Packages" Module. ### Check Out for Prepaid Package - [POST /api/v3/PrepaidPackage/CheckOut](https://developer.dealpos.com/openapi/openapi/prepaid-package/checkoutprepaidpackage.md): Check a member out of a prepaid package session. Requires the "CREATE" role in "Prepaid Packages" Module. ### Get Prepaid Package History - [POST /api/v3/PrepaidPackage/History](https://developer.dealpos.com/openapi/openapi/prepaid-package/post-prepaidpackage-history.md): Retrieve prepaid package history with optional filters and pagination. Requires the "VIEW" role in "Prepaid Packages" Module. ### Get Prepaid Package History Detail - [POST /api/v3/PrepaidPackage/History/Detail](https://developer.dealpos.com/openapi/openapi/prepaid-package/post-prepaidpackage-history-detail.md): Retrieve detailed history for a single prepaid package by outlet and number. Requires the "VIEW" role in "Prepaid Packages" Module. ### Get Prepaid Package List - [POST /api/v3/PrepaidPackage/List](https://developer.dealpos.com/openapi/openapi/prepaid-package/post-prepaidpackage-list.md): Retrieve a list of prepaid packages with optional filters such as outlet, customer, and date range. Requires the "VIEW" role in "Prepaid Packages" Module. ## Promotion Coupon Operations related to promotion coupon, including create, get, etc ### List Promotion Coupons - [GET /api/v3/PromotionCoupon](https://developer.dealpos.com/openapi/openapi/promotion-coupon/listpromotioncoupon.md): Get a list of promotion coupons. Requires the "VIEW" role in the "Promotion" group. ### Create a Promotion Coupon - [POST /api/v3/PromotionCoupon](https://developer.dealpos.com/openapi/openapi/promotion-coupon/createpromotioncoupon.md): Create a new promotion coupon. Requires the "CREATE" role in the "Promotion" module. ### Delete a Promotion Coupon - [DELETE /api/v3/PromotionCoupon](https://developer.dealpos.com/openapi/openapi/promotion-coupon/deletepromotioncoupon.md): Delete Promotion by Code You must have "DELETE" role in "Promotion" Module ### List Promotion Coupons With Total Count - [GET /api/v3/PromotionCoupon/WithTotalCount](https://developer.dealpos.com/openapi/openapi/promotion-coupon/listpromotioncouponwithtotalcount.md): Get a list of promotion coupons with total count. Requires the "VIEW" role in the "Promotion" group. ### Get Promotion Coupon by Code - [GET /api/v3/PromotionCoupon/ByCode](https://developer.dealpos.com/openapi/openapi/promotion-coupon/get-promotioncoupon-bycode.md): Get promotion coupon details by coupon code. Requires the "VIEW" role in the "Promotion" group. ### Delete Promotion Coupon List - [DELETE /api/v3/PromotionCoupon/ListCode](https://developer.dealpos.com/openapi/openapi/promotion-coupon/delete-promotioncoupon-listcode.md): Bulk delete promotion coupons by coupon code (use NEW LINE as separator). Requires the "DELETE" role in the "Promotion" module. ### Get Promotion Coupon By Reference ID - [GET /api/v3/PromotionCoupon/ByReferenceID](https://developer.dealpos.com/openapi/openapi/promotion-coupon/get-promotioncoupon-byreferenceid.md): Get promotion coupon details by reference ID. Requires the "VIEW" role in the "Promotion" group. ## Promotion Event Operations related to promotion event, including create, get, etc ### List Promotion Event - [GET /api/v3/PromotionEvent](https://developer.dealpos.com/openapi/openapi/promotion-event/listpromotionevent.md): Get a list of promotion events. Requires the "VIEW" role in the "Promotion" group. ### Get Promotion Event by Variant ID - [GET /api/v3/PromotionEvent/GetByVariantID](https://developer.dealpos.com/openapi/openapi/promotion-event/getpromotioneventbyvariantid.md): Get promotion event details by variant ID. Requires the "VIEW" role in the "Promotion" group. ### Get Promotion Event by Variant Code - [GET /api/v3/PromotionEvent/GetByVariantCode](https://developer.dealpos.com/openapi/openapi/promotion-event/getpromotioneventbyvariantcode.md): Get promotion event details by variant code. Requires the "VIEW" role in the "Promotion" group. ## Pricebook Operations related to promotion event, including create, get, etc ### List Pricebooks - [GET /api/v3/Pricebook](https://developer.dealpos.com/openapi/openapi/pricebook/listpricebook.md): Retrieve a paginated list of pricebooks filtered by name. Requires the "Promotion" - "Pricebook" group. ### Create Pricebook - [POST /api/v3/Pricebook](https://developer.dealpos.com/openapi/openapi/pricebook/createpricebook.md): Create a new pricebook with variants and outlet assignments. ### Update Pricebook - [PUT /api/v3/Pricebook](https://developer.dealpos.com/openapi/openapi/pricebook/update%20pricebook.md): Update an existing pricebook and its variant pricing. ### Pricebook Detail By ID - [GET /api/v3/Pricebook/ID/{id}](https://developer.dealpos.com/openapi/openapi/pricebook/pricebook_detailbyid.md): Retrieve pricebook details by ID. Requires the "Promotion" - "Pricebook" group. ## Outlet Operations related to outlet, including create, get, etc ### List Outlets - [GET /api/v3/Outlet](https://developer.dealpos.com/openapi/openapi/outlet/getoutletlist.md): Get a list of outlets, optionally filtered by name, access, or suspended status. Requires the "VIEW" role in the "Outlets" group. ### Update an Outlet - [PUT /api/v3/Outlet](https://developer.dealpos.com/openapi/openapi/outlet/putoutlet.md): Update an outlet's configuration. Requires one of the following roles: "EDIT" in the "Outlets" module or "EDIT" in the "Global" module. ### Create an Outlet - [POST /api/v3/Outlet](https://developer.dealpos.com/openapi/openapi/outlet/postoutlet.md): Create an Outlet You must have "CREATE" role in "Outlets" Module ### Delete an Outlet - [DELETE /api/v3/Outlet](https://developer.dealpos.com/openapi/openapi/outlet/deleteoutlet.md): Delete an Outlet You must have "DELETE" role in "Outlets" Module ### Get Outlet By ID - [GET /api/v3/Outlet/ID/{id}](https://developer.dealpos.com/openapi/openapi/outlet/getoutletbyid.md): Get an outlet's details by its ID. Requires the "VIEW" role in the "Outlets" group. ### Get Outlet List By List ID - [GET /api/v3/Outlet/ListID](https://developer.dealpos.com/openapi/openapi/outlet/getoutletlistbylistid.md): Get outlet names and codes for a list of outlet IDs. Requires the "VIEW" role in the "Outlets" group. ### Get Outlet Detail - [GET /api/v3/Outlet/Detail](https://developer.dealpos.com/openapi/openapi/outlet/getoutletdetail.md): Get detailed information for an outlet by code or name. Requires the "VIEW" role in the "Outlets" group. ### Get Register by Outlet - [GET /api/v3/Outlet/Register](https://developer.dealpos.com/openapi/openapi/outlet/get-outlet-register.md): Get the list of registers for a given outlet (or all outlets when empty). Requires the "VIEW" role in the "Outlets" group. ### Get Register By OutletID - [GET /api/v3/Outlet/Register/ID](https://developer.dealpos.com/openapi/openapi/outlet/getregisterbyoutletid.md): Get register information for a list of outlet IDs. Requires the "VIEW" role in the "Outlets" group. ## User Operations related to user, including create, get, etc ### Create User - [POST /api/v3/User](https://developer.dealpos.com/openapi/openapi/user/createuser.md): Create a new user with the specified details. Requires the "Create" role in the "Users" group. ### Create Group - [POST /api/v3/Group](https://developer.dealpos.com/openapi/openapi/user/creategroup.md): Create a new user group with specified roles. Requires the "Group" role in the "Users" module. ### Get User By List ID - [GET /api/v3/User/ID](https://developer.dealpos.com/openapi/openapi/user/getuserbylistid.md): Get user names for a list of user IDs. Requires the "VIEW" role in the "Users" group. ### Get User By List - [GET /api/v3/User/List](https://developer.dealpos.com/openapi/openapi/user/getuserbylist.md): Get a list of users filtered by status and role. Requires the "VIEW" role in the "Users" group. ## Outlet Price Operations related to outlet price, including create, get, etc ### Get Outlet Price By Code - [GET /api/v3/OutletPrice](https://developer.dealpos.com/openapi/openapi/outlet-price/getoutletpricebycode.md): Get outlet pricing information for a variant code. Requires the "VIEW" role in the "Products" group. ### Update Outlet Price - [PUT /api/v3/OutletPrice](https://developer.dealpos.com/openapi/openapi/outlet-price/updateoutletprice.md): Update outlet pricing for a variant. Requires one of the following roles: "EDIT" in the "Products" module or "EDIT" in the "Global" module. ### Create an Outlet Price - [POST /api/v3/OutletPrice](https://developer.dealpos.com/openapi/openapi/outlet-price/createoutletprice.md): Create outlet pricing entries for a variant. Requires one of the following roles: "EDIT" in the "Products" module or "EDIT" in the "Global" module. ### Delete an Outlet Price - [DELETE /api/v3/OutletPrice](https://developer.dealpos.com/openapi/openapi/outlet-price/deleteoutletprice.md): Delete outlet pricing entries for a variant. Requires one of the following roles: "EDIT" in the "Products" module or "EDIT" in the "Global" module. ## Loyalty Point Operations related to loyalty point, including create, get, etc ### Get History by Email or Phone - [GET /api/v3/LoyaltyPoint/EmailOrPhone](https://developer.dealpos.com/openapi/openapi/loyalty-point/getloyaltypointhistory.md): Get loyalty point history for a specific customer by email or phone. Requires the "VIEW" role in the "Contacts" module. ### Get Loyalty Point Expiration By Email - [GET /api/v3/LoyaltyPoint/ExpirationByEmail](https://developer.dealpos.com/openapi/openapi/loyalty-point/getloyaltypointexpirationbyemail.md): Get loyalty point expiration details for a customer by email. Requires the "VIEW" role in the "Contacts" module. ### Get Loyalty Point Expiration By Mobile Phone - [GET /api/v3/LoyaltyPoint/ExpirationByMobile](https://developer.dealpos.com/openapi/openapi/loyalty-point/getloyaltypointexpirationbymobile.md): Get loyalty point expiration details for a customer by mobile phone. Requires the "VIEW" role in the "Contacts" module. ### Add / Redeem Loyalty Point by Mobile - [PUT /api/v3/LoyaltyPoint/Mobile](https://developer.dealpos.com/openapi/openapi/loyalty-point/put-loyaltypoint-mobile.md): Add or redeem loyalty points for a customer identified by mobile phone. ### Get Loyalty Point - [GET /api/v3/LoyaltyPoint](https://developer.dealpos.com/openapi/openapi/loyalty-point/getloyaltypoint.md): Get loyalty point history for customers. Requires the "VIEW" role in the "Contacts" module. ### Add / Redeem Loyalty Point By Email - [PUT /api/v3/LoyaltyPoint](https://developer.dealpos.com/openapi/openapi/loyalty-point/addredeemloyaltypointbyemail.md): Add / Redeem Loyalty Point Customer by Email ### Get Total Earn and Redeem Loyalty Point - [GET /api/v3/LoyaltyPoint/EarnAndRedeem](https://developer.dealpos.com/openapi/openapi/loyalty-point/getearnandredeemloyaltypoint.md): Get total earned and redeemed loyalty points for a given period. Requires the "VIEW" role in the "Contacts" module. ### Get Loyalty Point With Total Count - [GET /api/v3/LoyaltyPoint/WithTotalCount](https://developer.dealpos.com/openapi/openapi/loyalty-point/getloyaltypointwithtotalcount.md): List loyalty points with total count and filtering options. Requires the "VIEW" role in the "Contacts" module. ## Notification Operations related to notification, including create, get, etc ### List Notifications - [GET /api/v3/Notification](https://developer.dealpos.com/openapi/openapi/notification/listnotifications.md): Get a list of notifications within a date range. Requires the "Notification" role in the "My Profile" module or the "EDIT" role in the "Global" module. ### Create a Notification - [POST /api/v3/Notification](https://developer.dealpos.com/openapi/openapi/notification/api/notification/push.md): Push a notification to cashier points of sale for specified outlets. Requires the "Notification" role in the "My Profile" module. ### Delete Notifications - [DELETE /api/v3/Notification](https://developer.dealpos.com/openapi/openapi/notification/deletenotifications.md): Delete notifications within a specified date range. Requires the "Notification" role in the "My Profile" module. ### List Notifications With Total Count - [GET /api/v3/Notification/WithTotalCount](https://developer.dealpos.com/openapi/openapi/notification/listnotificationswithtotalcount.md): >Also available as HTTP POST with the same endpoint Get List of Notifications With Total Count Required Group Role: "My Profile" - "Notification" OR "Global" - "EDIT" ## Payment Method Operations related to payment method, including create, get, etc ### List Payment Method - [GET /api/v3/PaymentMethod](https://developer.dealpos.com/openapi/openapi/payment-method/listpaymentmethod.md): List available payment methods. ## Invoice Write Off Option Operations related to invoice write off option, including create, get, etc ### List Write Off Option - [GET /api/v3/WriteOff/Option](https://developer.dealpos.com/openapi/openapi/invoice-write-off-option/listwriteoffoption.md): Get the list of write-off options. Requires the "VIEW" role in the "Setup" module. ### Add WriteOff Option - [POST /api/v3/WriteOff/Option](https://developer.dealpos.com/openapi/openapi/invoice-write-off-option/post-writeoff-option.md): Add a new write-off option to the list. ### Delete Write Off Option - [DELETE /api/v3/WriteOff/Option](https://developer.dealpos.com/openapi/openapi/invoice-write-off-option/delete-writeoff-option.md): Delete a write-off option from the list. ## Tax Operations related to tax, including create, get, etc ### List Tax - [GET /api/v3/Tax](https://developer.dealpos.com/openapi/openapi/tax/listtax.md): Retrieve the list of tax rates and types. ## Expense Operations related to get expense ### List Expense - [GET /api/v3/Expense](https://developer.dealpos.com/openapi/openapi/expense/listexpense.md): Get a list of expenses. ## Logistics Service Operations related to logistics service, including create, get, etc ### List Logistics Service - [GET /api/v3/LogisticsService](https://developer.dealpos.com/openapi/openapi/logistics-service/listlogisticsservice.md): List available logistics services. ## Park Order Display Operations related to parked order display, including create, get, etc ### Update State - [PUT /api/v3/ParkedOrderDisplay/UpdateState](https://developer.dealpos.com/openapi/openapi/park-order-display/updatestate.md): Update the state of multiple parked-order items. ### Get Parked Order Summary Default - [GET /api/v3/ParkedOrderDisplay/Summary/Default](https://developer.dealpos.com/openapi/openapi/park-order-display/getparkedordersummary.md): Get a summary of parked orders by outlet and category. ### Get Parked Order Summary Group By Order - [GET /api/v3/ParkedOrderDisplay/Summary/GroupByOrder](https://developer.dealpos.com/openapi/openapi/park-order-display/getparkedordersummaryorder.md): Get a summary of parked orders by outlet and category, grouped by order. ### Get Parked Order Summary Group By Variant - [GET /api/v3/ParkedOrderDisplay/Summary/GroupByVariant](https://developer.dealpos.com/openapi/openapi/park-order-display/getparkedordersummaryvariant.md): Get a summary of parked orders by outlet and category, grouped by variant. ### Get Parked Orders Grouped by Variant - [GET /api/v3/ParkedOrderDisplay/GroupByVariant](https://developer.dealpos.com/openapi/openapi/park-order-display/getparkedordersbyvariant.md): Get parked orders grouped by variant, with filtering options (state, outlet, category, pagination). ### Get Parked Orders Grouped by Order - [GET /api/v3/ParkedOrderDisplay/GroupByOrder](https://developer.dealpos.com/openapi/openapi/park-order-display/getparkedordersbyorder.md): Get parked orders grouped by order, with filtering options (state, outlet, category, pagination). ### Get Parked Orders Default - [GET /api/v3/ParkedOrderDisplay/Default](https://developer.dealpos.com/openapi/openapi/park-order-display/getdefaultparkedorders.md): Get parked orders with filtering options (outlet, category, state, pagination). ## Midtrans Payment Gateway Operations related to Midtrans Payment Gateway, including create, get, etc ### Generate QRIS - [POST /api/v3/Payment/Midtrans/Charge](https://developer.dealpos.com/openapi/openapi/midtrans-payment-gateway/get-payment-midtrans-charge.md): Generate QRIS for specified Invoice When the QR has been paid, an Invoice Payment is automatically added to the Invoice Note: If you require custom amount for your QR you can also directly use Midtrans API https://docs.midtrans.com/reference/qris ### Get Transaction Status - [POST /api/v3/Payment/Midtrans/Status](https://developer.dealpos.com/openapi/openapi/midtrans-payment-gateway/get-payment-midtrans-status.md): Wrapper for https://docs.midtrans.com/reference/get-transaction-status https://docs.midtrans.com/reference/get-transaction-status ## Apps Operations related to Apps, including create, get, etc ### List Apps - [GET /api/v3/Apps/List](https://developer.dealpos.com/openapi/openapi/apps/listapps.md): List apps that can be integrated with the system. ### Active Apps - [GET /api/v3/Apps/Active](https://developer.dealpos.com/openapi/openapi/apps/activeapps.md): List active apps configured in the POS checklist. ## Client Secret Operations related to client secret, including create, get, etc ### Get Client Secret - [GET /api/v3/ClientSecret](https://developer.dealpos.com/openapi/openapi/client-secret/getclientsecret.md): Retrieve the client secret for an existing client. ### Generate Client Secret - [PUT /api/v3/ClientSecret/Update](https://developer.dealpos.com/openapi/openapi/client-secret/updateclientsecret.md): Generate a new client secret for a client. ## Rate Limit Operations related to rate limit, including create, get, etc ### Rate Limit Checking - [GET /api/v3/ratelimit](https://developer.dealpos.com/openapi/openapi/rate-limit/ratelimitchecking.md): Get current rate limit configuration values: PermitLimit, Window, and QueueLimit. No authentication is required for this endpoint.