Skip to content

DealPOS API (3.1.0)

Welcome Developer

This page lists the reference documentation for DealPOS APIs. For guides and tutorials.

Download OpenAPI description
Overview
Languages
Servers
Production Server
https://{subdomain}/

Token

Operations related to authentication tokens

Operations

Category

Operations related to category, including create, get, etc

Operations

Product

Operations related to product, including create, get, etc

Operations

Variant

Operations related to variant, including create, get, etc

Operations

Serial

Operation related to Serial product type

Operations

Estimate

Operations related to estimate, including create, get, etc

Operations

Sales Order

Operations related to sales order, including create, get, etc

Operations

Invoice

Operations related to invoice, including create, get, etc

Operations

Shift

Operation related to shift, including create, get, etc

Operations

Report

Operations related to report page, including create, get, etc

Operations

Get Sales Invoice

Request

Get sales transactions. Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Bodyapplication/json
One of:
Outletstring

Outlet Name. When this property is empty will be shown all outlet

Example: "Outlet1"
Fromstringrequired

Start date in YYYY-MM-DD format (e.g. 2020-06-01)

Example: "2021-03-01T00:00:00"
Tostringrequired

End date in YYYY-MM-DD format (e.g. 2020-06-01)

Example: "2021-03-31T00:00:00"
CustomerEmailstring

Customer email address. Backwards compatibility with property "Email"

Example: "sandbox@dealpos.com"
CustomerMobilestring

Customer mobile

Example: 6281234567890
PageNumberinteger

Specifies the starting entry of data to retreive. Example: 1 = first page, 2 = second page.

Example: 1
PageSizeinteger

Number of records returned per page. Default record is 20.

Example: 100
TagArray of strings

Filter for Channel Tagging System (ex:Offline / Whatsapp / Shopee / Tokopedia) used in omni.dealpos.app.

Example: ["Shopee","TikTok"]
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Report \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "From": "2021-03-01T00:00:00",
    "To": "2021-03-31T00:00:00",
    "CustomerEmail": "sandbox@dealpos.com",
    "CustomerMobile": 6281234567890,
    "PageNumber": 1,
    "PageSize": 100,
    "Tag": [
      "Shopee",
      "TikTok"
    ]
  }'

Responses

Body
DataArray of objects
TotalRowinteger

Total count of the result

Response
{ "Data": [ { … } ], "TotalRow": 1 }

Get Sales Invoice by Sales Person

Request

Get sales summary grouped by sales person for a date range. Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
Fromstring

From date

Example: From=2021-01-01
Tostring

To date

Example: To=2021-01-31
Outletstring

Outlet Name

Example: Outlet=Outlet 1
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/SalesPerson?From=2021-01-01&To=2021-01-31&Outlet=Outlet+1' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/jsonArray [
SalesPersonstring
Transactioninteger
Quantityinteger
Salesinteger
Taxinteger
SalesNTaxinteger
Costinteger
Profitinteger
]
Response
application/json
[ { "SalesPerson": "James", "Transaction": 1, "Quantity": 1, "Sales": 8000, "Tax": 0, "SalesNTax": 8000, "Cost": 2000, "Profit": 6000 }, { "SalesPerson": "Ferdiansyah Rahman", "Transaction": 1, "Quantity": 2, "Sales": 20000, "Tax": 0, "SalesNTax": 20000, "Cost": 1000000, "Profit": -980000 } ]

Get Sales Aggregate

Request

Get aggregated sales data for a date range (sales, tax, cost, profit, etc.). Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
Fromstringrequired

From date (ISO 8601 format)

Example: From=2021-03-01T00:00:00
Tostringrequired

To date (ISO 8601 format)

Example: To=2021-03-31T00:00:00
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/GetSalesAggregate?From=2021-03-01T00%3A00%3A00&To=2021-03-31T00%3A00%3A00' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
Salesnumber
Taxnumber
Costnumber
Profitnumber
InvoiceCountinteger
Quantitynumber
Grossnumber
Response
application/json
{ "Sales": 817580392305.9696, "Tax": 10337115.181, "Cost": 134146734326.6699, "Profit": 683433657979.2997, "InvoiceCount": 1238, "Quantity": 713339.722, "Gross": 817579951765.564 }

