DealPOS API (3.1.0)

Welcome Developer

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

Download OpenAPI description
Overview
URL https://www.dealpos.com
Customer Support info@dealpos.com
License
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

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

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

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"

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 \
  -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"

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/Data \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Category": "2D Layering",
    "PageNumber": 1,
    "PageSize": 10,
    "Type": "Standard",
    "Name": "2D Layering (Standard)",
    "Code": "2DL-S",
    "ReleasedFrom": "2021-01-01",
    "ReleasedTo": "2021-12-31"
  }'

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"

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 or Code

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/Count \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Category": "Top/Men",
    "PageNumber": 1,
    "PageSize": 20,
    "Type": "Standard",
    "Name": "2D",
    "ReleasedFrom": "2023-01-01",
    "ReleasedTo": "2023-12-31"
  }'

Responses

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

Get a Variant By Code

Request

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


Get Variant info by Code

Required Group Role: "Products" - "VIEW"

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

Responses

OK

Bodyapplication/json
IDstring

Unique ID of the variant

Categorystring

Category 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

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

ComponentsArray of objects
OutletPriceArray of objects
PricebookArray 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 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"

Bodyapplication/json

Request JSON body.

IDstring

Variant ID

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

Responses

Body
IDstring

Unique ID of the variant

Categorystring

Category 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

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

ComponentsArray of objects
OutletPriceArray of objects
PricebookArray of objects
Response
{ "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 ID By List Code

Request

Given a list of ProductSKU, the system will then return Internal ProductID+VariantID

Bodyapplication/jsonArray [
string
]
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Variant/GetIDByListCode \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    "1000",
    "1001",
    "1002"
  ]'

Responses

Bodyapplication/jsonArray [
IDstring

Variant ID

ProductIDstring

Product ID

Codestring

Variant Code

]
Response
application/json
[ { "ID": "e156a0a9-1552-49d4-b597-d4ca09c3ed54", "ProductID": "418c0cde-1e5f-4c77-a9f4-312bc96939cb", "Code": "1000" }, { "ID": "d2dfbf1a-da61-48e4-9d4d-a921ebfcb8f5", "ProductID": "6126764d-57aa-425d-ade6-bc3a847da98a", "Code": "1001" }, { "ID": "1587b105-b8a9-404f-907a-f63326003558", "ProductID": "7d27dc9f-06f7-4765-bfd3-437903b020fa", "Code": "1002" } ]

Get Variant ID By List Code Discontinued

Request

Given a list of ProductSKU, the system will then return Internal ProductID+VariantID filter by Discontinued State

Bodyapplication/json
ListCodeArray of stringsrequired

Variant Code

Discontinuedstring

Discontinued status of variant

Default "No"
Example: "All / Yes / No"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Variant/GetIDByListCodeDiscontinued \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "ListCode": [
      "1342L",
      "1342M"
    ],
    "Discontinued": "All"
  }'

Responses

Successful operation

Bodyapplication/jsonArray [
IDstring

Variant ID

ProductIDstring

Product ID

Codestring

Variant Code

Discontinuedboolean

Discontinue Status

]
Response
application/json
[ { "ID": "e156a0a9-1552-49d4-b597-d4ca09c3ed54", "ProductID": "418c0cde-1e5f-4c77-a9f4-312bc96939cb", "Code": "1342L", "Discontinued": false }, { "ID": "d2dfbf1a-da61-48e4-9d4d-a921ebfcb8f5", "ProductID": "6126764d-57aa-425d-ade6-bc3a847da98a", "Code": "1342M", "Discontinued": true } ]

Get Variant Code By List ID

Request

Get Variant List ID by Outlet

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

Bodyapplication/json
ListCodeArray of stringsrequired

List Of Variant 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

Outlet

Operations related to outlet, 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

Logistics Service

Operations related to logistics service, 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

Barcode

Operations related to barcode, 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 API

Operations