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

Bodyapplication/json
Outletstringrequired

The name of the outlet that made the adjustment

Example: "Outlet1"
Numberstringrequired

Number of adjusment invoice

Example: "2023.09.00001"
curl -i -X DELETE \
  https://subdomain.dealpos.net/api/v3/Adjustment \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "2023.09.00001"
  }'

Responses

Bodyapplication/json
string

adjustment has been deleted

Response
application/json
"adjustment has been deleted"

List Adjustment

Request

Also available as HTTP POST (endpoint: /api/v3/Adjustment/p)


Get List of Adjustment

Required Group Role: "Adjustment" - "VIEW"

Bodyapplication/json
Fromstring

From date list adjustment list will be shown

Example: "2023/09/01"
Tostring

To date list adjustment list will be shown

Example: "2023/09/30"
PageNumbernumberrequired

Start Page

Example: 1
PageSizenumberrequired

Total data adjustment list will be shown

Example: 10
Statestring

Status of adjustment (Draft / Pending / Accepted / Rejected)

Example: "Accepted"
Typestring

Type of adjustment (AdjustDifferences / CountQuantity). If set to empty string or not send the property, it will show all adjustment

Example: "AdjustDifferences"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Adjustment \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2023/09/01",
    "To": "2023/09/30",
    "PageNumber": 1,
    "PageSize": 10,
    "State": "Accepted",
    "Type": "AdjustDifferences"
  }'

Responses

Bodyapplication/jsonArray [
IDstring

ID of the adjustment

Outletstring

the adjustment outlet location

Datestring

the date of the adjustment (yyyy/mm/dd)

Numberstring

the adjustment number. This is primary key for the object

SKUCountnumber

Total SKU of the inventory adjustment

QuantitySUMnumber

Total Quantity of the inventory adjustment

Typestring

Adjustment Type

TotalCostnumber

Total Cost of the inventory adjustment

PICstring

the person in charge of the adjustment

Notestring

the note of adjustment

Statestring

Adjustment Status

Enum"Draft""Pending""Accepted""Rejected"
]
Response
application/json
[ { "ID": "a0e9653b-dd54-47a9-9dba-fb81da33ca60", "Outlet": "Outlet1", "Date": "2018-10-30T00:00:00", "Number": "2018/11/07.0001", "SKUCount": 2, "QuantitySUM": 18, "Type": "AdjustDifference", "TotalCost": 1800000, "PIC": "John Doe", "Note": "Test Adjustment", "State": "Accepted" }, { "ID": "1b1b1b1b-1b1b-1b1b-1b1b-1b1b1b1b1b1b", "Outlet": "Outlet1", "Date": "2018-10-29T00:00:00", "Number": "Oct 29, 2018.973265", "SKUCount": 5, "QuantitySUM": 12, "Type": "CountQuantity", "TotalCost": 200000, "PIC": "Royhan", "Note": "TestAdjustment", "State": "Accepted" } ]

Get Adjustment By Number

Request

Also available as HTTP POST with the same endpoint

Get Adjustment detail based on Number.

Required Group Role: "Adjustment" - "VIEW"

Query
Outletstringrequired

The name of the outlet that made the adjustment

Example: Outlet=Outlet1
Numberstringrequired

Number of adjusment invoice

Example: Number=20.08.00014
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Adjustment/Detail?Number=string&Outlet=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
IDstring

Adjustment ID

Outletstring

Name of the outlet

Datestring

Date of the Adjustment

Numberstring

Number of the adjusment

PICstring

Person in charge of the Adjusment

Typestring

Type of the Adjusment

Statestring

Progress/State of the adjusment

Notestring

Adjusment Note

AdjustedInventoryArray of objects
CountedInventoryArray of objects
Response
application/json
{ "ID": "7da1930f-7be5-4796-b55b-32dfbb0ac026", "Outlet": "Outlet1", "Date": "2020-08-31T00:00:00", "Number": "20.08.00014", "PIC": "Ferdi", "Type": "UpdateInventory", "State": "Accepted", "Note": "", "AdjustedInventory": [ { … } ], "CountedInventory": [ { … } ] }