Get Outlet Performance

Request

Get sales performance metrics grouped by outlet (sales, cost, profit, etc.). Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
Fromstringrequired

From date (ISO 8601 format)

Example: From=2021-01-01
Tostringrequired

To date (ISO 8601 format)

Example: To=2021-01-31
Outletstring

Outlet name

Example: Outlet=Outlet1
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/OutletPerformance?From=2021-01-01&To=2021-01-31&Outlet=Outlet1' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/jsonArray [
Outletstring

the outlet of the reports that shown

Transactioninteger

Total Transaction per Outlet

Salesnumber

Total Amount after discount in invoice

Taxnumber

Tax value in invoice

SalesNTaxnumber

Total Sales + Tax from invoice

Costnumber

Total Cost per outlet transaction

Profitnumber

Total profit of the outlet transaction

]
Response
application/json
[ { "Outlet": "Outlet2", "Transaction": 4, "Sales": 25120260, "Tax": 0, "SalesNTax": 25120260, "Cost": 10123590.91, "Profit": 14996669.09 }, { "Outlet": "Outlet1", "Transaction": 23, "Sales": 10024000, "Tax": 0, "SalesNTax": 10024000, "Cost": 5835862.6, "Profit": 4188137.4 } ]

Get Sales Invoice With Item Net Sales

Request

Get sales invoices including prorated net-sales per item. Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
Outletstring

Outlet Name

Example: Outlet=Outlet1
Fromstringrequired

From Date

Example: From=2021-01-01
Tostringrequired

To Date

Example: To=2021-01-31
PageNumberintegerrequired

Page number of get inventory

Example: PageNumber=1
PageSizeintegerrequired

Row count of get inventory

Example: PageSize=20
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/WithItemNetSales?Outlet=Outlet1&From=2021-01-01&To=2021-01-31&PageNumber=1&PageSize=20' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
DataArray of objects
TotalRowinteger
Response
application/json
{ "Data": [ { … } ], "TotalRow": 1 }

Get Daily Sales By Month

Request

Get daily sales totals for a specified year (grouped by month). Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Bodyapplication/json
OutletArray of strings

List of Outlets Name

Yearintegerrequired

Year of date (format: (YYYY))

curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Report/DailySales \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": [
      "Outlet1"
    ],
    "Year": 2021
  }'

Responses

Bodyapplication/jsonArray [
Monthstring

List of Months of selected Year

Transinteger

Total count of Invoice Transactions

SalesNTaxnumber

Total Accumulation of Sales and Taxes

Costnumber

Total accumulation of costs

]
Response
application/json
[ { "Month": "January", "Trans": 34, "SalesNTax": 1021000, "Cost": 881615.75 }, { "Month": "February", "Trans": 376, "SalesNTax": 135397168.68, "Cost": 97501389.32 }, { "Month": "March", "Trans": 311, "SalesNTax": 45215217.85, "Cost": 34635477.25 }, { "Month": "April", "Trans": 86, "SalesNTax": 18103161.03, "Cost": 17157404.54 }, { "Month": "May", "Trans": 5, "SalesNTax": 247000.12, "Cost": 90522.17 }, { "Month": "June", "Trans": 94, "SalesNTax": 13250883.61, "Cost": 18746522.55 }, { "Month": "July", "Trans": 139, "SalesNTax": 14682156.82, "Cost": 17858903.23 }, { "Month": "August", "Trans": 38, "SalesNTax": 1573348.5, "Cost": 9734012.73 }, { "Month": "September", "Trans": 108, "SalesNTax": 468493094.25, "Cost": 17126179.21 }, { "Month": "October", "Trans": 152, "SalesNTax": 34584026.75, "Cost": 4806827.8 }, { "Month": "November", "Trans": 166, "SalesNTax": 26655324, "Cost": 14904432.27 } ]

Get Sales Invoice With Item Net Sales Complete

Request

Get sales invoices including prorated net-sales per item (complete view). Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
PageNumberintegerrequired

Page number of get inventory

Example: PageNumber=1
PageSizeintegerrequired

Row count of get inventory

Example: PageSize=20
Fromstring(date-time)required

Start date of sales invoice

