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}/api/v3/

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

Add Variant By Product Code

Request

Security
OAuth2_clientCredentials
Bodyapplication/json
Codestringrequired

Product Code

VariantsArray of objects
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Variant/Add \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Code": "1003",
    "Variants": [
      {
        "Model": "Small",
        "Code": "1003L",
        "UnitCost": 100000,
        "UnitPrice": 150000,
        "Discontinued": true,
        "VariantDescription": "Unavailable"
      },
      {
        "Model": "Medium",
        "Code": "1003XL",
        "UnitCost": 125000,
        "UnitPrice": 175000,
        "Discontinued": false
      }
    ]
  }'

Responses

OK

Body
IDstring
Example: "9525a6b0-297f-4b4a-97c7-0ae876bb44cd"
VariantsArray of objects
Example: [{"Code":"1000S","ID":"9ad47be6-bf1c-4dd5-87a8-193fe56d1035"},{"Code":"1000M","ID":"b3d68610-22a5-445d-8c5c-c79487373aa2"}]
ListVariantIDArray of strings
Example: ["9ad47be6-bf1c-4dd5-87a8-193fe56d1035","b3d68610-22a5-445d-8c5c-c79487373aa2"]
Response
{ "ID": "9525a6b0-297f-4b4a-97c7-0ae876bb44cd", "Variants": [ { … }, { … } ], "ListVariantID": [ "9ad47be6-bf1c-4dd5-87a8-193fe56d1035", "b3d68610-22a5-445d-8c5c-c79487373aa2" ] }

Update Variant by Code

Request

Update Variant By variant code

You must have "EDIT" role in "Products" Module

Security
OAuth2_clientCredentials
Bodyapplication/json
One of:
Codestringrequired

Code of the variant

Example: "2DL-P"
Namestring

Display Name.

Example: "2D Layering (Premium)"
Modelstring

Name of the variant. Backwards compatibility with property "Variant"

Example: "2D Layering (Premium)"
ProductCodestring

Code of product

Example: "2DL"
Weightinteger

Weight of the product

Typestring

Product-type of the variant

Enum"Standard""Composite""NonInventory""Manufactured""MultipleUOM""Complementary""PrepaidPackage""PrepaidPoint"
Example: "Standard"
OrderPriceinteger

Last order price of the product

UnitCostinteger

Unit cost of the product

Example: 2000
UnitPriceinteger

Unit selling price of the product

Example: 500000
Taxableboolean

Taxable status of the product

Example: true
LoyaltyPointboolean

Loyalty point status of the product

Discontinuedboolean

Discontinue status of the product

ParentCodestring

Product Code for parent (Type MultipleUOM)

Ratiointeger

Multiple uom quantity ratio of the parent (Type MultipleUOM)

ExpiredDayPrepaidinteger

Number of day set to expired (Type Prepaid Package & Prepaid Point)

ExpiredMonthPrepaidinteger

Number of month set to expired (Type Prepaid Package & Prepaid Point)

PointPrepaidinteger

Number of point that earned (Type Prepaid Package & Prepaid Point). If value is set with 0 means unlimited

ComponentsArray of objectsrequired
Example: [{"Code":"2DL","Name":"2D Layering","Qty":1}]
Components[].​Codestring

Component variant code of other variant

Components[].​Namestring

Name of the component

Components[].​Qtyinteger

Total qty of the component

OutletPriceArray of objectsrequired
Example: [{"Outlet":"Outlet1","Price":500000,"ExtraCost":0}]
OutletPrice[].​Outletstring

Selected outlet of the product

OutletPrice[].​Priceinteger

Outlet price of the product

OutletPrice[].​ExtraCostinteger

Extra cost of the selected product

curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Variant \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Code": "2DL-P",
    "Name": "2D Layering (Premium)",
    "Model": "2D Layering (Premium)",
    "ProductCode": "2DL",
    "Weight": 0,
    "Type": "Standard",
    "OrderPrice": 0,
    "UnitCost": 2000,
    "UnitPrice": 500000,
    "Taxable": true,
    "LoyaltyPoint": false,
    "Discontinued": false,
    "Components": [
      {
        "Code": "2DL",
        "Name": "2D Layering",
        "Qty": 1
      }
    ],
    "OutletPrice": [
      {
        "Outlet": "Outlet1",
        "Price": 500000,
        "ExtraCost": 0
      }
    ]
  }'

Responses

Bodyapplication/json
Messagestring

Variant has been updated

Response
application/json
{ "Message": "Update Success" }

Delete a Variant

Request

Delete Variant By variant code

You must have "DELETE" role in "Products" Module

Security
OAuth2_clientCredentials
Bodyapplication/json
Codestringrequired

The code of the variant to be deleted.

curl -i -X DELETE \
  https://subdomain.dealpos.net/api/v3/Variant \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Code": "1003L"
  }'

Responses

Bodyapplication/json
string

the variant has been deleted