Get Adjustment By ID

Request

Also available as HTTP POST with the same endpoint

Get Adjustment detail based on ID Adjustment.

Required Group Role: "Adjustment" - "VIEW"

Query
IDstringrequired

ID of the adjustment

Example: ID=7da1930f-7be5-4796-b55b-32dfbb0ac026
curl -i -X GET \
  'https://subdomain.dealpos.net/api/v3/Adjustment/ID?ID=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
IDstring

Adjustment ID

Outletstring

Name of the outlet

Datestring

Date of the Adjustment

Numberstring

Number of the adjusment

PICstring

Person in charge of the Adjusment

Typestring

Type of the Adjusment

Statestring

Progress/State of the adjusment

Notestring

Adjusment Note

AdjustedInventoryArray of objects
CountedInventoryArray of objects
Response
application/json
{ "ID": "7da1930f-7be5-4796-b55b-32dfbb0ac026", "Outlet": "Outlet1", "Date": "2020-08-31T00:00:00", "Number": "20.08.00014", "PIC": "Ferdi", "Type": "UpdateInventory", "State": "Accepted", "Note": "", "AdjustedInventory": [ { … } ], "CountedInventory": [ { … } ] }

List Adjustment With Total Count

Request

Also available as HTTP POST with the same endpoint

Get Adjustment List With Total Count

Required Group Role: "Adjustment" - "VIEW"

Bodyapplication/json
Fromstringrequired

From Date (format: yyyy-mm-dd)

Example: "2018-10-01"
Tostringrequired

To Date (format: yyyy-mm-dd)

Example: "2018-10-31"
PageNumbernumberrequired

The number of page data to be displayed

Example: 1
PageSizenumberrequired

The number of rows returned by the API

Example: 10
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Adjustment/WithTotalCount \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2018-10-01",
    "To": "2018-10-31",
    "PageNumber": 1,
    "PageSize": 10
  }'

Responses

Bodyapplication/json
DataArray of objects
TotalCountinteger

Total count of the result

Response
application/json
{ "Data": [ { … }, { … } ], "TotalCount": 100 }

Get Adjustment Workflow

Request

Get Adjustment Workflow based on configuration set in the system

curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Adjustment/Workflow \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
Workflowinteger

Workflow of the Adjustment (1 = No Approval (Instant), 2 = With Approval)

Enum12
Response
application/json
{ "Workflow": 1 }

Submit Review Adjustment

Request

This API is for Submit Review for Pending Adjustment based on Outlet and Number Adjustment

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

Bodyapplication/json
Outletstringrequired

Outlet Name

Example: "Outlet1"
Numberstringrequired

Adjustment number

Example: "Adjustment001"
curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Adjustment/Submit \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "Adjustment001"
  }'

Responses

OK

Bodyapplication/json
Messagestring
Example: "Inventory Adjustment Number Adjustment001 already Submitted"
Response
application/json
{ "Message": "Inventory Adjustment Number Adjustment001 already Submitted" }

Accept Adjustment

Request

This API is for Accept Adjustment based on Outlet and Number Adjustment

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

Bodyapplication/json
Outletstringrequired

Outlet Name

Example: "Outlet1"
Numberstringrequired

Adjustment number

Example: "Adjustment001"
curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Adjustment/Accept \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "Adjustment001"
  }'

Responses

OK

Bodyapplication/json
Messagestring
Example: "Inventory Adjustment Number Adjustment001 Accepted"
Response
application/json
{ "Message": "Inventory Adjustment Number Adjustment001 Accepted" }

Reject Adjustment

Request

This API is for Reject Adjustment based on Outlet and Number Adjustment

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

Bodyapplication/json
Outletstring
Example: "Outlet1"
Numberstring
Example: "Adjustment001"
curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Adjustment/Reject \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "Adjustment001"
  }'

Responses

OK

Bodyapplication/json
Messagestring
Example: "Inventory Adjustment Number Adjustment001 Accepted"
Response
application/json
{ "Message": "Inventory Adjustment Number Adjustment001 Rejected" }

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