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

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

Create Adjustment by Updating Inventory

Request

Create Adjustment

Update Inventory - Set available quantity to a given value

You must have "ADD" role in "Adjustment" Module OR "EDIT" role in "Global" Module

Product with type "Composite" and "Non Inventory" cannot be adjusted.

When config InventoryAdjustment Approval is turned on, when adjustment is created state will be StateID: 1 (In Progress) / 2 (Waiting for Approval)

Headers
CreateWhenQuantityMatchboolean

when true, even though the quantity submitted matches an inventory adjustment will be created (200 returned) when false no adjustment is created (202 returned)

Default false
Enumfalsetrue
Bodyapplication/json
Outletstringrequired

The name of the outlet that made the adjustment

Datestringrequired

Date of adjusment.(yyyy/mm/dd)

Numberstringrequired

Number of invoice adjusment. This is primary key for the object

StateIDnumber

State of Adjustment. it will be required if config with Approval is turned on. 1= InProgress, 2= Waiting

PICstring

The name of the PIC that made the adjustment

Notestring

Note of adjustment

VariantsArray of objectsrequired
Variants[].​Codestringrequired

Code of variant

Variants[].​Quantitynumberrequired

Variant's adjusted quantity

Variants[].​SerialArray of objects(Variant Serial)

Use this property only for product type Serialized

curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Adjustment/Set \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'CreateWhenQuantityMatch: false' \
  -d '{
    "Outlet": "Outlet1",
    "Date": "2023/09/01",
    "Number": "2023.09.00001",
    "StateID": 1,
    "PIC": "John Doe",
    "Note": "Adjustment for damaged goods",
    "Variants": [
      {
        "Code": "907",
        "Quantity": 10
      },
      {
        "Code": "908",
        "Quantity": 5
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Adjustments ID has been created

Response
application/json
{ "ID": "bcb2fff2-916a-4f60-9e12-36735d0790a9" }

Update Adjustment with Type Count Quantity

Request

Update Adjustment with Type Count Quantity

Count - Set available quantity to a given value and when quantity is still Draft

You must have "ADD" role in "Adjustment" Module OR "EDIT" role in "Global" Module

Product with type "Composite" and "Non Inventory" cannot be adjusted.

When config InventoryAdjustment Approval is turned on, when adjustment is created state will be StateID: 1 (Draft) / 2 (Pending)

Bodyapplication/json
Outletstringrequired

The name of the outlet that made the adjustment

Datestringrequired

Date of adjusment.(yyyy/mm/dd)

Numberstringrequired

Number of invoice adjusment. This is primary key for the object

PICstring

The name of the PIC that made the adjustment

Notestring

Note of adjustment

VariantsArray of objectsrequired
Variants[].​Codestringrequired

Code of variant

Variants[].​Quantitynumberrequired

Quantity of variant

Variants[].​Priceinteger

Price of variant

Variants[].​Notestring

Note of variant

curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Adjustment/Set \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Date": "2023/09/01",
    "Number": "2023.09.00001",
    "PIC": "John Doe",
    "Note": "Adjustment for damaged goods",
    "Variants": [
      {
        "Code": "907",
        "Quantity": 10
      },
      {
        "Code": "908",
        "Quantity": 5
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Adjustments ID has been created

Response
application/json
{ "ID": "bcb2fff2-916a-4f60-9e12-36735d0790a9" }

Create Adjustment by Adjusting Differences

Request

Create Adjustment

Adjust Differences - Increment or Decrement Inventory by given amount

You must have "ADD" role in "Adjustment" Module OR "EDIT" role in "Global" Module

Bodyapplication/json
Outletstringrequired

The name of the outlet that made the adjustment

Datestringrequired

Date of adjusment.(yyyy/mm/dd)

Numberstringrequired

Number of invoice adjusment. This is primary key for the object

StateIDnumber

State of Adjustment. it will be required if config with Approval is turned on. 1= InProgress, 2= Waiting

PICstring

The name of the PIC that made the adjustment

Notestring

Note of adjustment

VariantsArray of objectsrequired
Variants[].​Codestringrequired

Code of variant

Variants[].​Quantitynumberrequired

Variant's adjusted quantity

Variants[].​SerialArray of objects(Variant Serial)

Use this property only for product type Serialized

curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Adjustment \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Date": "2023/09/01",
    "Number": "2023.09.00001",
    "StateID": 1,
    "PIC": "John Doe",
    "Note": "Adjustment",
    "Variants": [
      {
        "Code": "907",
        "Quantity": 10
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Adjustment ID has been created

Response
application/json
{ "ID": "a0e9653b-dd54-47a9-9dba-fb81da33ca60" }

Update an Adjustment

Request

Update an Adjustment based on the outlet and code. Only Adjustment with Type AdjustDifference that can be edit.

You must have "EDIT" role in "Adjustment" Module OR "EDIT" role in "Global" Module

Bodyapplication/json
Outletstringrequired

The name of the outlet that made the adjustment

Example: "Outlet1"
Datestringrequired

Date of adjusment.(yyyy/mm/dd)

Example: "2023/09/01"
Numberstringrequired

Number of invoice adjusment. This is primary key for the object

Example: "2023.09.00001"
PICstring

The name of the PIC that made the adjustment

Example: "John Doe"
Notestring

Note of adjustment

Example: "Adjustment"
VariantsArray of objectsrequired
Example: [{"Code":907,"Quantity":10,"Cost":50000,"Price":100000,"Note":"Additional"}]
Variants[].​Codestringrequired

Code of variant

Variants[].​Quantitystringrequired

Quantity of variant

Variants[].​Priceinteger

Price of variant

Variants[].​Notestring

Note of variant

curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Adjustment \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Date": "2023/09/01",
    "Number": "2023.09.00001",
    "PIC": "John Doe",
    "Note": "Adjustment",
    "Variants": [
      {
        "Code": 907,
        "Quantity": 10,
        "Cost": 50000,
        "Price": 100000,
        "Note": "Additional"
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

the ID of the adjustment that has been updated

Response
application/json
{ "ID": "a0e9653b-dd54-47a9-9dba-fb81da33ca60" }

Delete an Adjustment

Request

Delete an Adjustment based on Code

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