Example: From=2021-11-01T00:00:00
Tostring(date-time)required

End date of sales invoice

Example: To=2021-11-30T23:59:59
Outletstring

Filter by outlet name

Example: Outlet=Outlet1
TagsArray of strings

Filter by tags (comma-separated)

Example: Tags=Offline&Tags=Marketplace
Emailstring

Filter by customer email

Example: Email=fendi@gmail.com
CustomerMobilestring

Filter by customer mobile phone number

Example: CustomerMobile=08123456789
NoteVisibleboolean

Filter by note visible in invoice

Default false
Example: NoteVisible=true
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/WithItemNetSalesComplete?PageNumber=1&PageSize=20&From=2021-11-01T00%3A00%3A00&To=2021-11-30T23%3A59%3A59&Outlet=Outlet1&Tags=Offline%2CMarketplace&Email=fendi%40gmail.com&CustomerMobile=08123456789&NoteVisible=true' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
DataArray of objects
TotalRowinteger
Response
application/json
{ "Data": [ { … } ], "TotalRow": 1 }

Get Product Sold

Request

Get product sales report (quantity, sales, cost, profit) for a date range. Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
Outletstring

Outlet name

Example: Outlet=Outlet1
OutletIDstring

Outlet ID. if provided, will take precedence over Outlet name

Example: OutletID=123e4567-e89b-12d3-a456-426614174000
VariantCodestring

Variant Code

Example: VariantCode=VAR12345
Fromstringrequired

From date (ISO 8601 format)

Example: From=2021-01-01
Tostringrequired

To date (ISO 8601 format)

Example: To=2021-01-31
Categorystring

Product Category

Example: Category=Shirt
Salesstring

Sales Person / Employee Name

Example: Sales=Ferdi
CustomerEmailstring

Customer Email

Example: CustomerEmail=customer@example.com
Tagsstring

Product Tags

Example: Tags=Summer
Typestring

Filter to show only specific product types. (If not specified, will return all types)

Enum"All""Standard""NonInventory"
Example: Type=All
Scopestring

Scope for the report result

Default "Product"
Enum"Product""Variant"
Example: Scope=Product
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/ProductSold?Outlet=Outlet1&OutletID=123e4567-e89b-12d3-a456-426614174000&VariantCode=VAR12345&From=2021-01-01&To=2021-01-31&Category=Shirt&Sales=Ferdi&CustomerEmail=customer%40example.com&Tags=Summer&Type=All&Scope=Product' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/jsonArray [
Namestring

Name of the Product

Codestring

Code of the Product

Quantityinteger

Total Quantity of the Product sold

Costinteger

Cost of the product

Grossinteger

Gross sales of the product

Salesinteger

Sales of the product

Profitinteger

Profit of the product transaction

]
Response
application/json
[ { "Name": "Baju Summer", "Code": "SummerShirt", "Quantity": 12, "Cost": 10000, "Gross": 20000, "Sales": 15000, "Profit": 5000 }, { "Name": "Baju Winter", "Code": "WinterShirt", "Quantity": 15, "Cost": 20000, "Gross": 35000, "Sales": 30000, "Profit": 10000 } ]

Get Sales Group by Outlet Tag

Request

Get sales grouped by outlet and channel tag for charting. Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Bodyapplication/json
Fromstring
Tostring
OutletArray of strings
TagArray of strings
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Report/InvoiceGroupByOutletNTag \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2022-12-25",
    "To": "2022-12-31",
    "Outlet": [
      "Outlet1",
      "Outlet2"
    ],
    "Tag": [
      "Shopee",
      "Tokopedia",
      "TikTok"
    ]
  }'

Responses

Bodyapplication/jsonArray [
Outletstring

Outlet Name

Tagstring

Channel Tagging System

Datestring

Transactions Date

Sumnumber

Total Amount invoice in date range period

Countinteger

Total invoice in date range period

]
Response
application/json
[ { "Outlet": "Outlet1", "Tag": "Shopee", "Date": "2023-03-10T00:00:00", "Sum": 450000, "Count": 2 }, { "Outlet": "Outlet1", "Tag": "Tokopedia", "Date": "2023-03-10T00:00:00", "Sum": 550000, "Count": 10 }, { "Outlet": "Outlet2", "Tag": "Shopee", "Date": "2023-03-10T00:00:00", "Sum": 4500000, "Count": 22 }, { "Outlet": "Outlet2", "Tag": "Tokopedia", "Date": "2023-03-10T00:00:00", "Sum": 55000, "Count": 1 } ]

