Page365 API API Reference
Welcome to Page365 API. Page365 allow access to merchant information on Page365 ecosystem by external software (API) for the greater service and merchant convenience.
This API use GraphQL as standard protocol. Implement by follow document below.
API Endpoints
Development:
https://api.staging365.net/v1.0/graphql
Production:
https://api.page365.net/v1.0/graphql
Registation
Before using API, you need to register your app profile and get approve by Page365 and we will send you SECRET_KEY for using in authentication process as flowchart below.

Create profile
Create profile for using in authentication process and grant permission to fetch merchant information. These argument some will be display to merchant for notify them that your integration is available such as name, some will be use for report and notify an update (deprecate API) such as phone and email, some will be use for sending an event when have occurred on merchant accounts such as webhookUrl
Product/Company name
For API report
Contact
Webhook URL for sending an event when have occurred on merchant accounts
Example
Request Content-Types:
application/json
Query
mutation createPublicApp($name: String!, $email: String!, $phone: String, $webhookUrl: String){
createPublicApp(name: $name, email: $email, phone: $phone, webhookUrl: $webhookUrl){
email
id
name
phone
status
webhookUrl
}
}
Variables
{
"name": "string",
"email": "string",
"phone": "string",
"webhookUrl": "string"
}
Try it now
mutation createPublicApp($name: String!, $email: String!, $phone: String, $webhookUrl: String){
createPublicApp(name: $name, email: $email, phone: $phone, webhookUrl: $webhookUrl){
email
id
name
phone
status
webhookUrl
}
}
{
"name": "string",
"email": "string",
"phone": "string",
"webhookUrl": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createPublicApp": {
"email": "string",
"id": "string",
"name": "string",
"phone": "string",
"status": "string",
"webhookUrl": "string"
}
}
}
Authentication
After profile approved, Page365 will send you SECRET_KEY which will be use as part of access token creating process. Access token is needed for every request as an identifier and each merchant will use difference unique access token even from the same profile.
In access token creation process you will need 2 parameters (SECRET_KEY, MERCHANT_TOKEN) you can find MERCHANT_TOKEN from each merchant directly and
PROVIDER NEEDS TO KEEP MERCHANT_TOKEN IN PRIVATE AND NOT ALLOW TO PUBLIC TOKEN TO OTHER

