Clopos client API Reference¶
Note
Below shown examples are for sync requests. To use async requests, just import async client,
and call same-name functions with await:
from integrify.clopos import CloposAsyncRequest
integrify.clopos.client.CloposRequest
module-attribute
¶
CloposRequest = CloposClientClass(sync=True)
integrify.clopos.client.CloposAsyncRequest
module-attribute
¶
CloposAsyncRequest = CloposClientClass(sync=False)
Note
These are already create class objects, considered for direct use. Otherwise, you should create
instance at every call, such as: CloposClientClass().auth()
integrify.clopos.client.CloposClientClass
¶
CloposClientClass(name='Clopos', base_url=BASE_URL, default_handler=None, sync=True, dry=False)
Bases: APIClient
Base class for CloposClient
auth
¶
Exchange your client credentials for a short-lived access token that authorizes all other API requests.
Endpoint: POST /open-api/auth
Example:
from integrify.clopos import CloposClient
CloposClient.auth(
client_id='eNUKI04aYJRU6TBhh5bwUrvmEORgQoxM',
client_secret='dqYkWUpDjzvKOgbP3ar8tSNKJbwMyYe1V5R7DHClfSNYkap5C5XxRA6PmzoPv1I2',
brand='openapitest',
venue_id='1'
)
# Or if you have set the environment variables
CloposClient.auth(headers={'x-token': 'token'})
Response format: AuthResponse
This request returns you a token for subsequent API calls which is valid for one hour.
| PARAMETER | DESCRIPTION |
|---|---|
client_id
|
Client ID provided by Clopos. Can be set in environment variable |
client_secret
|
Client secret provided by Clopos. Can be set in environment variable |
brand
|
Brand you want to authenticate. Can be set in environment variable |
venue_id
|
Venue ID you want to authenticate. Can be set in environment variable |
get_venues
¶
Allows you to quickly retrieve active branches connected to your brand to initiate location-based operations.
Endpoint: GET /open-api/venues
Example:
from integrify.clopos import CloposClient
CloposClient.get_venues(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_venues(headers={'x-token': 'token'})
Response format: ObjectListResponse[Venue]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1) |
limit
|
Maximum number of objects to return (1-100) |
headers
|
Headers for request |
```
get_users
¶
Use this endpoint to inspect staff accounts, roles, and access levels across your venues.
Endpoint: GET /open-api/users
Example:
from integrify.clopos import CloposClient
CloposClient.get_users(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_users(headers={'x-token': 'token'})
Response format: ObjectListResponse[User]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1) |
limit
|
Maximum number of objects to return (1-100) |
headers
|
Headers for request |
```
get_user_by_id
¶
get_user_by_id(id, *, headers=UNSET)
Retrieve a specific user by their unique identifier.
Endpoint: GET /open-api/users/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_user_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_user_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[User]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
User ID
TYPE:
|
headers
|
Headers for request |
```
get_customers
¶
Retrieve all customers with optional search, pagination, filtering, and relationship inclusion
Endpoint: GET /open-api/customers
Example:
from integrify.clopos import CloposClient
CloposClient.get_customers(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_customers(headers={'x-token': 'token'})
Response format: ObjectListResponse[Customer]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-100)
TYPE:
|
with_
|
Include related data in the response. Supported values: |
filters
|
List of filters to apply in format {'by': 'name'|'phones'|'group_id', 'value': str} |
headers
|
Headers for request |
```
get_customer_by_id
¶
get_customer_by_id(id, *, headers=UNSET)
Retrieve a specific customer by their unique identifier.
Endpoint: GET /open-api/customers/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_customer_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_customer_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[Customer]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Customer ID
TYPE:
|
headers
|
Headers for request |
```
get_customer_groups
¶
Retrieve a list of all customer groups with pagination support.
Endpoint: GET /open-api/customer-groups
Example:
from integrify.clopos import CloposClient
CloposClient.get_customer_groups(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_customer_groups(headers={'x-token': 'token'})
Response format: ObjectListResponse[Group]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1) |
limit
|
Maximum number of objects to return (1-100) |
headers
|
Headers for request |
```
get_categories
¶
get_categories(page=1, limit=50, parent_id=UNSET, type=UNSET, include_children=True, include_inactive=False, *, headers=UNSET)
Retrieve product categories along with their hierarchical structure
Endpoint: GET /open-api/categories
Example:
from integrify.clopos import CloposClient
CloposClient.get_categories(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_categories(headers={'x-token': 'token'})
Response format: ObjectListResponse[Category]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Number of categories to return (1-999)
TYPE:
|
parent_id
|
Filters records under a specific parent category |
type
|
Category type; PRODUCT, INGREDIENT, ACCOUNTING
TYPE:
|
include_children
|
Include child categories in the response
TYPE:
|
include_inactive
|
Include inactive categories
TYPE:
|
headers
|
Headers for request |
```
get_category_by_id
¶
get_category_by_id(id, *, headers=UNSET)
Retrieve a specific menu category with its hierarchical details
Endpoint: GET /open-api/categories/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_category_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_category_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[Category]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Category ID
TYPE:
|
headers
|
Headers for request |
```
get_stations
¶
Retrieve all preparation and service stations
Endpoint: GET /open-api/stations
Example:
from integrify.clopos import CloposClient
CloposClient.get_stations(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_stations(headers={'x-token': 'token'})
Response format: ObjectListResponse[Station]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-200)
TYPE:
|
status
|
Filter by station status ( |
can_print
|
Filter stations that can redirect to a printer. |
headers
|
Headers for request |
```
get_station_by_id
¶
get_station_by_id(id, *, headers=UNSET)
Retrieve a specific preparation or service station
Endpoint: GET /open-api/stations/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_station_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_station_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[Station]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Station ID
TYPE:
|
headers
|
Headers for request |
```
get_products
¶
Get the product catalog with advanced filtering and pagination.
Endpoint: GET /open-api/products
Example:
from integrify.clopos import CloposClient
CloposClient.get_products(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_products(headers={'x-token': 'token'})
Response format: ObjectListResponse[Product]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-100)
TYPE:
|
selects
|
Comma-separated string OR list of fields to include in the response. The fields id, name, and type are always included regardless of this parameter. Example: selects=id,name,type,price,image |
filters
|
|
headers
|
Headers for request |
```
get_product_by_id
¶
Retrieve a single product with type-specific details.
Endpoint: GET /open-api/products/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_product_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_product_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[Product]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Product ID
TYPE:
|
with_
|
Related data selector. Example: taxes, unit, modifications, modificator_groups, recipe, packages, media, tags, setting. You can include multiple with parameters |
headers
|
Headers for request |
```
get_sale_types
¶
get_sale_types(page=1, limit=20, *, headers=UNSET)
Retrieve a list of all available sale types.
Endpoint: GET /open-api/sale-types
Example:
from integrify.clopos import CloposClient
CloposClient.get_sale_types(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_sale_types(headers={'x-token': 'token'})
Used by
Create Order: provide payload.service.sale_type_id and payload.service.venue_id Create Receipt: optionally include sale_type_id or meta.sale_type
Response format: ObjectListResponse[SaleType]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-100)
TYPE:
|
headers
|
Headers for request |
```
get_payment_methods
¶
get_payment_methods(page=1, limit=20, *, headers=UNSET)
Retrieve a list of all configured payment methods.
Endpoint: GET /open-api/payment-methods
Example:
from integrify.clopos import CloposClient
CloposClient.get_payment_methods(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_payment_methods(headers={'x-token': 'token'})
Response format: ObjectListResponse[PaymentMethod]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-100)
TYPE:
|
headers
|
Headers for request |
```
get_stop_list
¶
Get stop list data for specific products.
You can filter by multiple parameters at once. For that have order of your lists in check.
Endpoint: GET /open-api/products/stop-list
Example:
from integrify.clopos import CloposClient
CloposClient.get_stop_list(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_stop_list(
filters=[
{'by': 'id', 'from_': '0', 'to': '100'},
{'by': 'limit', 'from_': '1', 'to': '10'},
]
headers={'x-token': token},
) # Filter by id from 0 to 100 AND limit from 1 to 10
Response format: ObjectListResponse[StopList]
| PARAMETER | DESCRIPTION |
|---|---|
filters
|
List of filter options. Each filter is a dict with keys 'by', 'from_', and 'to'. |
headers
|
Headers for request |
```
get_orders
¶
Retrieve orders with replicable filters and status-based searches
Endpoint: GET /open-api/orders
Example:
from integrify.clopos import CloposClient
CloposClient.get_orders(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_orders(headers={'x-token': 'token'})
Response format: ObjectListResponse[Order]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-100)
TYPE:
|
status
|
Filter by order status
TYPE:
|
headers
|
Headers for request |
```
get_order_by_id
¶
Retrieve a single order with status, customer, and line item details.
Endpoint: GET /open-api/orders/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_order_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_order_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[Order]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Order ID
TYPE:
|
with_
|
Include related resources in the response. Currently supported: receipt:id,service_notification_id,status. When included, the data.receipt field will be present in the response (or null if no receipt exists for the order).
TYPE:
|
headers
|
Headers for request |
```
create_order
¶
Create a new order with product line items and customer information
Endpoint: POST /open-api/orders
Example:
from integrify.clopos import CloposClient
data = {
'customer_id': 1,
'payload': {
'service': {
'sale_type_id': 2,
'sale_type_name': 'Delivery',
'venue_id': 1,
'venue_name': 'Main',
},
'customer': {
'id': 9,
'name': 'Rahid Akhundzada',
'customer_discount_type': 1,
'phone': '+994705401040',
},
'products': [
{
'product_id': 1,
'count': 1,
'product_modificators': [
{'modificator_id': 187, 'count': 1},
{'modificator_id': 201, 'count': 1},
],
'meta': {
'price': 0,
'order_product': {
'product': {
'id': 1,
'name': 'Mega Dürüm Menü Alana Çiğ Köfte Dürüm',
'category_id': 1,
'station_id': 1,
'price': 0,
},
'count': 1,
'status': 'completed',
'product_modificators': [
{'modificator_id': 187, 'count': 1},
{'modificator_id': 201, 'count': 1},
],
'product_hash': 'MTExODcsMTEyMDE=',
},
},
}
],
},
'meta': {
'comment': '',
'discount': {'discount_type': 1, 'discount_value': 10},
'orderTotal': '16.2000',
'apply_service_charge': True,
'customer_discount_type': 1,
'service_charge_value': 0,
},
}
CloposClient.create_order(**data, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.create_order(**data, headers={'x-token': 'token'})
Response format: ObjectResponse[Order]
Prerequisites
- The top-level customer_id must be provided.
- Service context is required in payload.service:
- sale_type_id — a valid sale type ID from List Sale Types
- sale_type_name — human-readable sale type name
- venue_id and venue_name — the venue where the order will be fulfilled
- Product and modifier identifiers must exist in the POS catalog. Include the meta.order_product data returned by catalog APIs for accurate reconciliation.
- Totals and discounts are recalculated by the platform; send the raw values shown to operators.
| PARAMETER | DESCRIPTION |
|---|---|
customer_id
|
Customer ID
TYPE:
|
payload
|
Order payload
TYPE:
|
meta
|
Meta object |
headers
|
Headers for request |
```
update_order
¶
update_order(id, status, *, headers=UNSET)
Update the status of an existing order
Endpoint: PUT /open-api/orders/{id}
Example:
from integrify.clopos import CloposClient
from integrify.clopos.schemas.enums import OrderStatus
CloposClient.update_order(id=1, OrderStatus.IGNORE, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.update_order(id=1, status=OrderStatus.IGNORE)
Response format: ObjectResponse[Order]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Order ID
TYPE:
|
status
|
Order status to update
TYPE:
|
headers
|
Headers for request |
```
get_receipts
¶
get_receipts(page=1, limit=50, sort_by='created_at', sort_order=-1, date_from=UNSET, date_to=UNSET, *, headers=UNSET)
Retrieve all receipts with support for filters and sorting
Endpoint: GET /open-api/receipts
Example:
from integrify.clopos import CloposClient
CloposClient.get_receipts(headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_receipts(headers={'x-token': 'token'})
Response format: ObjectListResponse[Receipt]
| PARAMETER | DESCRIPTION |
|---|---|
page
|
Page number for pagination (starts at 1)
TYPE:
|
limit
|
Maximum number of objects to return (1-200)
TYPE:
|
sort_by
|
Primary sort field
TYPE:
|
sort_order
|
Primary sort direction (1 = ascending, -1 = descending)
TYPE:
|
date_from
|
Start date (inclusive) in YYYY-MM-DD format |
date_to
|
End date (inclusive) in YYYY-MM-DD format |
headers
|
Headers for request |
```
get_receipt_by_id
¶
get_receipt_by_id(id, *, headers=UNSET)
Retrieve the full details of a specific receipt
Endpoint: GET /open-api/receipts/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.get_receipt_by_id(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.get_receipt_by_id(id=1, headers={'x-token': 'token'})
Response format: ObjectResponse[Receipt]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Receipt ID
TYPE:
|
headers
|
Headers for request |
```
create_receipt
¶
create_receipt(cid, payment_methods, user_id, by_cash=UNSET, by_card=UNSET, customer_discount_type=UNSET, discount_rate=UNSET, discount_type=UNSET, discount_value=UNSET, delivery_fee=UNSET, gift_total=UNSET, guests=UNSET, original_subtotal=UNSET, printed=UNSET, receipt_products=UNSET, remaining=UNSET, rps_discount=UNSET, sale_type_id=UNSET, service_charge=UNSET, service_charge_value=UNSET, status=UNSET, subtotal=UNSET, terminal_id=UNSET, total=UNSET, total_tax=UNSET, created_at=UNSET, closed_at=UNSET, address=UNSET, courier_id=UNSET, meta=UNSET, *, headers=UNSET, **kwargs)
Create a new receipt with payment amounts and methods
Endpoint: POST /open-api/receipts
Example:
from integrify.clopos import CloposClient
CloposClient.create_receipt(cid='uuid', payment_methods=[{'id': 1, 'name': 'cash', 'amount': 100}], user_id=1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.create_receipt(cid='uuid', payment_methods=[{'id': 1, 'name': 'cash', 'amount': 100}], user_id=1, headers={'x-token': 'token'})
Notes
- cid must be unique; if you send the same value again, you will get a 409.
- The sum of amounts in payment_methods[] should equal the total (it may differ from by_cash + by_card when you track tenders only via payment_methods).
- All time fields are strings and may represent Unix milliseconds in certain integrations.
- Creating a receipt through this endpoint stores it as a closed record and does not notify POS terminals or other systems.
- Read the
Retry-Afterheader before retrying if you encounter rate limits or transient errors.
Response format: ObjectResponse[Receipt]
| PARAMETER | DESCRIPTION |
|---|---|
cid
|
Transaction UUID
TYPE:
|
payment_methods
|
List of payment methods
TYPE:
|
user_id
|
User ID
TYPE:
|
by_cash
|
Cash total |
by_card
|
Card total |
customer_discount_type
|
Customer discount type.
TYPE:
|
discount_rate
|
Percentage discount |
discount_type
|
Discount type
TYPE:
|
discount_value
|
Amount-based discount |
delivery_fee
|
Delivery fee |
gift_total
|
Gift total |
guests
|
Number of guests |
original_subtotal
|
Original subtotal |
printed
|
If receipt is printed |
receipt_products
|
List of receipt products
TYPE:
|
remaining
|
Remaining amount |
rps_discount
|
RPS discount |
sale_type_id
|
Sale type ID |
service_charge
|
Service charge |
service_charge_value
|
Service charge value |
status
|
Status |
subtotal
|
Subtotal |
terminal_id
|
Terminal ID |
total
|
Total |
total_tax
|
Total tax |
created_at
|
Creation time (Unix ms) |
closed_at
|
Closing time (Unix ms) |
address
|
Customer address |
courier_id
|
Courier user ID; can be any user ID
TYPE:
|
meta
|
Metadata |
headers
|
Headers for request |
```
update_closed_receipt
¶
update_closed_receipt(id, order_status=UNSET, order_number=UNSET, fiscal_id=UNSET, lock=UNSET, *, headers=UNSET)
Update specific fields of a receipt using the PATCH method. Only the provided fields will be updated; all other fields remain unchanged.
Endpoint: PATCH /open-api/receipts/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.update_closed_receipt(1, order_status='NEW', headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.update_closed_receipt(id=1, order_status='NEW', headers={'x-token': 'token'})
Response format: ObjectResponse[Receipt]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Receipt ID
TYPE:
|
order_status
|
New order status. Valid values: "NEW", "SCHEDULED", "IN_PROGRESS", "READY", "PICKED_UP", "COMPLETED", "CANCELLED"
TYPE:
|
order_number
|
Order number identifier (e.g., "RPO-00001") |
fiscal_id
|
Fiscal receipt identifier |
lock
|
Lock status of the receipt |
headers
|
Headers for request |
update_receipt
¶
update_receipt(id, cid, delivery_fee, description, order_number, order_status, guests, discount_rate, discount_type, discount_value, customer_id, closed_at, meta_customer, *, headers=UNSET)
Comprehensively update a receipt using the PUT method. This method allows you to update multiple fields at once and can also be used to close receipts.
Critical Requirements
- The cid and id fields must not change. If different values are sent, the system will treat it as a new receipt and return an error.
- All fields in the request body must be provided (full receipt object update).
Endpoint: PUT /open-api/receipts/{id}
Example:
from integrify.clopos import CloposClient
from integrify.clopos.schemas.enums import DiscountType
CloposClient.update_receipt(
id=1,
cid='1',
delivery_fee=100,
description='Receipt description',
order_number='002',
order_status='NEW',
guests=2,
discount_rate=0,
discount_type=0,
discount_value=None,
customer_id=1,
closed_at='',
meta_customer={
"name": "Rahid Akhundzada",
"bonus": 0,
"cashback": 54.69,
"balance": -108,
"desc": null,
"code": null,
"phone": "+994 70 540 10 40",
"group_name": "My Customers",
"group_id": 1
},
headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'}
)
# Or if you have set the environment variables
CloposClient.update_receipt(
id= 1,
cid'= 'a7890398-d8ae-41cb-b95f-4d21458d72cf',
delivery_fee=5,
description='Updated receipt description',
order_number='002',
order_status='IN_PROGRESS',
guests=2,
discount_rate=10,
discount_type=DiscountType.PERCENTAGE,
discount_value=0,
customer_id=123,
closed_at='',
meta_customer={
'name': 'Rahid Akhundzada',
'bonus': 0,
'cashback': 54.69,
'balance': -108,
'desc': null,
'code': null,
'phone': '+994 70 540 10 40',
'group_name': 'My Customers',
'group_id': 1
},
headers={'x-token': 'token'}
)
Response format: ObjectResponse[Receipt]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Receipt ID. Must match the path parameter - cannot be changed.
TYPE:
|
cid
|
Client identifier. Must match the existing receipt's CID - cannot be changed.
TYPE:
|
delivery_fee
|
Delivery fee amount.
TYPE:
|
description
|
Receipt description. Maximum 500 characters.
TYPE:
|
order_number
|
Order number identifier (e.g., "002").
TYPE:
|
order_status
|
Order status. Valid values: "NEW", "SCHEDULED", "IN_PROGRESS", "READY", "PICKED_UP", "COMPLETED", "CANCELLED".
TYPE:
|
guests
|
Number of guests
TYPE:
|
discount_rate
|
Discount rate
TYPE:
|
discount_type
|
Discount type. Valid values: 1 (percent), 2 (amount).
TYPE:
|
discount_value
|
Discount value. Required when discount_type is 2 (amount).
TYPE:
|
customer_id
|
Customer identifier. When adding or changing a customer, you must also provide the meta.customer data structure.
TYPE:
|
closed_at
|
Timestamp when the receipt was closed. Can be set to close the receipt. Format: "YYYY-MM-DD HH:MM:SS" or empty string "" to keep open.
TYPE:
|
meta_customer
|
Customer metadata object. Required when customer_id is provided.
TYPE:
|
headers
|
Headers for request |
close_receipt
¶
close_receipt(id, cid, payment_methods, closed_at, *, headers=UNSET)
Comprehensively update a receipt using the PUT method. This method allows you to update multiple fields at once and can also be used to close receipts.
Critical Requirements
- The cid and id fields must not change. If different values are sent, the system will treat it as a new receipt and return an error.
- All fields in the request body must be provided (full receipt object update).
Endpoint: PUT /open-api/receipts/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.update_closed_receipt(1, order_status='NEW', headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.update_closed_receipt(id=1, order_status='NEW', headers={'x-token': 'token'})
Response format: ObjectResponse[Receipt]
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Receipt ID. Must match the path parameter - cannot be changed.
TYPE:
|
cid
|
Client identifier. Must match the existing receipt's CID - cannot be changed.
TYPE:
|
payment_methods
|
List of payment methods with amounts
TYPE:
|
closed_at
|
Closing timestamp in format "YYYY-MM-DD HH
TYPE:
|
headers
|
Headers for request |
delete_receipt
¶
delete_receipt(id, *, headers=UNSET)
Permanently remove a receipt by its identifier
Endpoint: DELETE /open-api/receipts/{id}
Example:
from integrify.clopos import CloposClient
CloposClient.delete_receipt(1, headers={'x-brand': 'openapitest', 'x-venue': '1', 'x-token': 'token'})
# Or if you have set the environment variables
CloposClient.delete_receipt(id=1, headers={'x-token': 'token'})
Response format: BaseResponse
| PARAMETER | DESCRIPTION |
|---|---|
id
|
Receipt ID
TYPE:
|
headers
|
Headers for request |
```