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

Create an Invoice

Request

Create an Invoice

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

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

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

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!{}"

List Invoice Multiple Outlet

Request

Also available as HTTP POST with the same endpoint

Get Invoice List by Multiple Outlet

Bodyapplication/json
One of:
PageNumbernumberrequired

The number of page data to be displayed

Example: 1
PageSizenumberrequired

The size of one page. Max=500

Example: 20
OutletArray of stringsrequired

Outlet name. (Only for access outlet Read/Write that given to the user)

Example: ["Outlet1","Outlet2"]
TagArray of stringsrequired

Channel Tagging system.(ex: Tokopedia, Shopee)

Example: ["Tokopedia","Shopee"]
PaymentStatestring

Payment status / progress of the invoice

Enum"Paid""Partial""Unpaid"
Example: "Paid"
Fulfillmentstring

Delivery status / progres of the invoice

Enum"Sent""Unsent"
Example: "Sent"
Emailstringrequired

Email address of customer

Example: "johndoe@email.com"
Mobilestringrequired

Phone or mobile phone number of customer

Example: "08112345"
Binboolean

Invoice in bin or not

Default false
Notestring

Invoice Note

Example: "Invoice Note"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/MultipleOutlet \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "PageNumber": 1,
    "PageSize": 20,
    "Outlet": [
      "Outlet1",
      "Outlet2"
    ],
    "Tag": [
      "Tokopedia",
      "Shopee"
    ],
    "PaymentState": "Paid",
    "Fulfillment": "Sent",
    "Email": "johndoe@email.com",
    "Mobile": "08112345",
    "Bin": false,
    "Note": "Invoice Note"
  }'

Responses

Bodyapplication/jsonArray [
IDstring

Invoice ID

Outletstring

Outlet name

Numberstring

Number of Invoice No

Customerstring

customer name

Datestring

sell date

Duestring

invoice due date