Generate access token
Generate access token for using in identification when calling API
Secret key which you receive after your profile approved
Unique token for each merchant generate by Page365
Example
Request Content-Types:
application/json
Query
query generateToken($secretKey: String!, $merchantToken: String!){
generateToken(secretKey: $secretKey, merchantToken: $merchantToken)
}
Variables
{
"secretKey": "string",
"merchantToken": "string"
}
Try it now
query generateToken($secretKey: String!, $merchantToken: String!){
generateToken(secretKey: $secretKey, merchantToken: $merchantToken)
}
{
"secretKey": "string",
"merchantToken": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"generateToken": "string"
}
}
Webhooks
After the profile is approved and allowed by the merchant account, Page365 will send an event that has occurred on the merchant account.
Validating Payloads: - Every webhook will have SHA1 signature included in the request's X-Hub-Signature header, preceded with sha1=. You don't have to validate the payload, but you should.
To validate the payload: - Generate a SHA1 signature using the payload and your secret_key - Compare your signature to the signature in the X-Hub-Signature header (everything after sha1=). If the signatures match, the payload is genuine.
HTTP method: - Use POST http method for send to webhook url.
event type should be "order.create" for create event and "order.update" for update event
a token reference with the merchant account.
an order object.
Unique object reference number.
Can be (draft, unpaid, transferred, paid, shipped).
Timestamp when order create.
Note.
Delivery cost in baht.
Discount.
Sum of items price.
Final price which send to customer.
No.
Expire date.
Total amount paid by customer.
Timestamp when customer paid.
Slug.
Delivery tracking code.
Number of item in this order.
Shipping title.
True if customer already receive order inform.
Customer already paid (stage paid, shipped).
Promotion code which be use in this order.
Vat amount.
Vat include.
Tax no.
customer name.
customer address.
customer email.
customer phone.
Create by CF feature.
Detail link.
Items in order.
Bank account for this order payment.
Payment slip.
Unique object reference number.
Name.
Note.
Quantity.
Price.
Sum of items price.
Unique object reference number of product.
Unique object reference number.
Bank account number.
Name.
Provider code.
Verify code.
Create at.
Update at.
event type should be "orderitem.create" for create event and "orderitem.update" for update event
a token reference with the merchant account.
an order item object.
Unique object reference number.
Name.
Note.
Quantity.
Price.
Sum of items price.
Unique object reference number of product.
Unique object reference number of order.
event type should be "bankaccount.create" for create event and "bankaccount.update" for update event
a token reference with the merchant account.
an bank account object.
Unique object reference number.
Bank account number.
Name.
Provider code.
event type should be "customer.create" for create event and "customer.update" for update event
a token reference with the merchant account.
a customer object.
Unique object reference number.
Name.
Phone.
Email.
Address.
Note.
Plateform which customer come from.
Customer tags.
Unique object reference number.
Name.
Product
Fetch merchant product information
Fetch products
Fetch all product information owned by merchant
Returns the first n elements from the list.
Returns the elements in the list that come after the specified cursor.
Returns the last n elements from the list.
Returns the elements in the list that come before the specified cursor.
Access token from authentication operation
Filter by matching argument with name, detail, variant name or variant code
Filter by status
Filter by stock type (stockable, unstockable, all)
Filter by category
Sort by field (sold, actual, reserved, bestsellers) and type (desc, asc) eg. "sold_desc"
Filter by field enabled
Example
Request Content-Types:
application/json
Query
query products($first: Int, $after: String, $last: Int, $before: String, $token: String!, $search: String, $status: String, $scope: String, $categoryId: String, $orderBy: String, $enabled: Boolean){
products(first: $first, after: $after, last: $last, before: $before, token: $token, search: $search, status: $status, scope: $scope, categoryId: $categoryId, orderBy: $orderBy, enabled: $enabled){
}
}
Variables
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"search": "string",
"status": "string",
"scope": "string",
"categoryId": "string",
"orderBy": "string",
"enabled": "boolean"
}
Try it now
query products($first: Int, $after: String, $last: Int, $before: String, $token: String!, $search: String, $status: String, $scope: String, $categoryId: String, $orderBy: String, $enabled: Boolean){
products(first: $first, after: $after, last: $last, before: $before, token: $token, search: $search, status: $status, scope: $scope, categoryId: $categoryId, orderBy: $orderBy, enabled: $enabled){
}
}
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"search": "string",
"status": "string",
"scope": "string",
"categoryId": "string",
"orderBy": "string",
"enabled": "boolean"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"products": {}
}
}
Fetch product
Fetch product information by id
Unique object reference number
Access token from authentication operation
Example
Request Content-Types:
application/json
Query
query product($id: Int!, $token: String!){
product(id: $id, token: $token){
actual
available
cost
detail
enabled
id
name
ordersCount
price
priceBeforeDiscount
refUrl
reserved
sold
statuses
stockable
thumbnail
updatedAt
url
variable
weight
whenOutOfStock
}
}
Variables
{
"id": "integer",
"token": "string"
}
Try it now
query product($id: Int!, $token: String!){
product(id: $id, token: $token){
actual
available
cost
detail
enabled
id
name
ordersCount
price
priceBeforeDiscount
refUrl
reserved
sold
statuses
stockable
thumbnail
updatedAt
url
variable
weight
whenOutOfStock
}
}
{
"id": "integer",
"token": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"product": {
"actual": "integer",
"available": "integer",
"cost": "number",
"detail": "string",
"enabled": "boolean",
"id": "string",
"name": "string",
"ordersCount": "integer",
"price": "number",
"priceBeforeDiscount": "number",
"refUrl": "string",
"reserved": "integer",
"sold": "integer",
"statuses": [
"string"
],
"stockable": "boolean",
"thumbnail": "string",
"url": "string",
"variable": "boolean",
"weight": "number",
"whenOutOfStock": "string"
}
}
}
Product Category
Fetch merchant product category information
Fetch product categories
Fetch all product category information owned by merchant
Returns the first n elements from the list.
Returns the elements in the list that come after the specified cursor.
Returns the last n elements from the list.
Returns the elements in the list that come before the specified cursor.
Access token from authentication operation
Sort result ascending by specific field
Example
Request Content-Types:
application/json
Query
query productCategories($first: Int, $after: String, $last: Int, $before: String, $token: String!, $sort: String){
productCategories(first: $first, after: $after, last: $last, before: $before, token: $token, sort: $sort){
}
}
Variables
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"sort": "string"
}
Try it now
query productCategories($first: Int, $after: String, $last: Int, $before: String, $token: String!, $sort: String){
productCategories(first: $first, after: $after, last: $last, before: $before, token: $token, sort: $sort){
}
}
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"sort": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"productCategories": {}
}
}
Fetch product category
Fetch product category information by id
Unique object reference number
Access token from authentication operation
Example
Request Content-Types:
application/json
Query
query productCategory($id: Int!, $token: String!){
productCategory(id: $id, token: $token){
albumName
autoImport
description
editable
enabled
id
name
size
thumbnail
}
}
Variables
{
"id": "integer",
"token": "string"
}
Try it now
query productCategory($id: Int!, $token: String!){
productCategory(id: $id, token: $token){
albumName
autoImport
description
editable
enabled
id
name
size
thumbnail
}
}
{
"id": "integer",
"token": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"productCategory": {
"albumName": "string",
"autoImport": "boolean",
"description": "string",
"editable": "boolean",
"enabled": "boolean",
"id": "string",
"name": "string",
"size": "integer",
"thumbnail": "string"
}
}
}
Order
Fetch merchant order information
Fetch orders
Fetch all order information owned by merchant
Returns the first n elements from the list.
Returns the elements in the list that come after the specified cursor.
Returns the last n elements from the list.
Returns the elements in the list that come before the specified cursor.
Access token from authentication operation
Sort result ascending by specific field
Filter by stage (draft, unpaid, transferred, paid, shipped)
Filter by bank
Filter by user
Filter by create date format YYYY-MM-DD (since)
Filter by create date format YYYY-MM-DD (until)
Example
Request Content-Types:
application/json
Query
query orders($first: Int, $after: String, $last: Int, $before: String, $token: String!, $sort: String, $stage: String, $bankAccountId: Int, $userId: Int, $sinceCreatedAt: String, $untilCreatedAt: String){
orders(first: $first, after: $after, last: $last, before: $before, token: $token, sort: $sort, stage: $stage, bankAccountId: $bankAccountId, userId: $userId, sinceCreatedAt: $sinceCreatedAt, untilCreatedAt: $untilCreatedAt){
}
}
Variables
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"sort": "string",
"stage": "string",
"bankAccountId": "integer",
"userId": "integer",
"sinceCreatedAt": "string",
"untilCreatedAt": "string"
}
Try it now
query orders($first: Int, $after: String, $last: Int, $before: String, $token: String!, $sort: String, $stage: String, $bankAccountId: Int, $userId: Int, $sinceCreatedAt: String, $untilCreatedAt: String){
orders(first: $first, after: $after, last: $last, before: $before, token: $token, sort: $sort, stage: $stage, bankAccountId: $bankAccountId, userId: $userId, sinceCreatedAt: $sinceCreatedAt, untilCreatedAt: $untilCreatedAt){
}
}
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"sort": "string",
"stage": "string",
"bankAccountId": "integer",
"userId": "integer",
"sinceCreatedAt": "string",
"untilCreatedAt": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"orders": {}
}
}
Fetch order
Fetch order information by id
Unique object reference number
Access token from authentication operation
Example
Request Content-Types:
application/json
Query
query order($id: Int!, $token: String!){
order(id: $id, token: $token){
auto
createdAt
discount
expiresOn
id
itemsCount
no
note
paidAmount
paidAt
promotionCode
sent
shippingCost
shippingOption
slug
sold
stage
subtotal
taxInvoiceNo
total
trackingCode
url
vat
vatIncluded
}
}
Variables
{
"id": "integer",
"token": "string"
}
Try it now
query order($id: Int!, $token: String!){
order(id: $id, token: $token){
auto
createdAt
discount
expiresOn
id
itemsCount
no
note
paidAmount
paidAt
promotionCode
sent
shippingCost
shippingOption
slug
sold
stage
subtotal
taxInvoiceNo
total
trackingCode
url
vat
vatIncluded
}
}
{
"id": "integer",
"token": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"order": {
"auto": "boolean",
"discount": "number",
"id": "string",
"itemsCount": "integer",
"no": "integer",
"note": "string",
"paidAmount": "number",
"promotionCode": "string",
"sent": "boolean",
"shippingCost": "number",
"shippingOption": "string",
"slug": "string",
"sold": "boolean",
"stage": "string",
"subtotal": "number",
"taxInvoiceNo": "string",
"total": "number",
"trackingCode": "string",
"url": "string",
"vat": "number",
"vatIncluded": "boolean"
}
}
}
Stock
Update stock
Update stock
Update product stock owned by merchant
Access token from authentication operation
SKU
Price
Quantity
Note
Example
Request Content-Types:
application/json
Query
mutation createStockMove($token: String!, $sku: String!, $price: Float!, $quantity: Int!, $note: String){
createStockMove(token: $token, sku: $sku, price: $price, quantity: $quantity, note: $note){
createdAt
id
note
price
quantity
quantityAbs
type
}
}
Variables
{
"token": "string",
"sku": "string",
"price": "number",
"quantity": "integer",
"note": "string"
}
Try it now
mutation createStockMove($token: String!, $sku: String!, $price: Float!, $quantity: Int!, $note: String){
createStockMove(token: $token, sku: $sku, price: $price, quantity: $quantity, note: $note){
createdAt
id
note
price
quantity
quantityAbs
type
}
}
{
"token": "string",
"sku": "string",
"price": "number",
"quantity": "integer",
"note": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createStockMove": {
"id": "string",
"note": "string",
"price": "number",
"quantity": "integer",
"quantityAbs": "integer",
"type": "string"
}
}
}
Customer
Fetch merchant customer information
Fetch customers
Fetch all customer information owned by merchant
Returns the first n elements from the list.
Returns the elements in the list that come after the specified cursor.
Returns the last n elements from the list.
Returns the elements in the list that come before the specified cursor.
Access token from authentication operation
Filter by plateform which use to contact
Filter by tag
Example
Request Content-Types:
application/json
Query
query customers($first: Int, $after: String, $last: Int, $before: String, $token: String!, $type: String, $tagId: String){
customers(first: $first, after: $after, last: $last, before: $before, token: $token, type: $type, tagId: $tagId){
}
}
Variables
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"type": "string",
"tagId": "string"
}
Try it now
query customers($first: Int, $after: String, $last: Int, $before: String, $token: String!, $type: String, $tagId: String){
customers(first: $first, after: $after, last: $last, before: $before, token: $token, type: $type, tagId: $tagId){
}
}
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string",
"type": "string",
"tagId": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"customers": {}
}
}
Fetch customer
Fetch customer information by id
Unique object reference number
Access token from authentication operation
Example
Request Content-Types:
application/json
Query
query customer($id: Int!, $token: String!){
customer(id: $id, token: $token){
address
email
id
name
note
phone
type
}
}
Variables
{
"id": "integer",
"token": "string"
}
Try it now
query customer($id: Int!, $token: String!){
customer(id: $id, token: $token){
address
email
id
name
note
phone
type
}
}
{
"id": "integer",
"token": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"customer": {
"address": "string",
"email": "string",
"id": "string",
"name": "string",
"note": "string",
"phone": "string",
"type": "string"
}
}
}
Bank
Fetch bank account information
Fetch banks
Fetch all bank account information owned by merchant
Returns the first n elements from the list.
Returns the elements in the list that come after the specified cursor.
Returns the last n elements from the list.
Returns the elements in the list that come before the specified cursor.
Access token from authentication operation
Example
Request Content-Types:
application/json
Query
query bankAccounts($first: Int, $after: String, $last: Int, $before: String, $token: String!){
bankAccounts(first: $first, after: $after, last: $last, before: $before, token: $token){
}
}
Variables
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string"
}
Try it now
query bankAccounts($first: Int, $after: String, $last: Int, $before: String, $token: String!){
bankAccounts(first: $first, after: $after, last: $last, before: $before, token: $token){
}
}
{
"first": "integer",
"after": "string",
"last": "integer",
"before": "string",
"token": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"bankAccounts": {}
}
}
Schema Definitions
BankAccountConnection: object
The connection type for BankAccount.
- edges:
-
A list of edges.
- nodes:
-
A list of nodes.
- pageInfo:
-
Information to aid in pagination.
Example
{
"edges": [
{
"cursor": "string",
"node": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
}
}
],
"nodes": [
{
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
}
]
}
BankAccountEdge: object
An edge in a connection.
- cursor:
-
A cursor for use in pagination.
- node:
-
The item at the end of the edge.
Example
{
"cursor": "string",
"node": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
}
}
Customer: object
possible type
FbCustomer = Facebook user
IgCustomer = Instagram user
KronosCustomer = Sale page user
LineAtCustomer = Line user
LineCustomer = Line user
OfflineCustomer = Crete by merchant not connect to any platform
- address:
-
Address
- email:
-
Email
- id:
-
Unique object reference number
- name:
-
Name
- note:
-
Note
-
orders:
array
-
All order
- phone:
-
Phone
- tags:
-
All tag
- type:
-
Plateform which customer come from
Example
{
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
}
CustomerConnection: object
The connection type for Customer.
- edges:
-
A list of edges.
- nodes:
-
A list of nodes.
- pageInfo:
-
Information to aid in pagination.
Example
{
"edges": [
{
"cursor": "string",
"node": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
}
}
],
"nodes": [
{
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
}
]
}
CustomerEdge: object
An edge in a connection.
- cursor:
-
A cursor for use in pagination.
- node:
-
The item at the end of the edge.
Example
{
"cursor": "string",
"node": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
}
}
Float: number
Represents signed double-precision fractional values as specified by IEEE 754.
Example
number
ID: object
Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA=="
) or integer (such as 4
) input value will be accepted as an ID.
Example
object
Int: number
Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
number
Order: object
- auto:
-
Create by CF feature
- bankAccount:
-
Bank account for this order payment
- createdAt:
-
Timestamp when order create
- customer:
-
Order owner
- discount:
-
Discount
- expiresOn:
-
Expire date
- id:
-
Unique object reference number
- items:
-
Items in order
- itemsCount:
-
Number of item in this order
- no:
-
No
- note:
-
Note
- paidAmount:
-
Total amount paid by customer
- paidAt:
-
Timestamp when customer paid
- paymentSlip:
-
Payment slip
- promotionCode:
-
Promotion code which be use in this order
- sent:
-
True if customer already receive order inform
- shippingCost:
-
Delivery cost in baht
- shippingOption:
-
Shipping title
- slug:
-
Slug
- sold:
-
Customer already paid (stage paid, shipped)
- stage:
-
Can be (draft, unpaid, transferred, paid, shipped)
- subtotal:
-
Sum of items price
- taxInvoiceNo:
-
Tax no.
- total:
-
Final price which send to customer
- trackingCode:
-
Delivery tracking code
- url:
-
Detail link
- user:
-
Admin who take care of this order
- vat:
-
Vat amount
- vatIncluded:
-
Vat include
Example
{
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object"
}
}
]
}
OrderConnection: object
The connection type for Order.
- edges:
-
A list of edges.
- nodes:
-
A list of nodes.
- pageInfo:
-
Information to aid in pagination.
Example
{
"edges": [
{
"cursor": "string",
"node": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
]
}
}
}
]
}
}
]
}
OrderEdge: object
An edge in a connection.
- cursor:
-
A cursor for use in pagination.
- node:
-
The item at the end of the edge.
Example
{
"cursor": "string",
"node": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number"
}
}
]
}
}
OrderItem: object
- id:
-
Unique object reference number
- name:
-
Name
- note:
-
Note
- order:
-
Order detail
- price:
-
Price
- quantity:
-
Quantity
- subtotal:
-
Sum of items price
- variant:
-
Product variant detail
Example
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
]
}
}
}
]
}
}
PaymentSlip: object
possible status code
VERIFY_STATUS_VALID = 100
VERIFY_STATUS_INVALID_PAID_AMOUNT = 101
VERIFY_STATUS_INVALID_RECEIVER = 102
VERIFY_STATUS_DUPLICATED_TRANS_REF = 201
VERIFY_STATUS_INVALID_TRANS_TYPE = 202
VERIFY_STATUS_INVALID_TRANS_REF = 203
VERIFY_STATUS_EXPIRE = 204
VERIFY_STATUS_API_ERR = 700
VERIFY_STATUS_INVALID_NO_QR = 800
VERIFY_STATUS_INVALID = 900
- createdAt:
-
Create at
- statusCode:
-
Verify code
- updatedAt:
-
Update at
Example
{
"createdAt": "object",
"statusCode": "number",
"updatedAt": "object"
}
Product: object
- actual:
-
Number of item in stock
- available:
-
Number of available for sale
- cost:
-
Cost
- defaultVariant:
-
Default variant
- detail:
-
Detail
- enabled:
-
Show on sale page
- id:
-
Unique object reference number
- name:
-
Title
- ordersCount:
-
Number of order which has this product
- photo:
-
Thumbnail detail
- photosProducts:
-
Product images
- price:
-
Price
- priceBeforeDiscount:
-
Price before discount
- refUrl:
-
Link to product detail page on Facebook
- reserved:
-
Number of reserved
- sold:
-
Number of sold
- statuses:
-
All variant status
- stockMoves:
-
Stock transactions
- stockable:
-
Product use stock feature
- thumbnail:
-
Preview image url
- updatedAt:
-
Latest update time
- url:
-
Link to product detail page on Page365
- variable:
-
Product has variant
- variants:
-
All variant
- weight:
-
Weight
- whenOutOfStock:
-
Action when product out of stock (inform, contact_only, can_order)
Example
{
"actual": "number",
"available": "number",
"cost": "number",
"defaultVariant": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object"
}
}
]
}
}
]
}
}
ProductCategory: object
- album:
-
Album
- albumName:
-
Album title
- autoImport:
-
Auto import from 3rd party
- description:
-
Description
- editable:
-
DEPRECATED for Public API
- enabled:
-
Show on sale page
- id:
-
Unique object reference number
- name:
-
Title
- products:
-
Products
- size:
-
Number of product in category
- thumbnail:
-
Preview image url
Example
{
"album": {
"id": "object",
"source": "string"
},
"albumName": "string",
"autoImport": "boolean",
"description": "string",
"editable": "boolean",
"enabled": "boolean",
"id": "object",
"name": "string",
"products": {
"edges": [
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"cost": "number",
"defaultVariant": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number"
}
}
]
}
}
}
]
}
}
ProductCategoryConnection: object
The connection type for ProductCategory.
- edges:
-
A list of edges.
- nodes:
-
A list of nodes.
- pageInfo:
-
Information to aid in pagination.
Example
{
"edges": [
{
"cursor": "string",
"node": {
"album": {
"id": "object",
"source": "string"
},
"albumName": "string",
"autoImport": "boolean",
"description": "string",
"editable": "boolean",
"enabled": "boolean",
"id": "object",
"name": "string",
"products": {
"edges": [
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"cost": "number",
"defaultVariant": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object"
}
]
}
}
}
]
}
}
}
]
}
}
}
]
}
ProductCategoryEdge: object
An edge in a connection.
- cursor:
-
A cursor for use in pagination.
- node:
-
The item at the end of the edge.
Example
{
"cursor": "string",
"node": {
"album": {
"id": "object",
"source": "string"
},
"albumName": "string",
"autoImport": "boolean",
"description": "string",
"editable": "boolean",
"enabled": "boolean",
"id": "object",
"name": "string",
"products": {
"edges": [
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"cost": "number",
"defaultVariant": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
]
}
}
}
]
}
}
}
]
}
}
}
ProductConnection: object
The connection type for Product.
- edges:
-
A list of edges.
- nodes:
-
A list of nodes.
- pageInfo:
-
Information to aid in pagination.
Example
{
"edges": [
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"cost": "number",
"defaultVariant": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object"
}
}
}
]
}
}
]
}
}
}
]
}
ProductEdge: object
An edge in a connection.
- cursor:
-
A cursor for use in pagination.
- node:
-
The item at the end of the edge.
Example
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"cost": "number",
"defaultVariant": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string"
}
}
}
]
}
}
]
}
}
}
ProductVariant: object
- actual:
-
Number of item in stock
- available:
-
Number of available for sale
- code:
-
Cf code
- cost:
-
Cost
- id:
-
Unique object reference number
- latestStockMoves:
-
latest 100 Stock transactions
- name:
-
Title
- ordersCount:
-
Number of order which has this variant
- price:
-
Price
- priceBeforeDiscount:
-
Price before discount
- profit:
-
Profit from this item
- reserved:
-
Number of reserved
- reservedOrderItems:
-
Order item in reserved_orders
- reservedOrders:
-
Order which has this variant and order status in unpaid, transferred, paid
- sku:
-
SKU code
- sold:
-
Number of sold
- status:
-
Stock status
- stockMoves:
-
Stock transactions
- weight:
-
Weight
Example
{
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object"
}
}
}
]
}
}
]
}
ProductVariantConnection: object
The connection type for ProductVariant.
- edges:
-
A list of edges.
- nodes:
-
A list of nodes.
- pageInfo:
-
Information to aid in pagination.
Example
{
"edges": [
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {}
}
}
]
}
}
]
}
}
]
}
ProductVariantEdge: object
An edge in a connection.
- cursor:
-
A cursor for use in pagination.
- node:
-
The item at the end of the edge.
Example
{
"cursor": "string",
"node": {
"actual": "number",
"available": "number",
"code": "string",
"cost": "number",
"id": "object",
"latestStockMoves": [
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string"
}
}
}
]
}
}
]
}
}
PublicApp: object
- email:
-
Email
- id:
-
Unique object reference number
- name:
-
Title
- phone:
-
Contact
- status:
-
Profile status (pending, reject, approved)
- webhookUrl:
-
Webhook URL for sending an event when have occurred on merchant accounts
Example
{
"email": "string",
"id": "object",
"name": "string",
"phone": "string",
"status": "string",
"webhookUrl": "string"
}
StockMove: object
- createdAt:
-
Transaction create time
- id:
-
Unique object reference number
- note:
-
Note
- order:
-
Associate order for outbound
- price:
-
Price
- quantity:
-
Quantity positive value for inbound and negetive for outbound
- quantityAbs:
-
Quantity in positive term
- type:
-
Inbound for inceasing and outbound for decreasing (inbound, outbound)
- variant:
-
Associate variant
Example
{
"createdAt": "object",
"id": "object",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
],
"type": "string"
},
"discount": "number",
"expiresOn": "object",
"id": "object",
"items": [
{
"id": "object",
"name": "string",
"note": "string",
"order": {
"auto": "boolean",
"bankAccount": {
"bankSlug": "string",
"id": "object",
"name": "string",
"no": "string"
},
"createdAt": "object",
"customer": {
"address": "string",
"email": "string",
"id": "object",
"name": "string",
"note": "string",
"orders": "array",
"phone": "string",
"tags": [
{
"id": "object",
"name": "string"
}
]
}
}
}
]
}
}
String: string
Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.