Response
application/json
"Variant with code 1003L has been successfully deleted."

List Variants

Request

Also available as HTTP POST with the same endpoint


Get List of Variant existing

Required Group Role: "Products" - "VIEW"

Security
OAuth2_clientCredentials
Query
Categorystring

The category of the variant to be showed.

Example: Category=2D Layering
PageNumberinteger

The page number that you want to display

Example: PageNumber=1
PageSizeinteger

The maximum amount of data that you want to display on the page

Example: PageSize=10
Typestring

The type of the variant to be showed.

Example: Type=Standard
Bodyapplication/json
Categorystringrequired

The category of the variant to be showed.

PageNumberinteger

The page number that you want to display

PageSizeinteger

The maximum amount of data that you want to display on the page

Typestring

The type of the variant to be showed.

Namestring

Variant's Name

Codestring

Variant's Code

ReleasedFromstring

Release Product Date Start

ReleasedTostring

Release Product Date To

curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Variant?Category=2D+Layering&PageNumber=1&PageSize=10&Type=Standard' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Category": "2D Layering",
    "PageNumber": 1,
    "PageSize": 10,
    "Type": "Standard",
    "Name": "2D Layering (Premium)",
    "Code": "2DL-P",
    "ReleasedFrom": "2021-01-01",
    "ReleasedTo": "2021-12-31"
  }'

Responses

Bodyapplication/json
DataArray of objects
RecordsCountinteger

Total count of the records

Response
application/json
{ "Data": [ { … }, { … } ], "RecordsCount": 2 }

List Variant Data

Request

Also available as HTTP POST with the same endpoint


Get List of Variant Data

Required Group Role: "Products" - "VIEW"

Security
OAuth2_clientCredentials
Query
Categorystringrequired

The category of the variant to be showed.

Example: Category=2D Layering
PageNumberintegerrequired

The page number that you want to display

Example: PageNumber=1
PageSizeintegerrequired

The maximum amount of data that you want to display on the page

Example: PageSize=10
Typestring

The type of the variant to be showed.

Example: Type=Standard
Namestring

Variant's Name

Example: Name=2D Layering (Standard)
Codestring

Variant's Code

Example: Code=2DL-S
ReleasedFromstring

Release Product Date Start

Example: ReleasedFrom=2021-01-01
ReleasedTostring

Release Product Date To

Example: ReleasedTo=2021-12-31
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Variant/Data?Category=2D+Layering&PageNumber=1&PageSize=10&Type=Standard&Name=2D+Layering+%28Standard%29&Code=2DL-S&ReleasedFrom=2021-01-01&ReleasedTo=2021-12-31' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

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

Variants Count

Request

Also available as HTTP POST with the same endpoint


Count total Variant

Required Group Role: "Products" - "VIEW"

Security
OAuth2_clientCredentials
Query
Categorystringrequired

The category of the variant to be showed.

Example: Category=2D Layering
PageNumberintegerrequired

The page number that you want to display

Example: PageNumber=1
PageSizeintegerrequired

The maximum amount of data that you want to display on the page

Example: PageSize=10
Typestring

The type of the variant to be showed.

Example: Type=Standard
Namestring

Variant's Name

Example: Name=2D Layering (Standard)
Codestring

Variant's Code

Example: Code=VAR12345
ReleasedFromstring

Release Product Date Start

Example: ReleasedFrom=2023-01-01
ReleasedTostring

Release Product Date To

Example: ReleasedTo=2023-12-31
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Variant/Count?Category=2D+Layering&PageNumber=1&PageSize=10&Type=Standard&Name=2D+Layering+%28Standard%29&Code=VAR12345&ReleasedFrom=2023-01-01&ReleasedTo=2023-12-31' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
Countstring
Example: "100"
Response
application/json
{ "Count": "100" }

Get a Variant By Code

Request

Get Variant info by code.

This API does not return the OnHand inventory , to retreive the inventory please use this API Get Inventory By Code

Required Group Role: "Products" - "VIEW"

Security
OAuth2_clientCredentials
Query
Codestringrequired

Get from Code of variant that you want to get the detail.

Example: Code=SW001
Headers
promotions_field_includeboolean

Set to 'true' to include promotional fields in the response. Default is 'false'.

Default false
Example: true
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Variant/Code?Code=SW001' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'promotions_field_include: true'

Responses

OK

Bodyapplication/json
IDstring

Unique ID of the variant

Categorystring

Category of the product

Brandstring

Brand of the product

Productstring

Name of the product variant

Variantstring

Name of the variant

Namestring

Name of the product

Codestring

Code of the product

Weightinteger

Weight of the product

Typestring

Type of the product

Enum"Standard""NonInventory""Composite""Serialized""Manufactured""Complementary""MultipleUOM""PrepaidPoint""PrepaidPackage"
OrderPriceinteger

Last order price of the product

UnitCostinteger

Unit cost of the product

UnitPriceinteger

