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

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

Create an Invoice

Request

Create an Invoice

You must have "Create" role in "Sell" Module

Security
OAuth2_clientCredentials
Headers
UpdateCustomerstring(boolean)

Allow to update Customer Address when value is "true".

Default false
WriteOffstring(boolean)

Allow to WriteOff remaining of total amount payment when value is "true"

Default false
Bodyapplication/json
One of:
Outletstringrequired

Outlet.Name. Not required when Outlet.ID is provided.

Example: "Outlet1"
Numberstringrequired

Invoice Number.

Example: "20.05.00001"
Datestring(date)required

Date of customer invoice created (YYYY-MM-DD).

Example: "2020-05-27"
SalesPersonstring

Sales Person name.

Example: "Sales 1"
Tagstringrequired

Channel Tagging system. (ex: Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards compatibility with property request "SalesType".

Example: "Tokopedia"
TaxTypestringrequired

Tax Type.

Example: "No Tax"
Registerstring

Register Name.

Example: "Outlet1"
Discount1integer

Discount 1 percentage.

Discount2integer

Discount 2 percentage.

DiscountAmountnumber

Discount amount.

Couponstring

Promotion Coupon Code. Balance will be deducted. Discount must exist in request PAYLOAD according to the discount value.

Example: "887799"
Fulfillmentstring

Delivery Status. Backwards compatibility with property "Delivery". Default: Sent, Unsent.

Enum"Sent""Unsent"
Example: "Sent"
LogisticServiceCodestring

Code of Logistic Service Option.

Example: "JNE-R"
Notestring

Invoice note.

Example: "Invoice Note"
OrderNotestring

Note for Intenal use

Example: "Download omnichannel"
PointUsedinteger

The number of points to redeem (when redeemed points is > 0, DiscountAmount will be auto calculated by the system based on RedeemPointValue configuration).

Example: 5
ReferenceNumberstring

Number associated with a specific invoice issued to a customer from the marketplace channel. Backwards compatibility with property PurchaseOrderNumber.

Example: "TKP001"
Customerobject
Example: {"Name":"Hendry Wijaya","Email":"Hendry@dealpos.com","Mobile":81514515156,"Code":"HW021","Address":"Muara Karang no.88"}
VariantsArray of objects
Example: [{"Code":"200535","Quantity":20,"Price":50000,"Discount":0,"Note":"Item 1"},{"Code":"1315L","Quantity":10,"Price":50000,"Discount":0,"Note":"Item 2"}]
PaymentsArray of objects
Example: [{"Amount":145000,"Method":"Cash","Code":"C001","Note":"Complete payment"}]
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Invoice \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'UpdateCustomer: false' \
  -H 'WriteOff: false' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "20.05.00001",
    "Date": "2020-05-27",
    "SalesPerson": "Sales 1",
    "Tag": "Tokopedia",
    "TaxType": "No Tax",
    "Register": "Outlet1",
    "Discount1": 0,
    "Discount2": 0,
    "DiscountAmount": 0,
    "Coupon": "887799",
    "Fulfillment": "Sent",
    "LogisticServiceCode": "JNE-R",
    "Note": "Invoice Note",
    "OrderNote": "Download omnichannel",
    "PointUsed": 5,
    "ReferenceNumber": "TKP001",
    "Customer": {
      "Name": "Hendry Wijaya",
      "Email": "Hendry@dealpos.com",
      "Mobile": 81514515156,
      "Code": "HW021",
      "Address": "Muara Karang no.88"
    },
    "Variants": [
      {
        "Code": "200535",
        "Quantity": 20,
        "Price": 50000,
        "Discount": 0,
        "Note": "Item 1"
      },
      {
        "Code": "1315L",
        "Quantity": 10,
        "Price": 50000,
        "Discount": 0,
        "Note": "Item 2"
      }
    ],
    "Payments": [
      {
        "Amount": 145000,
        "Method": "Cash",
        "Code": "C001",
        "Note": "Complete payment"
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Invoice ID that has been made

Numberstring

Invoice number that has been made

Response
application/json
{ "ID": "bc85c04d-8e6d-4592-bc8d-85f3d854b156", "Number": "18.10.00009" }

Update an Invoice

Request

Update an Invoices based on Number

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

Security
OAuth2_clientCredentials
Bodyapplication/json
One of:
Outletstringrequired

Outlet.Name. Not required when Outlet.ID is provided.

Example: "Outlet1"
Numberstringrequired

Invoice Number.

Example: "20.05.00001"
Datestring(date)required

Date of customer invoice created (YYYY-MM-DD).

Example: "2020-05-27"
DueDatestring(date)

Due date of invoice period (YYYY-MM-DD).

SalesPersonstring

Sales Person name.

Example: "Sales 1"
Tagstringrequired

Channel Tagging system. (ex: Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards compatibility with property request "SalesType".

Example: "Tokopedia"
TaxTypestringrequired

Tax Type.

Example: "No Tax"
Registerstring

Register Name.

Discount1integer

Discount 1 percentage.

Discount2integer

Discount 2 percentage.

DiscountAmountnumber

Discount amount.

Salesnumber

Total sales.

Surchargenumber

Surcharge amount.

SalesNTaxnumber

Total amount.

Couponstring

Promotion Coupon Code. Balance will be deducted. Discount must exist in request PAYLOAD according to the discount value.

Fulfillmentstring

Delivery Status. Backwards compatibility with property "Delivery". Default: Sent, Unsent.

Enum"Sent""Unsent"
Example: "Sent"
LogisticServiceCodestring

Code of Logistic Service Option.

Notestring

Invoice note.

PointUsedinteger

The number of points to redeem (when redeemed points is > 0, DiscountAmount will be auto calculated by the system based on RedeemPointValue configuration).

FulfillmentOutletstring

Where fulfillment is done from a different Outlet. When this property is null or not specified, it will get data from property "Outlet".

Customerobject
Example: {"Name":"Hendry Wijaya","Email":"Hendry@dealpos.com","Phone":"02165498468","Mobile":"081514515156","Code":"HW021"}
VariantsArray of objects
Example: [{"Code":"200535","Quantity":"10","Price":"50000","Discount":0,"Note":"Item 1"},{"Code":"1315L","Quantity":"10","Price":"50000","Discount":0,"Note":"Item 2"}]
PaymentsArray of objects
Example: [{"Amount":"100000","Method":"Cash","Code":null,"Note":null}]
Recipientobject

Input when choosing later fulfillment.

curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Invoice \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "20.05.00001",
    "Date": "2020-05-27",
    "SalesPerson": "Sales 1",
    "Tag": "Tokopedia",
    "TaxType": "No Tax",
    "Discount1": 0,
    "Discount2": 0,
    "DiscountAmount": 0,
    "Fulfillment": "Sent",
    "PurchaseOrderNumber": "TKP001",
    "Customer": {
      "Name": "Hendry Wijaya",
      "Email": "Hendry@dealpos.com",
      "Phone": "02165498468",
      "Mobile": "081514515156",
      "Code": "HW021"
    },
    "Variants": [
      {
        "Code": "200535",
        "Quantity": "10",
        "Price": "50000",
        "Discount": 0,
        "Note": "Item 1"
      },
      {
        "Code": "1315L",
        "Quantity": "10",
        "Price": "50000",
        "Discount": 0,
        "Note": "Item 2"
      }
    ],
    "Payments": [
      {
        "Amount": "100000",
        "Method": "Cash",
        "Code": null,
        "Note": null
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Invoice ID that has been edited

Response
application/json
{ "ID": "e9e1edbd-3e37-4845-b243-e680fbd4b30c" }

Delete an Invoice

Request

Delete an Invoice based on Number

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

Security
OAuth2_clientCredentials
Bodyapplication/json

Request can be send with payload Outlet+Number / OutletID + Number /InvoiceID only

One of:
Outletstringrequired

Outlet Name.

Example: "Outlet1"
Numberstringrequired

Invoice Number. this is primary key for the object

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

Responses

Bodyapplication/json
string

Invoice has been deleted

Response
application/json
"Invoice has been delete!{}"

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

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

Operations