Get Product Sales by SKU Group by Day

Request

Get daily product sales quantities grouped by SKU (or variant) for a date range. Requires the "VIEW" role in the "Report" group.

Security
OAuth2_clientCredentials
Query
VariantCodestring

Variant SKU. if provided, VariantID will be ignored

Example: VariantCode=BAG01
VariantIDstring

Variant ID. if VariantCode is provided, this will be ignored

Example: VariantID=5c064c24-c40d-4912-9be6-1c06515d7032
Fromstring

From Date

Example: From=2023-02-28
Tostring

To Date

Example: To=2023-03-28
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Report/ProductSold/BySKUGroupDay?VariantCode=BAG01&VariantID=5c064c24-c40d-4912-9be6-1c06515d7032&From=2023-02-28&To=2023-03-28' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/jsonArray [
Datestring

Transaction Date

Quantityinteger

Total Qty product sales in a day

]
Response
application/json
[ { "Date": "2023-02-28", "Quantity": 10 }, { "Date": "2023-03-01 ", "Quantity": 15 }, { "Date": "2023-03-05", "Quantity": 17 }, { "Date": "2023-03-09", "Quantity": 20 }, { "Date": "2023-03-14", "Quantity": 22 }, { "Date": "2023-03-18", "Quantity": 8 }, { "Date": "2023-03-21", "Quantity": 50 }, { "Date": "2023-03-27", "Quantity": 10 }, { "Date": "2023-03-28", "Quantity": 29 } ]

Customer

Operations related to customer data, including create, get, etc

Operations

Comment

Operations related to comment (Contact Feedback), including create, get, etc

Operations

Supplier

Operations related to supplier data, including create, get, etc

Operations

Invoice Payment

Operations related to invoice payment, including create, get, etc

Operations

Bill Payment

Operations related to bill payment, including create, get, etc

Operations

Invoice Write Off

Operations related to invoice write off, including create, get, etc

Operations

Inventory

Operations related to inventory, including create, get, etc

Operations

Inventory Log

Operations related to inventory log, including create, get, etc

Operations

Inventory Adjustment

Operations related to inventory adjustment, including create, get, etc

Operations

Bill

Operations related to bill, including create, get, etc

Operations

OutboundLogistic

Operations related to outbound logistic, including create, get, etc

Operations

InboundLogistic

Operations related to inbound logistic, including create, get, etc

Operations

TransferOrder

Operations related to transfer order, including create, get, etc

Operations

Fulfillment

Operations related to fulfillment, including create, get, etc

Operations

Prepaid Package

Operations related to prepaid package, including create, get, etc

Operations

Promotion Coupon

Operations related to promotion coupon, including create, get, etc

Operations

Promotion Event

Operations related to promotion event, including create, get, etc

Operations

Pricebook

Operations related to promotion event, including create, get, etc

Operations

Outlet

Operations related to outlet, including create, get, etc

Operations

User

Operations related to user, including create, get, etc

Operations

Outlet Price

Operations related to outlet price, including create, get, etc

Operations

Loyalty Point

Operations related to loyalty point, including create, get, etc

Operations

Notification

Operations related to notification, including create, get, etc

Operations

Payment Method

Operations related to payment method, including create, get, etc

Operations

Invoice Write Off Option

Operations related to invoice write off option, including create, get, etc

Operations

Tax

Operations related to tax, including create, get, etc

Operations

Expense

Operations related to get expense

Operations

Logistics Service

Operations related to logistics service, including create, get, etc

Operations

Park Order Display

Operations related to parked order display, including create, get, etc

Operations

Midtrans Payment Gateway

Operations related to Midtrans Payment Gateway, including create, get, etc

Operations

Apps

Operations related to Apps, including create, get, etc

Operations

Client Secret

Operations related to client secret, including create, get, etc

Operations

Rate Limit

Operations related to rate limit, including create, get, etc

Operations