Unit selling price of the product

Taxableboolean

Taxable status of the product

LoyaltyPointboolean

Loyalty Point status of the product

Discontinuedboolean

Discontinue status of the product

ImageURLstring

Image URL of the product

ThumbnailURLstring

Thumbnail URL of the product

ComponentsArray of objects
Descriptionstring

Description of variant

OutletPriceArray of objects
PricebookArray of objects
PromotionsArray of objects
Response
application/json
{ "ID": "f2296e61-e405-4884-9e54-55f14a91748b", "Category": "Food", "Brand": "ABC", "Product": "Sandwich", "Variant": "Default", "Name": "Sandwich", "Code": "SW001", "Weight": 100, "Type": "Composite", "OrderPrice": 0, "UnitCost": 20000, "UnitPrice": 50000, "Taxable": true, "LoyaltyPoint": true, "Discontinued": false, "ImageURL": "https://cdn.dealpos.app/net/sandbox/Product/97d4e846-ea8d-4c3c-af2e-682b4ed6e48e/image1.jpeg", "ThumbnailURL": "https://dealpos.b-cdn.net/net/sandbox/Product/97d4e846-ea8d-4c3c-af2e-682b4ed6e48e/image1.jpeg?width=80", "Description": "Delicious sandwich with fresh ingredients", "Components": [ { … }, { … } ], "OutletPrice": [ { … } ] }

Get a Variant By ID

Request

This endpoint is coming soon

**Also available as HTTP POST with the same endpoint **


Get Variant info by Code

Required Group Role: "Products" - "VIEW"

Security
OAuth2_clientCredentials
Query
IDstringrequired

Get from ID of variant that you want to get the detail. This is primary key for the object

Example: ID=f2296e61-e405-4884-9e54-55f14a91748b
Headers
promotions_field_includeboolean

Set to 'true' to include promotional fields in the response. Default is 'false'.

Default false
Example: true
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Variant/ID?ID=f2296e61-e405-4884-9e54-55f14a91748b' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'promotions_field_include: true'

Responses

A list of variant results, with and without a pricebook.

Bodyapplication/json
IDstring

Unique ID of the variant

Categorystring

Category of the product

Brandstring

Brand of the product

Productstring

Name of the product variant

Variantstring

Name of the variant

Namestring

Name of the product

Codestring

Code of the product

Weightinteger

Weight of the product

Typestring

Type of the product

Enum"Standard""NonInventory""Composite""Serialized""Manufactured""Complementary""MultipleUOM""PrepaidPoint""PrepaidPackage"
OrderPriceinteger

Last order price of the product

UnitCostinteger

Unit cost of the product

UnitPriceinteger

Unit selling price of the product

Taxableboolean

Taxable status of the product

LoyaltyPointboolean

Loyalty Point status of the product

Discontinuedboolean

Discontinue status of the product

ImageURLstring

Image URL of the product

ThumbnailURLstring

Thumbnail URL of the product

ComponentsArray of objects
Descriptionstring

Description of variant

OutletPriceArray of objects
PricebookArray of objects
PromotionsArray of objects
Response
application/json
{ "ID": "f2296e61-e405-4884-9e54-55f14a91748b", "Category": "Food", "Product": "Sandwich", "Variant": "Default", "Name": "Sandwich", "Code": "SW001", "Weight": 100, "Type": "Composite", "OrderPrice": 0, "UnitCost": 20000, "UnitPrice": 50000, "Taxable": true, "LoyaltyPoint": true, "Discontinued": false, "Components": [ { … }, { … } ], "OutletPrice": [ { … } ] }

Get Variant Code By List ID

Request

Get Variant List ID by Outlet

Security
OAuth2_clientCredentials
Bodyapplication/json
Outletstring

outlet name

ListIDArray of stringsrequired

an array or arrangement of a products ID

curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Variant/ListID \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet 1",
    "ListID": [
      "55d7d915-eb82-4dfb-ac40-62f04ff50687",
      "51ae7f87-fa9d-41e5-a994-be14a9df889b"
    ]
  }'

Responses

Bodyapplication/jsonArray [
IDstring

Product ID

Codestring

Product Code

Priceinteger

Product unit sell price

]
Response
application/json
[ { "ID": "55d7d915-eb82-4dfb-ac40-62f04ff50687", "Code": "abcd", "Price": 3000 }, { "ID": "51ae7f87-fa9d-41e5-a994-be14a9df889b", "Code": "2018", "Price": 6000 } ]

Get Variant By List Code

Request

Get List Variant By List Code

Also available as HTTP POST (endpoint: /api/v3/Variant/GetByListCode)

Security
OAuth2_clientCredentials
Bodyapplication/json
ListCodeArray of stringsrequired

List of Variants Code of product. Max=100 variants code

curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Variant/GetByListCode \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "ListCode": [
      "1315L",
      "1315XL"
    ]
  }'

Responses

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

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

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

Deprecated

Operations