Orders
Orders are a crucial part of any e-commerce system. Sleekshop provides a range of endpoints to manage orders efficiently. On this page, we'll explore the different order endpoints you can use to create, retrieve, and update orders.
The order model
The order model in Sleekshop contains all the information about an order, including customer details, products, payment, and delivery information.
Properties
- Name
id
- Type
- integer
- Description
Unique identifier for the order.
- Name
order_number
- Type
- integer
- Description
The order number.
- Name
creation_date
- Type
- string
- Description
The date and time when the order was created.
- Name
username
- Type
- string
- Description
The username of the customer who placed the order.
- Name
order_delivery_*
- Type
- string
- Description
Various properties for delivery details (e.g., companyname, firstname, lastname, address).
- Name
order_invoice_*
- Type
- string
- Description
Various properties for invoice details (e.g., companyname, firstname, lastname, address).
- Name
order_email
- Type
- string
- Description
The email address associated with the order.
- Name
order_phone
- Type
- string
- Description
The phone number associated with the order.
- Name
order_note
- Type
- string
- Description
Any additional notes for the order.
- Name
payment_method
- Type
- string
- Description
The payment method used for the order.
- Name
payment_state
- Type
- object
- Description
The current state of the payment.
- Name
delivery_method
- Type
- string
- Description
The delivery method for the order.
- Name
delivery_state
- Type
- object
- Description
The current state of the delivery.
- Name
order_state
- Type
- string
- Description
The current state of the order.
- Name
cart
- Type
- object
- Description
The cart associated with the order, including all products and their details.
Set order details
This endpoint allows you to set or update order details for a specific session.
Required attributes
- Name
session
- Type
- string
- Description
A valid session.
Optional attributes
- Name
id_payment_method
- Type
- integer
- Description
A valid ID specifying the desired payment method.
- Name
id_delivery_method
- Type
- integer
- Description
A valid delivery ID.
- Name
delivery_companyname
- Type
- string
- Description
The delivery companyname.
- Name
delivery_department
- Type
- string
- Description
The delivery department.
- Name
delivery_salutation
- Type
- string
- Description
The delivery salutation.
- Name
delivery_firstname
- Type
- string
- Description
The delivery firstname.
- Name
delivery_lastname
- Type
- string
- Description
The delivery lastname.
- Name
delivery_street
- Type
- string
- Description
The delivery street.
- Name
delivery_number
- Type
- string
- Description
The delivery number.
- Name
delivery_zip
- Type
- string
- Description
The delivery zip.
- Name
delivery_state
- Type
- string
- Description
The delivery state.
- Name
delivery_city
- Type
- string
- Description
The delivery city.
- Name
delivery_country
- Type
- string
- Description
A valid delivery country code.
- Name
invoice_companyname
- Type
- string
- Description
The invoice companyname.
- Name
invoice_department
- Type
- string
- Description
The invoice department.
- Name
invoice_salutation
- Type
- string
- Description
The invoice salutation.
- Name
invoice_firstname
- Type
- string
- Description
The invoice firstname.
- Name
invoice_lastname
- Type
- string
- Description
The invoice lastname.
- Name
invoice_street
- Type
- string
- Description
The invoice street.
- Name
invoice_number
- Type
- string
- Description
The invoice number.
- Name
invoice_zip
- Type
- string
- Description
The invoice zip.
- Name
invoice_state
- Type
- string
- Description
The invoice state.
- Name
invoice_city
- Type
- string
- Description
The invoice city.
- Name
invoice_country
- Type
- string
- Description
A valid invoice country code.
- Name
note
- Type
- string
- Description
A note to be attached to the order.
- Name
email
- Type
- string
- Description
A valid email for the order.
- Name
phone
- Type
- string
- Description
A phone number to be attached to the order.
- Name
attributes
- Type
- array
- Description
An array containing additional attributes if needed.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='set_order_details' \
-d session='SESSION' \
-d delivery_companyname="sleekcommerce" \
-d delivery_firstname="test123" \
-d delivery_lastname="test456" \
-d invoice_firstname="invoice_test" \
-d email="test@test.de" \
-d phone="123321" \
-d attributes='[{"lang":"en_EN","name":"more-infos","value":"here is something important"}]'
Response
{
"object": "order_details",
"user": {
"id_user": 0,
"username": "not_specified"
},
"order_payment_method": {
"id": 0,
"name": "not_specified"
},
"order_delivery_method": {
"id": 0,
"name": "not_specified"
},
"order_payment_state": {
"id": 0,
"name": "not_specified"
},
"order_delivery_state": {
"id": 0,
"name": "not_specified"
},
"order_state": {
"id": 0,
"name": "not_specified"
},
"order_type": {
"id": 0,
"name": "not_specified"
},
"order_number": "",
"username_creator": "",
"creation_date": "",
"username_modifier": "",
"modification_date": "",
"delivery_companyname": "sleekcommerce",
"delivery_department": "",
"delivery_salutation": "",
"delivery_firstname": "test123",
"delivery_lastname": "test456",
"delivery_street": "",
"delivery_number": "",
"delivery_zip": "0",
"delivery_state": "",
"delivery_city": "",
"delivery_country": "",
"delivery_country_code": "",
"invoice_companyname": "",
"invoice_department": "",
"invoice_salutation": "",
"invoice_firstname": "invoice_test",
"invoice_lastname": "",
"invoice_street": "",
"invoice_number": "",
"invoice_zip": "0",
"invoice_state": "",
"invoice_city": "",
"invoice_country": "",
"invoice_country_code": "",
"note": "",
"email": "test@test.de",
"phone": "123321",
"attributes": {
"more-infos": {
"name": "more-infos",
"value": "here is something important"
}
}
}
Get order details
This endpoint allows you to retrieve the order details for a specific session.
Required attributes
- Name
session
- Type
- string
- Description
A valid session.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='get_order_details' \
-d session='SESSION'
Response
{
"object": "order_details",
"user": {
"id_user": 0,
"username": "not_specified"
},
"order_payment_method": {
"id": 0,
"name": "not_specified"
},
"order_delivery_method": {
"id": 0,
"name": "not_specified"
},
"order_payment_state": {
"id": 0,
"name": "not_specified"
},
"order_delivery_state": {
"id": 0,
"name": "not_specified"
},
"order_state": {
"id": 0,
"name": "not_specified"
},
"order_type": {
"id": 0,
"name": "not_specified"
},
"order_number": "",
"username_creator": "",
"creation_date": "",
"username_modifier": "",
"modification_date": "",
"delivery_companyname": "sleekcommerce",
"delivery_department": "",
"delivery_salutation": "",
"delivery_firstname": "test123",
"delivery_lastname": "test456",
"delivery_street": "",
"delivery_number": "",
"delivery_zip": "0",
"delivery_state": "",
"delivery_city": "",
"delivery_country": "",
"delivery_country_code": "",
"invoice_companyname": "",
"invoice_department": "",
"invoice_salutation": "",
"invoice_firstname": "invoice_test",
"invoice_lastname": "",
"invoice_street": "",
"invoice_number": "",
"invoice_zip": "0",
"invoice_state": "",
"invoice_city": "",
"invoice_country": "",
"invoice_country_code": "",
"note": "",
"email": "test@test.de",
"phone": "123321",
"attributes": {
"more-infos": {
"name": "more-infos",
"value": "here is something important"
}
}
}
Get order by ID
This endpoint allows you to retrieve the order details for a specific order ID.
Required attributes
- Name
id_order
- Type
- integer
- Description
A valid order ID.
- Name
language
- Type
- string
- Description
A valid language code.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='get_order_by_id' \
-d id_order=1 \
-d language='de_DE'
Response
{
"object": "order",
"id": 142,
"order_number": 10247,
"creation_date": "2022-09-18 19:41:54",
"username": "guest",
"order_delivery_companyname": "",
"order_delivery_department": "",
"order_delivery_salutation": "mr",
"order_delivery_firstname": "k",
"order_delivery_lastname": "r",
"order_delivery_street": "max-brauer-allee",
"order_delivery_number": "218",
"order_delivery_zip": "22769",
"order_delivery_state": "hamburg",
"order_delivery_city": "hamburg",
"order_delivery_country": "Germany",
"order_delivery_country_code": "DE",
"order_invoice_companyname": "",
"order_invoice_department": "",
"order_invoice_salutation": "MR",
"order_invoice_firstname": "k",
"order_invoice_lastname": "r",
"order_invoice_street": "max-brauer-allee",
"order_invoice_number": "218",
"order_invoice_zip": "22769",
"order_invoice_state": "",
"order_invoice_city": "hamburg",
"order_invoice_country": "Germany",
"order_invoice_country_code": "DE",
"order_email": "test123@test123.com",
"order_phone": "",
"order_note": "",
"payment_method": "PayPal",
"payment_state": {
"name": "PAYMENT_NOT_RECEIVED",
"label": "Payment not received"
},
"delivery_method": "Shipping",
"delivery_state": {
"name": "PROCESSING",
"label": "Processing"
},
"order_state": "OPEN",
"attributes": {
"sys_success_url": {
"name": "sys_success_url",
"value": "here-we-go.com"
},
"sys_cancel_url": {
"name": "sys_cancel_url",
"value": "error-page.com"
}
},
"cart": {
"creation_date": "2022-09-18 19:41:34",
"sum": 123,
"contents": [
{
"type": "PRODUCT",
"id": 465,
"id_product": 537,
"element_number": "117.1",
"quantity": 1,
"price": 123,
"sum_price": 123,
"tax": 19.6387,
"sum_tax": 19.6387,
"name": "tew",
"description": "asd",
"attributes": {
// Product attributes...
}
}
],
"coupons": {
"sum": 0,
"positions": []
},
"delivery_costs": {
"sum": 0,
"positions": []
}
},
"parcels": []
}
Update order details
This endpoint allows you to update the details of an existing order.
Required attributes
- Name
id_order
- Type
- integer
- Description
The ID of the order you want to update.
Optional attributes
- Name
id_payment_method
- Type
- integer
- Description
A valid ID specifying the desired payment method.
- Name
id_delivery_method
- Type
- integer
- Description
A valid delivery ID.
- Name
order_state
- Type
- string
- Description
A valid order state. Options: OPEN, PROCESSING, CLOSED, CANCELED.
- Name
order_payment_state
- Type
- string
- Description
The payment state. Options: PAYMENT_NOT_RECEIVED, PAYMENT_RECEIVED.
- Name
order_delivery_state
- Type
- string
- Description
The delivery state. Options: PROCESSING, CLOSED.
- Name
delivery_*
- Type
- string
- Description
Various delivery details (e.g., companyname, firstname, lastname, address).
- Name
invoice_*
- Type
- string
- Description
Various invoice details (e.g., companyname, firstname, lastname, address).
- Name
note
- Type
- string
- Description
A note to be attached to the order.
- Name
email
- Type
- string
- Description
A valid email for the order.
- Name
phone
- Type
- string
- Description
A phone number to be attached to the order.
- Name
attributes
- Type
- array
- Description
An array containing additional attributes if needed.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d licence_secret_key='' \
-d request='update_order_details' \
-d id_order=1 \
-d delivery_companyname="sleekcommerce" \
-d delivery_firstname="test123" \
-d delivery_lastname="test456" \
-d invoice_firstname="invoice_test" \
-d email="test@test.de" \
-d phone="123321" \
-d attributes='[{"lang":"en_EN","name":"more-infos","value":"here is something important"}]'
Response
{
"object": "update_order_details",
"status": "success"
}
Checkout
This endpoint allows you to finalize an order, making it permanent.
Required attributes
- Name
session
- Type
- string
- Description
A valid session with an order.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='checkout' \
-d session='SESSION'
Response
{
"object": "checkout",
"status": "success",
"id_order": 65,
"session": "",
"message": "",
"param": ""
}
Get invoice
This endpoint allows you to retrieve the invoice for a specified order. The invoice is returned as a base64 encoded string, which needs to be decoded on the frontend.
Required attributes
- Name
id_order
- Type
- integer
- Description
A valid order ID.
Optional attributes
- Name
args
- Type
- object
- Description
An object containing individual attributes for replacements in the form.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='get_invoice' \
-d id_order=10
Response
{
"object": "invoice",
"invoice": "" // Base64 encoded invoice content will be here
}
Get order confirmation
This endpoint allows you to retrieve the order confirmation for a specified order. The confirmation is returned as a base64 encoded string, which needs to be decoded on the frontend.
Required attributes
- Name
id_order
- Type
- integer
- Description
A valid order ID.
Optional attributes
- Name
args
- Type
- object
- Description
An object containing individual attributes for replacements in the form.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='get_order_confirmation' \
-d id_order=10 \
-d args='{"invoice_link":"www.your-link"}'
Response
{
"object": "order_confirmation",
"order_confirmation": "" // Base64 encoded order confirmation content will be here
}
Get delivery countries
This endpoint allows you to retrieve all activated delivery countries.
Required attributes
- Name
licence_username
- Type
- string
- Description
Your licence username.
- Name
licence_password
- Type
- string
- Description
Your licence password.
Request
curl https://demo.sleekshop.net/srv/service/ \
-d licence_username='demo_NBSqhrcrhMci15Ir9UWI' \
-d licence_password='s9vmrbwT23B7bmjR4Vmz' \
-d request='get_delivery_countries'
Response
{
"object": "get_delivery_countries",
"countries": [
{
"id": 1,
"name": "AFGHANISTAN",
"iso": "AF",
"printable_name": "Afghanistan"
},
// More countries...
]
}