This is an official document describing the interaction with the Altegio online booking service. API allows third-party developers to perform most operations with the Altegio platform. When designing methods, we tried to adhere to the REST architecture.
200
requests per minute or 5
requests per second per IP addresshttps://api.alteg.io/api/v1
The API for integration with Altegio contains two groups of methods:
Accessing both the first and second groups of methods requires partner authorization. I.e. passing the partner's unique hash key. API requests are authorized in accordance with RFC 6749 "Resource Owner Password Credentials Grant". When making API requests the HTTP authorization header must include the access key in the following format:
Authorization: Bearer <partner token>
To get this key, please contact us at support@alteg.io and specify:
To get the user API key, use the auth method. The key itself must also be sent in the request header (after the partner key, separated by a comma):
Authorization: Bearer <partner token>, User <user token>
Whether the user needs authorization to work with certain entities should be seen in the descriptions of the data format and sample queries.
All dates in the API are presented as strings in ISO 8601 format:
"2014-09-21T23:00:00.000+03:00"
Durations of services and other entities are transferred in seconds. For example, if the service lasts 15 minutes, then the data format is as follows:
{ "length": 900 }
The API allows you to work with the main entities of the platform:
Company
User Users can manage companies, they have access rights to certain company. Not all users have access to all settings. In order, to change certain settings, you must first obtain a user API-key with the appropriate privileges.
Service category All company services are grouped into a service category.
Service As a rule, an appointment is made for a specific service that a particular employee provides in a particular company. The service has a cost range and some other parameters.
Employee As a rule, booking is made to a specific employee or resource (for example, a lift or quest room).
Employee Schedule Each employee has a work schedule - time intervals during which the employee works with clients.
Employee free time Time for which you can make an appointment with an employee, i.e. time intervals in which it is free.
Appointment The time interval at which a particular employee provides services to a specific client. The employee is busy during an appointment.
Customer The person who booked the service from the company.
There are four main structures used for working with data:
Entity One of the entities listed above, which has unique properties and parameters. Entities can be retrieved, modified, and deleted.
Entity Collection A set of entities. For example, a list of companies or a list of services provided by companies. Entities can be added to a collection of entities.
Communication entity For example, the relationship of an employee and service determines that a particular employee provides a specific service. Communication may have its properties, for example, the individual price of service for a particular employee
Collection of entity relationships For example, a list of services provided by an employee and their properties. You can add links to the collection
Returns a list of user roles along with permissions for each role.
company_id required | number Example: 123 ID of a company. |
include | Array of strings Items Value: "user_permissions" Requested set of an included models. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Model object "User role") | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": [
- {
- "slug": "worker",
- "title": "Worker",
- "description": "Provides services",
- "weight": 1,
- "user_permissions": [
- {
- "slug": "timetable_access",
- "title": "Appointment calendar",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": true,
- "entity_name": null,
- "children": [
- {
- "slug": "timetable_position_id",
- "title": "View the schedule and post records",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": null,
- "entity_name": "position",
- "children": null,
- "options": [
- {
- "title": "All positions",
- "value": 0,
- "is_disabled": false
}, - {
- "title": "Administrator",
- "value": 1234,
- "is_disabled": false
}
], - "type": {
- "slug": "allowed_id",
- "all_access_value": 0,
- "no_access_value": 0
}
}
], - "options": null,
- "type": {
- "slug": "has_group_access",
- "all_access_value": true,
- "no_access_value": false
}
}
]
}
], - "meta": { }
}
Returns a list of user roles along with permissions for each role. Allows to get the editable status for each permission of a company user (is_editable
field). This status depends on the current user's permissions.
company_id required | number Example: 123 ID of a company. |
user_id required | number Example: 123 ID of a user. |
include | Array of strings Items Value: "user_permissions" Requested set of an included models. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Model object "User role") | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": [
- {
- "slug": "worker",
- "title": "Worker",
- "description": "Provides services",
- "weight": 1,
- "user_permissions": [
- {
- "slug": "timetable_access",
- "title": "Appointment calendar",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": true,
- "entity_name": null,
- "children": [
- {
- "slug": "timetable_position_id",
- "title": "View the schedule and post records",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": null,
- "entity_name": "position",
- "children": null,
- "options": [
- {
- "title": "All positions",
- "value": 0,
- "is_disabled": false
}, - {
- "title": "Administrator",
- "value": 1234,
- "is_disabled": false
}
], - "type": {
- "slug": "allowed_id",
- "all_access_value": 0,
- "no_access_value": 0
}
}
], - "options": null,
- "type": {
- "slug": "has_group_access",
- "all_access_value": true,
- "no_access_value": false
}
}
]
}
], - "meta": { }
}
Return user role and list of permissions values.
company_id required | number Example: 123 ID of a company. |
user_id required | number Example: 123 User id. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Model object "Permissions and user role") Data on the permissions and user role | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": {
- "is_editable": true,
- "staff_id": 12345,
- "user_role": "owner",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}, - {
- "slug": "timetable_position_id",
- "value": 0
}, - {
- "slug": "auth_list_allowed_ip",
- "value": ""
}
]
}, - "meta": { }
}
Updates the role and permissions of the user, as well as the employee who is attached to this user.
company_id required | number Example: 123 ID of a company. |
user_id required | number Example: 123 User id. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
user_role | string Enum: "worker" "administrator" "accountant" "manager" "owner" Name of role |
Array of items List of user permissions values | |
staff_id | number Employee ID attached to user |
success | boolean (Successful response status) Response status. |
object (Model object "Permissions and user role") Data on the permissions and user role | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "user_role": "worker",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}
], - "staff_id": 0
}
{- "success": true,
- "data": {
- "is_editable": true,
- "staff_id": 12345,
- "user_role": "owner",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}, - {
- "slug": "timetable_position_id",
- "value": 0
}, - {
- "slug": "auth_list_allowed_ip",
- "value": ""
}
]
}, - "meta": { }
}
Copies an active user with permissions to several companies at once. Adds the user to company as active if the user has not existed in the company yet. If the user has been already invited to the company, only permissions will be updated, the user still has to accept the invitation.
company_id required | number Example: 123 ID of a company. |
user_id required | number Example: 123 User id. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
required | Array of objects non-empty unique List of companies to copy the user to |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "user_company_links": [
- {
- "company_id": 123,
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}
]
}
]
}
{- "success": true,
- "data": null,
- "meta": { }
}
Removes an active user from several companies at once.
company_id required | number Example: 123 ID of a company. |
user_id required | number Example: 123 User id. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
required | Array of objects non-empty unique List of companies to remove the user from |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "user_company_links": [
- {
- "company_id": 123
}
]
}
{- "success": true,
- "data": null,
- "meta": { }
}
You can easily manage schedules of records (currently not supported) and activities via this feature.
It is possible to set up several schedule series for each of the days of the week and adjust its settings for specific needs.
You can set up different staff, datetimes, labels, resource instances etc. for different schedule series.
Searches for a schedule by a record or activity linked to it or by record or activity based on.
company_id required | number Example: 123 ID of a company. |
entity_type required | string Enum: "record" "activity" Example: activity Type of an entity schedule is searched by: |
entity_id required | number Example: 123 ID of an entity schedule is searched by. |
include | Array of strings Items Enum: "days" "days.events_master" "days.events_labels" "days.events_resource_instances" Requested set of an included models. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Object of model "Schedule") Data for an existing schedule in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_start": "2022-01-01",
- "date_end": "2022-02-01",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Creates a schedule of records or activities based on original entity.
company_id required | number Example: 123 ID of a company. |
include | Array of strings Items Value: "days" Requested set of an included models. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
original_entity_type required | string Enum: "record" "activity" Type of entity the schedule will be based on: |
original_entity_id required | number ID of entity the schedule will be based on. |
date_end required | string <date> Date of the schedule end. |
required | Array of objects [ 1 .. 7 ] items Schedule series settings, min of 1 series, max of 7 series (each series corresponds to one day of week). |
success | boolean (Successful response status) Response status. |
object (Object of model "Schedule") Data for an existing schedule in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_end": "2022-02-01",
- "days": [
- {
- "day_of_week": "mon",
- "events_master_id": 123,
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_capacity": 4,
- "labels_ids": [
- 123
], - "resource_instances_ids": [
- 123
]
}
]
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_start": "2022-01-01",
- "date_end": "2022-02-01",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Updates a schedule of records or activities settings.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
date_end | string <date> Date of the schedule end. |
success | boolean (Successful response status) Response status. |
object (Object of model "Schedule") Data for an existing schedule in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "date_end": "2022-02-01"
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_start": "2022-01-01",
- "date_end": "2022-02-01",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Deletes a schedule completely with all series and records or activities linked to it.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": null,
- "meta": { }
}
Adds a new series to an existing schedule of records or activities.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
include | Array of strings Items Enum: "events_master" "events_labels" "events_resource_instances" "events" Requested set of an included models. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
day_of_week required | string Enum: "mon" "tue" "wed" "thu" "fri" "sat" "sun" Day of week of the schedule series. |
events_master_id required | number ID of staff for the events in the schedule series. |
events_time required | string Time of beginning of the events in the schedule series (as HH:MM:SS). |
events_duration required | number Duration of the events in the schedule series (as seconds). |
events_capacity required | number Activities capacity in the schedule series (should be equal to 1 for records). |
labels_ids | Array of numbers IDs of labels for the events in the schedule series. |
resource_instances_ids | Array of numbers IDs of resource instances for the events in the schedule series. |
success | boolean (Successful response status) Response status. |
object (Object of model "Schedule Series") Data for an existing schedule series in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "day_of_week": "mon",
- "events_master_id": 123,
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_capacity": 4,
- "labels_ids": [
- 123
], - "resource_instances_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
], - "events": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "event_status": "stable",
- "event_datetime": "2022-01-24 14:00:00",
- "event_entity_type": "activity",
- "event_entity_id": 123,
- "is_entity_master_changed": false,
- "is_entity_datetime_changed": false,
- "is_entity_duration_changed": false,
- "is_entity_labels_changed": false,
- "is_entity_resource_instances_changed": false
}
]
}, - "meta": { }
}
Updates a schedule of records or activities series settings.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
day_id required | number Example: 123 ID of a schedule series. |
include | Array of strings Items Enum: "events_master" "events_labels" "events_resource_instances" "events" Requested set of an included models. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
force required | boolean Flag for force override of manual changes in scheduled records/activities. |
events_master_id | number ID of staff for the events in the schedule series. |
events_time | string Time of beginning of the events in the schedule series (as HH:MM:SS). |
events_duration | number Duration of the events in the schedule series (as seconds). |
events_capacity | number Activities capacity in the schedule series (should be equal to 1 for records). |
labels_ids | Array of numbers IDs of labels for the events in the schedule series. |
resource_instances_ids | Array of numbers IDs of resource instances for the events in the schedule series. |
success | boolean (Successful response status) Response status. |
object (Object of model "Schedule Series") Data for an existing schedule series in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "force": false,
- "events_master_id": 123,
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_capacity": 4,
- "labels_ids": [
- 123
], - "resource_instances_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
], - "events": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "event_status": "stable",
- "event_datetime": "2022-01-24 14:00:00",
- "event_entity_type": "activity",
- "event_entity_id": 123,
- "is_entity_master_changed": false,
- "is_entity_datetime_changed": false,
- "is_entity_duration_changed": false,
- "is_entity_labels_changed": false,
- "is_entity_resource_instances_changed": false
}
]
}, - "meta": { }
}
Deletes a schedule series and all records or activities linked to it.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
day_id required | number Example: 123 ID of a schedule series. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": null,
- "meta": { }
}
Prints a list of events of scheduled records/activities.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
day_id required | number Example: 123 ID of a schedule series. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Object of model "Event of record/activity in a Schedule") | |
object (Meta object with response results count) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "event_status": "stable",
- "event_datetime": "2022-01-24 14:00:00",
- "event_entity_type": "activity",
- "event_entity_id": 123,
- "is_entity_master_changed": false,
- "is_entity_datetime_changed": false,
- "is_entity_duration_changed": false,
- "is_entity_labels_changed": false,
- "is_entity_resource_instances_changed": false,
- "entity_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "entity_datetime": "2022-01-24 14:00:00",
- "entity_duration": 3600,
- "entity_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "entity_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
]
}
], - "meta": {
- "count": 10
}
}
Creates a client schedule including a bunch of records for activities based on existing schedule.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
client_id required | number ID of client for creating a client schedule. |
comer_id | number ID of client`s comer for creating a client schedule. |
schedule_days_ids required | Array of numbers [ 1 .. 7 ] items IDs of schedule series, min of 1 series, max of 7 series. |
success | boolean (Successful response status) Response status. |
object (Object of model "Client schedule") Data for an existing client schedule in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "client_id": 123,
- "comer_id": 123,
- "schedule_days_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "loyalty_abonement_id": null,
- "final_day": "2022-01-01 12:12:12",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Updates client schedule with attaching or detaching of schedule series, causing client records for future schedule activities being created or deleted.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
client_schedule_id required | number Example: 123 ID of a client schedule. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
schedule_days_ids required | Array of numbers [ 1 .. 7 ] items IDs of schedule series, min of 1 series, max of 7 series. |
success | boolean (Successful response status) Response status. |
object (Object of model "Client schedule") Data for an existing client schedule in a company. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "schedule_days_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "loyalty_abonement_id": null,
- "final_day": "2022-01-01 12:12:12",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Staff"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Label",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Resource #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Deletes a client schedule with deletion of all records for future schedule activities.
company_id required | number Example: 123 ID of a company. |
schedule_id required | number Example: 123 ID of a schedule. |
client_schedule_id required | number Example: 123 ID of a client schedule. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": null,
- "meta": { }
}
Setting up notifications in the wizard inside the notification showcase takes place in several stages
The user must be redirected to this address in the browser after registration with the data required by the partner service
salon_id required | number Branch ID. |
application_id required | number Application ID. |
api_key | number API-key for messaging module. |
webhook_urls | Array of strings Webhooks array |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "salon_id": 123,
- "application_id": 123,
- "api_key": "2f181e2a-5c22-4ae7-9d9b-07104f312c28",
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Authentication needed."
}
}
The integration settings of the partner service must be sent to this address, after which the application will be configured and installed in the branch
salon_id required | number Branch ID. |
application_id required | number Application ID. |
api_key | number API-key for messaging module. |
webhook_urls | Array of strings Webhooks array |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "salon_id": 123,
- "application_id": 123,
- "api_key": "2f181e2a-5c22-4ae7-9d9b-07104f312c28",
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Authentication needed."
}
}
It is necessary to send a webhook notification to this address about successful payment for services on the side of the service partner
salon_id required | number Branch ID. |
application_id required | number Application ID. |
currency_iso required | string Currency ISO (e.g.: USD, EUR, BYN) |
payment_sum required | number Payment amount. |
payment_date required | string Date and time of payment. |
period_from required | string Date from which the paid period begins (inclusive). |
period_to required | string Date from which the paid period ends (inclusive). |
success | boolean (Status.) Status. |
object Data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "salon_id": 123,
- "application_id": 123,
- "currency_iso": "EUR",
- "payment_sum": 990.99,
- "payment_date": "2022-01-01 10:10:00",
- "period_from": "2022-01-01 10:10:00",
- "period_to": "2022-02-01 10:10:00"
}
{- "success": true,
- "data": {
- "id": 123
}
}
This address is intended for sending to Altegio user-accessible SMS sender names. The user will be able to select any available from the transmitted.
salon_id required | number Branch ID. |
application_id required | number Application ID |
short_names required | Array of strings Array of SMS names |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "salon_id": 123,
- "application_id": 123,
- "short_names": [
- "Altegio",
- "AL"
]
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Authentication needed."
}
}
Chargeback Notice
payment_id required | number Example: 123 Payment ID. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": false,
- "data": null,
- "meta": {
- "message": "Authentication needed."
}
}
This is not a valid endpoint. This describes how to send webhooks from Altegio when certain events occur during the application-to-saloon life cycle. Currently available events to receive:
You can set the address for receiving webhooks in the personal account of the Altegio developer.
salon_id required | number Branch ID. |
application_id required | number Application ID. |
event required | string Enum: "uninstall" "freeze" Event Slug. |
partner_token required | string Bearer token of the developer's company (to verify the origin of the webhook) |
{- "salon_id": 123,
- "application_id": 123,
- "event": "uninstall",
- "partner_token": "yasdfkjah2328aj"
}
This endpoint is designed to receive information about the installation of the application in a particular branch.
salon_id required | number Branch ID |
application_id required | number Application ID |
success | boolean (Successful response status) Response status. |
object | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": {
- "logs": [
- {
- "changed_at": "2022-06-27 12:20:02",
- "status_from": "uninstalled",
- "status_to": "pending",
- "source": "marketplace"
}, - {
- "changed_at": "2022-06-27 12:22:02",
- "status_from": "pending",
- "status_to": "active",
- "source": "partner_api"
}
], - "payments": [
- {
- "id": 1523,
- "payment_sum": 1523.12,
- "payment_date": "2022-06-27 12:22:02",
- "is_refunded": false,
- "period_from": "2022-06-27 00:00:00",
- "period_to": "2022-07-27 00:00:00"
}
], - "connection_status": {
- "status": "active",
- "created_at": "2022-06-27 12:20:02"
}
}
}
This endpoint is designed to uninstall the application from partner's side.
salon_id required | number Branch ID |
application_id required | number Application ID |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": null,
- "meta": { }
}
This endpoint is designed to get a list of salons that have connected a certain application, with detailed information about them
application_id required | number Application ID |
page required | number Page number |
count required | number <= 1000 Number of elements per page |
success | boolean Success status (true) |
Array of objects Array of objects | |
meta | Array of objects Metadata (empty array) |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
{- "success": true,
- "data": [
- {
- "id": "1050",
- "title": "La Visage",
- "short_descr": "Beauty saloon",
- "active": "1",
- "phone": "+1-315-555-0175",
- "country_id": 7,
- "schedule": "",
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "R",
- "group_priority": 900
}, - {
- "id": "1051",
- "title": "La Visage 2",
- "short_descr": "Beauty saloon",
- "active": "1",
- "phone": "+1-315-555-0175",
- "country_id": 7,
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "phone_confirmation": false,
- "active_staff_count": 3,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "R",
- "group_priority": 901
}
], - "meta": { }
}
To send an SMS, the operator must provide the address (url_operator) to which requests mentioned further will be sent. Authorization of API requests is performed in accordance with the RFC 6749 “Resource Owner Password Credentials Grant”. When making requests to the API, the HTTP header Authorization must include an access key in the following format: The authorization key (partner_token) must be specified in the settings of the company’s notification module.
In case of an error, its HTTP code is returned. In some cases, a textual description of the error is also returned. All API methods can return the following error codes:
error code | Http status code | Title | Description |
---|---|---|---|
5 | 400 | ENTITY_VALIDATION_ERROR | The request body did not pass validation |
10 | 400 | FIELD_VALIDATION_ERROR | Parameter not validated |
32 | 200 | FIELD_VALIDATION_ERROR | Not enough funds |
15 | 403 | ACCESS_FORBIDDEN | The action is not available, the application does not have the required permissions. |
20 | 401 | INVALID_PARTNER_TOKEN | partner_token missing or invalid |
30 | 404 | RESOURCE_NOT_FOUND | The resource at the requested path does not exist |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
destination_params required | object an object containing the send ID and phone number parameters |
from required | string Sender name |
text required | string departure text |
type required | string sending type (sms, viber) |
dispatch_type required | string mailing type (service - service, adds - advertising) |
delivery_callback_url required | string url to which message statuses are sent |
[- {
- "id": "232674",
- "ext_id": "609aff0fca92466d6a1747dd83f05943a8c9600d"
}, - {
- "id": "232674",
- "error_code": 32,
- "error_message": "explicit error message"
}
]
Number | Title |
---|---|
1 | Delivered |
2 | Not delivered |
4 | Sent to phone |
8 | Transferred to the operator |
16 | Rejected by operator |
52 | Not enough funds |
In case of an error, its HTTP code is returned. In some cases, a textual description of the error is also returned. All API methods can return the following error codes:
error code | Http status code | Title | Description |
---|---|---|---|
5 | 400 | ENTITY_VALIDATION_ERROR | The request body did not pass validation |
10 | 400 | FIELD_VALIDATION_ERROR | Parameter not validated |
15 | 403 | ACCESS_FORBIDDEN | The action is not available, the application does not have the required permissions. |
20 | 401 | INVALID_PARTNER_TOKEN | partner_token missing or invalid |
30 | 404 | RESOURCE_NOT_FOUND | The resource at the requested path does not exist |
When sending SMS, the delivery_callback_url attribute is passed in the request - this is the url to which message statuses should be sent.
Use it to send message statuses. Url to which message statuses should be sent - https://app.alteg.io/smsprovider/status/callback/{partner_token}
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
id | string Identifier |
status | number Message status |
payment_sum | number Full message cost |
currency_iso | string Currency ISO |
parts_amount | number Amount of message's parts |
[- {
- "id": "232674",
- "status": 1,
- "payment_sum": 0.045,
- "currency_iso": "EUR",
- "parts_amount": 2
}
]
{- "success": true
}
When a user changes their password, their API key will change and a new authorization will be required
Attribute | Type | Description |
---|---|---|
login | string | The user's phone number in the format 79161234567 or his Email |
password | string | User password |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Phone number or Email |
password required | string Password |
id | integer <int32> User ID |
user_token | string User_token of the user |
name | string Username |
phone | string User phone |
login | string User login |
string User mailing address | |
avatar | string Path to the user's avatar file |
is_approved | boolean Is the user verified in the system |
{- "password": "testpass"
}
{- "id": 123456,
- "user_token": "wec23fh8cDfFV4432fc352456",
- "name": "James Smith",
- "phone": "+1-315-555-0175",
- "login": "j.smith",
- "is_approved": true
}
When a user of an online account changes their password, their API key will change and a new authorization will be required
Attribute | Type | Description |
---|---|---|
login | string | The visitor's phone number in the format 79161234567 or his Email |
password | string | Visitor password |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Phone number or Email |
password required | string Password |
id | integer <int32> User ID |
user_token | string User_token of the user |
name | string Username |
phone | string User phone |
login | string User login |
string User mailing address | |
avatar | string Path to the user's avatar file |
{- "password": "testpass"
}
{- "id": 123456,
- "user_token": "wec23fh8cDfFV4432fc352456",
- "name": "James Smith",
- "phone": "+1-315-555-0175",
- "login": "j.smith",
}
Each client of the Altegio service can create an unlimited number of online registration forms with different designs and for different recording scenarios.
Usually, the id of the booking form is stored in a subdomain, for example: https://b123.alteg.io, where 123 is the id of the booking form. Using this parameter, you can get all the other parameters necessary for the implementation of online registration, understand whether the registration will take place in a specific company or in a chain of companies.
For the chain widget, you will additionally need to call the [GET] /companies method with the company_id filter and get a list of companies to write to.
The object containing the booking form settings has the following fields:
Field | Type | Description |
---|---|---|
steps | Array of objects | Booking form steps with custom settings |
style | object | Booking form design settings |
group_id | number | Company chain ID (0 - if the entry form is for a non-chain company) |
company_id | number | Company ID (always returned, used to get additional settings) |
phone_confirmation | boolean | Do I need to confirm the phone by SMS (if groupid = 0 (not a group form), otherwise look in the settings of each company separately) |
language | string | Booking form language (code from langs array) |
langs | array of object | List of widget languages |
comment_required | boolean | Whether the field with a comment on the entry is required |
google_analytics_id | string | Google Analytics ID |
facebook_pixel_id | string | Facebook Pixel ID |
sms_enabled | boolean | Is sending SMS available? |
comment_input_name | string (optional) | Title for the field with a comment to the entry (if not set, the default value is used) |
booking_notify_text | string (optional) | The text of the notification that is displayed (if set) at the step of entering contact data |
is_show_privacy_policy | boolean | Whether it is necessary to display the text of the agreement on the personal data processing policy to the user |
specialization_display_mode | number | Display the specialization or position of the employee. 0 - Specialization, 1 - Position |
The steps array consists of objects that have the following fields:
Field | Type | Description | For what steps is specified |
---|---|---|---|
step | string | Step city/company/service/master/datetime/contact/confirm | For everyone |
title | string | Name of the step to display in the interface | For everyone |
number | number | What number should this step be displayed on (starting from 1) | For everyone |
default | string or number | The default value for this step, if set | For all but datetime |
hidden | boolean | Hide this step when booking or not | For everyone |
date_hidden | boolean | Hide this step when booking or not | For datetime |
time_hidden | boolean | Hide this step when booking or not | For datetime |
date_default | string | The default value for this step, if set | For datetime |
time_default | number | The default value for this step, if set | For datetime |
The style object has the following fields:
Field | Type | Description |
---|---|---|
show header | boolean | Show header and menu or not |
logo | string | Path to logo image |
header_background | string | Path to subtitle background image |
menu_background | string | Path to menu background image |
primaryPalette | string | The main color of the form (all colors from the list: red, pink, purple, deep-purple, indigo, blue, light-blue, cyan, teal, green, light-green, lime, yellow, amber, orange, deep-orange, brown , grey, blue-grey, white, black) |
accentPalette | string | Form secondary color (subtitle semi-transparent cover) |
warnPalette | string | Color entry form buttons |
backgroundPalette | string | Entry form background color |
id required | number Example: 1 booking form id |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "steps": [
- {
- "step": "master",
- "title": "Choose a specialist",
- "num": 2,
- "hidden": "0",
- "default": -1
}, - {
- "step": "service",
- "title": "Choose a service",
- "num": 1,
- "hidden": "1",
- "default": "196"
}, - {
- "step": "datetime",
- "title": "Select session date and time",
- "num": 3,
- "hidden": false,
- "date_hidden": "0",
- "time_hidden": "0",
- "date_default": "2014-09-21T23:00:00.000+03:00",
- "time_default": "27900"
}, - {
- "step": "contact",
- "title": "Business Example",
- "num": 3,
- "hidden": false,
- "default": 0
}, - {
- "step": "comfirm",
- "title": "Business Example",
- "num": 4,
- "hidden": false,
- "default": 0
}
], - "style": {
- "show_header": true,
- "main_color": "666",
- "secondary_color": "999",
- "buttons_color": "FFF"
}, - "group_id": 1,
- "company_id": 1,
- "phone_confirmation": false,
- "lang": "en-US",
- "langs": [
- {
- "id": 2,
- "code": "en-US",
- "title": "English"
}, - {
- "id": 4,
- "code": "lv-LV",
- "title": "Latviešu valoda"
}, - {
- "id": 5,
- "code": "et-EE",
- "title": "Eesti keel"
}, - {
- "id": 6,
- "code": "lt-LT",
- "title": "Lietuva"
}, - {
- "id": 7,
- "code": "uk-UK",
- "title": "Ukrainian"
}, - {
- "id": 8,
- "code": "fr-FR",
- "title": "Français"
}, - {
- "id": 9,
- "code": "it-IT",
- "title": "Italiano"
}, - {
- "id": 10,
- "code": "es-ES",
- "title": "Español"
}, - {
- "id": 13,
- "code": "ka-KA",
- "title": "ქართული"
}, - {
- "id": 14,
- "code": "hy-AM",
- "title": "Հայերեն"
}, - {
- "id": 15,
- "code": "kk-KK",
- "title": "Kazakh tili"
}, - {
- "id": 16,
- "code": "hr-HR",
- "title": "Hrvatski jezik"
}, - {
- "id": 17,
- "code": "cs-CS",
- "title": "český jazyk"
}, - {
- "id": 18,
- "code": "ro-RO",
- "title": "Limba Română"
}, - {
- "id": 19,
- "code": "cn-CN",
- "title": "中文"
}, - {
- "id": 20,
- "code": "ar-AR",
- "title": "العَرَبِيَّة"
}, - {
- "id": 21,
- "code": "bg-BG",
- "title": "Bulgarian"
}, - {
- "id": 22,
- "code": "he-IL",
- "title": "עברית"
}, - {
- "id": 23,
- "code": "hu-HU",
- "title": "Magyar nyelv"
}, - {
- "id": 24,
- "code": "Lt-sr-SP",
- "title": "Srpski jezik"
}, - {
- "id": 25,
- "code": "sk-SK",
- "title": "Slovenský jazyk"
}, - {
- "id": 26,
- "code": "mn-MN",
- "title": "Mongol hal"
}, - {
- "id": 27,
- "code": "az-AZ",
- "title": "Azərbaycan dili"
}, - {
- "id": 28,
- "code": "pl-PL",
- "title": "Polszczyzna"
}, - {
- "id": 30,
- "code": "sl-SL",
- "title": "Slòvēnskī"
}
], - "comment_required": false,
- "metrika_counter_id": "50217133",
- "google_analytics_id": "UA-125358345-1",
- "facebook_pixel_id": "2218788388343154",
- "app_metrika_id": "46ab3b93-1bc6-457d-82f0-c1b51f39b01e",
- "sms_enabled": true
}, - "meta": [ ]
}
Translation is available in one of the languages:
langCode required | string Example: en-US Language code. One of the set 'lv-LV', 'en-US', 'ee-EE', 'lt-LT', 'de-DE', 'uk-UK' |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
object | |
object | |
object | |
object | |
object | |
and | string |
terms-of-agreement | string |
data-processing | string |
license-agreement | string |
personal-data | string |
buy-for | string |
object | |
object | |
object | |
object | |
back | string |
backCity | string |
backFilials | string |
backRecordType | string |
filials | string |
my_profile | string |
about_us | string |
object | |
at | string |
on | string |
h | string |
m | string |
from | string |
dist_m | string |
dist_km | string |
yesterday | string |
today | string |
tomorrow | string |
Close | string |
Yes | string |
No | string |
refresh | string |
online_record_disabled | string |
online_record_disabled_long_text | string |
object | |
object | |
object | |
object | |
object | |
save | string |
proceed | string |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
Jan | string |
Feb | string |
March | string |
Mar | string |
Apr | string |
May | string |
Jun | string |
Jul | string |
Aug | string |
Sep | string |
Oct | string |
Nov | string |
Dec | string |
object | |
object | |
landscape | string |
{- "404": {
- "not-found": "It seems that this page does not exist.",
- "not-found-record": "Such an entry does not exist.",
- "go-home": "To main"
}, - "action": {
- "send": "send"
}, - "tips": {
- "terms": {
- "prefix": "By clicking \"Submit\", you accept",
- "of-use": "Terms of Use",
- "personal-policy": "Privacy Policy"
}, - "review-sent": "Review sent",
- "your-mark": "your mark",
- "leave-a-review": "Leave a review",
- "leave-a-tip-to-a-specialist": "Leave a tip for a specialist",
- "credited": "Tip credited",
- "visit-amount": "Visit amount",
- "will-be-written-off": "Will be written off",
- "at-time": "v",
- "rate-specialist-to-sent-feedback": "Rate a specialist to send feedback",
- "title": "Tips",
- "tips-required": "Please select a tip amount",
- "review-or-tips-required": "It seems that there is nothing to send to a specialist yet",
- "enter-sum": "Enter amount",
- "custom-sum": "Own amount",
- "cancel-tips": "Cancel tip",
- "bad-sum": "Tipping must be indicated by the amount"
}, - "payment-status": {
- "payment-error": "Payment error. Try again",
- "payment-redirect": "You should be directed to the payment system.",
- "payment-config-error": "Error in setting up the payment system",
- "contact-us-for-questions": "Contact us if you have any questions.",
- "contacts": "Contacts",
- "order-registered": "Application completed",
- "order-paid": "Order has been paid",
- "retry": "Repeat",
- "order-created-successfully": "The order has been successfully created. Our representative will contact you to clarify the details.",
- "order-is-being-processed": "Operation is being processed",
- "get-payment-data": "Receiving payment data",
- "transaction-number": "Transaction number",
- "payment-transaction-info-1": "If you received a check, then the purchase was successfully completed. Check the email address you provided when purchasing.",
- "payment-transaction-info-2": " If the receipt did not arrive, please try again or contact us using the contacts below.",
- "order-number-info": "Provide this number at the time of your visit to redeem your certificate or pass."
}, - "user-data-form": {
- "loyalty-phone-tip": "Provide this number at the time of your visit to redeem your certificate or pass.",
- "name-required": "Name required",
- "email-required": "Email required",
- "loyalty-email": "E-mail for receipt and purchase",
- "agreement-link": "with the terms of the agreement",
- "data-processing-link": "data processing",
- "terms-prefix": "By clicking on the button you agree",
- "proceed": "Checkout",
- "pay": "Pay",
- "phone-code": "The code",
- "phone": "Telephone",
- "invalid-phone": "Invalid number"
}, - "and": "and",
- "terms-of-agreement": "Terms of agreement",
- "data-processing": "Data processing",
- "license-agreement": "License agreement",
- "personal-data": "Your data",
- "buy-for": "Buy for",
- "group_booking": {
- "personal_booking": "Individual services",
- "group_booking": "Group events",
- "choose_group_event": "Choose an event",
- "group_events_available": "Registration available for group events",
- "places": "Places",
- "group_events_is_not_available": "There are no group events for the selected day",
- "group_events_is_not_available_filial": "Group events are not configured in this branch yet",
- "repeat": "Sign up again",
- "duration": "Duration",
- "no_space": "No places",
- "not_found": "There are no events for the selected filters. Try changing your filter options"
}, - "geo": {
- "geo_timeout_error": "Unable to determine your location. You may be out of GPS coverage",
- "geo_timeout_error_android": "Unable to determine your location. You may be out of GPS coverage. If you have geolocation disabled, you need to enable it and restart the application.",
- "geo_access_error": "No access to your location. The application cannot show branches near you. If you have geolocation disabled, you need to enable it and restart the application."
}, - "tooltips": {
- "change_filial": "Now you will always start recording from this branch. You can change the branch through the menu item",
- "change_filial_back_button": "You can also use the back button to change branch"
}, - "prepaid": {
- "required": "prepayment required",
- "allowed": "prepayment is optional",
- "prepaid_sum": "To pay online:",
- "postpaid_sum": "Payment on the spot:"
}, - "back": "Back",
- "backCity": "Cities",
- "backFilials": "Branches",
- "backRecordType": "Record Type",
- "filials": "Branches",
- "my_profile": "Cabinet",
- "about_us": "About Us",
- "record": {
- "show_details": "View details",
- "is_canceled": "Recording canceled",
- "is_canceled_success": "Recording canceled successfully",
- "record": "Recording",
- "place": "Place",
- "master": "Employee",
- "service": "Service",
- "services": "Services",
- "date": "date",
- "past": "Passed",
- "through": "Across",
- "time": "Time",
- "clients_count": "Number of seats:",
- "book_visit": "Make a visit",
- "add_service": "+ Add service",
- "add_master": "+ Add wizard",
- "add_datetime": "+ Add date and time",
- "cancel_record": "Cancel entry",
- "cancel_record_warning": "Once canceled, the recording will not be recoverable.",
- "confirm_cancel_record": "Are you sure you want to cancel the recording?",
- "error_cancel_record": "You cannot unsubscribe",
- "error_cancel_record_new1": "It is not possible to cancel an appointment online. Please contact the administrator.",
- "error_cancel_record_new2_1": "Unable to cancel online booking",
- "error_cancel_record_new2_2": "before visiting. Please contact the administrator.",
- "add_to_google_calendar": "Add to google calendar",
- "booking_success": "You have successfully signed up!",
- "create_new_record": "Sign up more",
- "future_records": "Upcoming sessions",
- "past_records": "Past",
- "change_record_time": "Transfer entry",
- "error_change_record_time": "Unable to reschedule online. Please contact the administrator.",
- "error_change_record_time2_1": "Unable to reschedule online appointment",
- "error_change_record_time2_2": "before visiting. Please contact the administrator.",
- "selected_services": "Selected services",
- "calculate_services": "Services available...",
- "change_record_fail": "Error transferring recording, please try another time",
- "continue_booking": "Continue recording",
- "go_to_registration": "Go to Altegio website",
- "repeat": "Repeat recording",
- "is_deleted": "Your entry has been deleted."
}, - "at": "v",
- "on": "on the",
- "h": "h.",
- "m": "min.",
- "from": "from",
- "dist_m": "m",
- "dist_km": "km",
- "yesterday": "yesterday",
- "today": "today",
- "tomorrow": "tomorrow",
- "Close": "close",
- "Yes": "Yes",
- "No": "Not",
- "refresh": "Refresh",
- "online_record_disabled": "Online registration is disabled. <br> We apologize for the inconvenience caused.",
- "online_record_disabled_long_text": "Online registration is temporarily unavailable. You can still manage your online records in your account, transfer them and delete them.",
- "address": {
- "about": "About company",
- "address": "The address",
- "phone": "Telephone",
- "phones": "Phones",
- "schedule": "Working hours",
- "site": "Site",
- "date_and_time": "date and time",
- "photos": "Photos",
- "details": "More about the salon"
}, - "common": {
- "information": "information",
- "reviews": "reviews",
- "contacts": "contacts"
}, - "notification": {
- "your_city": "What is your city <%- city_name %>?",
- "yes_my_city": "Yes, this is my city",
- "no_my_city": "No, choose a city",
- "read_all": "Read",
- "delete_all": "Delete",
- "deleted_record": "Deleting an entry",
- "record": "Recording",
- "news": "news",
- "review": "Feedback about the master",
- "notify": "Notification",
- "sent": "Sent"
}, - "header": {
- "loyalty_cards": "Loyalty cards",
- "widget_settings": "Widget settings",
- "settings": "Settings",
- "select_town": "Choose city",
- "select_company": "Choose branch",
- "select_date": "Date picker",
- "select_master": "Employee selection",
- "select_time": "Timing",
- "select_service": "Service selection",
- "input_personal": "Entering contact details",
- "online_record": "Online appointment",
- "selection_of": "Choice",
- "contacts_form": "Registration",
- "record_created": "Post created!",
- "login": "entrance",
- "profile": "Personal Area",
- "my_records": "My notes",
- "record_create_disabled": "Online registration is temporarily unavailable.",
- "master-info": "About employee",
- "notification": "Notifications",
- "my_notifications": "My notifications",
- "none_notifications": "No notifications",
- "cart": "Proof of payment",
- "change_record": "Record transfer",
- "you_booking": "Your order",
- "you_data": "Your data",
- "record": "Recording",
- "actions": "Actions",
- "cancel-record": "Cancel recording",
- "booking_again": "Sign up again",
- "choose_time": "Pick a time",
- "choose_staff": "Choose a specialist",
- "about_service": "About the service",
- "records": "Entries",
- "confirmation": "Confirmation"
}, - "loyalty": {
- "empty-list": "There is nothing here yet",
- "points": {
- "nominative": "score",
- "genitive": "points",
- "plural-genitive": "points"
}, - "no_cards": "You don't have any cards.",
- "no_certificate": "You do not have any certificate.",
- "no_subscription": "You don't have any subscription.",
- "discount": "discount",
- "cashback": "cashback",
- "paid_amount": "Paid",
- "sold_amount": "Sales",
- "visit_count": "Visits",
- "balance": "Accumulated (cashback)",
- "certificate": {
- "services-includes": "What's included",
- "no-restrictions": "No limits",
- "restrictions-only-services": "All services except goods",
- "any-goods": "Any goods",
- "without-goods": "Items not included",
- "without-services": "Services not included",
- "validity": "Validity",
- "validity-without-restrictions": "No expiration date",
- "validity-till": "Before",
- "validity-after-purchase": "since purchase",
- "use-type": "Usage",
- "use-type-multiple": "many times",
- "use-type-single": "once",
- "where-to-use": "Where to use?",
- "where-to-use-show-more": "Show more",
- "where-to-use-all-group": "All over the chain",
- "allow-to-freeze": "Freezing option",
- "title": "Certificate",
- "one-off-use": "Disposable",
- "multi-use": "reusable",
- "denomination": "Denomination",
- "balance": "Remainder"
}, - "subscription": {
- "validity-without-restrictions": "no limit on the number of days",
- "title": "Subscription"
}, - "subscriptions": {
- "all-services": "(all services)",
- "from": "from",
- "valid_until": "Valid until",
- "valid_unlimited": "Validity is not limited",
- "unused": "Subscription has not yet been used",
- "online_sale_button_text": "Buy a certificate or subscription"
}, - "programs": {
- "item_type_id": {
- "any_services_any_goods": "To all services and goods",
- "any_service_no_goods": "For any service",
- "no_services_any_goods": "For any goods",
- "custom_services_no_goods": "For some services",
- "custom_services_any_goods": "For some services and any goods",
- "no_services_custom_goods": "For some products",
- "any_services_custom_goods": "For all services and some products",
- "custom_services_custom_goods": "For some services and products",
- "no_services_no_goods": "Not for services; not for goods"
}, - "determined_action_settings": "Determined by promotion settings"
}
}, - "save": "Save",
- "proceed": "Continue",
- "profile": {
- "name": {
- "saved": "Username changed to",
- "not_known": "Name unknown"
}, - "noFutureRecords": "You have no upcoming sessions",
- "noPastRecords": "You have no past sessions",
- "phone": {
- "confirm": "Verify phone"
}, - "email": {
- "info": "A confirmation email has been sent to you at"
}, - "password": {
- "info": "Password must contain at least eight characters",
- "badPassword": "Wrong password specified",
- "current": "Current Password",
- "new": "New password",
- "invalidTooShort": "",
- "invalidNoDigit": "",
- "invalidNoCapital": "",
- "invalidNoSymbol": ""
}, - "error": "An error occurred while saving data",
- "saved": "Changes to your personal data are saved",
- "contactsDetails": "Contact details",
- "your_records": "Your entries in the salon."
}, - "registration": {
- "registration": "registration",
- "form": {
- "name": "Your name",
- "company_title": "Company name",
- "i_know_promo": "I know promo code",
- "confirm_oferta_1": "I accept the terms",
- "confirm_oferta_2": "contract-offers",
- "submit": "Register",
- "promo": "promo code",
- "unknownError": "A system error has occurred, please try again later"
}
}, - "menu": {
- "account": "Personal data",
- "change_filial": "Change Branch",
- "change_city": "Change city",
- "online_record": "Online booking",
- "about": "About company",
- "change_lang": "Change the language",
- "hide_menu": "Hide menu",
- "login": "To come in",
- "myRecords": "My notes",
- "on-line": "Online appointment",
- "logout": "Log off",
- "my": "Personal Area",
- "favorite": "Favorites",
- "change_password": "password change",
- "header": "Menu",
- "profile": "Profile",
- "loyalty": "My cards",
- "loyalty_subscriptions": "Subscriptions",
- "loyalty_certificates": "Certificates"
}, - "footer": {
- "worked_on": "Works for",
- "worked_on_company_name": "Altegio"
}, - "city": {
- "town_abbreviation": "G.",
- "service_count": "Number of branches:",
- "select_filial": "Branch selection",
- "not_found_cities": "No cities found for your request",
- "search_cities": "Find cities",
- "affiliate": {
- "1": "branch",
- "2": "branch",
- "3": "branches"
}
}, - "company": {
- "list": "List",
- "on_map": "On the map",
- "no_companies_text_1": "You do not have any active company. To set up companies, go to",
- "lk": "Personal account Altegio",
- "no_companies_text_2": "After setting, press the button",
- "no_companies": "No companies",
- "near_session": "The closest available recording session is:",
- "active_master": "Active professionals:",
- "at_o_clock": "v",
- "find_companies": "Find branches",
- "not_found_companies": "No branches found for your search",
- "look_at_the_map": "View on the map"
}, - "steps": {
- "date_and_time": "date and time",
- "staff": {
- "nominative": "Employee",
- "genitive": "employee"
}, - "service": "Service",
- "time": "Time"
}, - "master": {
- "master": "Specialist",
- "skip_select_master": "Skip employee selection",
- "skip_select": "Skip selection",
- "near_session": "Upcoming sessions",
- "nearest_time": "Next time to sign up",
- "no_record": "There are no free sessions for the selected day",
- "no_record_new": "There is no free time for this date. Choose another date or another specialist",
- "no_master": "The employee was fired or no longer works at this branch",
- "any_master": "Irrelevant",
- "record_is_available": "You can sign up",
- "reviews": {
- "nominative": "review",
- "genitive": "recall",
- "plural-genitive": "reviews"
}, - "prepaid": {
- "forbidden": "No prepayment required",
- "allowed": "Prepayment possible",
- "required": "Prepayment required"
}
}, - "cart": {
- "title": "Services selected for payment",
- "confirm": "Confirm Entry",
- "go-to-pay": "Proceed to checkout",
- "confirmed": "Entry Paid",
- "pay-success": "Payment was successful!"
}, - "reviews": {
- "cancelAddReview": "Cancel",
- "later": "Rate later",
- "addReview": "Leave feedback",
- "yourReviewMark": "your mark",
- "reviewFieldLabelText": "your feedback",
- "reviewTitle": "Please rate the quality of the application",
- "reviewMessage": "Write suggestions for improvements",
- "reviewRequestStoreTitle": "Would you like to rate the store?",
- "reviewButton": "Estimate",
- "thanksForReview": "Thanks for the feedback"
}, - "date": {
- "day_of": "Day off",
- "no_record": "Working, no record",
- "have_record": "Working, there is a record",
- "by_month_num": {
- "1": "January",
- "2": "February",
- "3": "March",
- "4": "April",
- "5": "May",
- "6": "June",
- "7": "July",
- "10": "October",
- "11": "November",
- "12": "December",
- "08": "August",
- "09": "September"
}, - "by_month_short": {
- "Jan": "January",
- "Feb": "February",
- "March": "Martha",
- "Mar": "Martha",
- "Apr": "April",
- "May": "May",
- "Jun": "June",
- "Jul": "July",
- "Aug": "august",
- "Sep": "September",
- "Oct": "October",
- "Nov": "November",
- "Dec": "December"
}
}, - "time": {
- "hourCased": {
- "nominative": "hour",
- "genitive": "hours",
- "plural-genitive": "hours"
}, - "weekCased": {
- "nominative": "a week",
- "genitive": "weeks",
- "plural-genitive": "weeks"
}, - "monthCased": {
- "nominative": "month",
- "genitive": "months",
- "plural-genitive": "months"
}, - "yearCased": {
- "nominative": "year",
- "genitive": "of the year",
- "plural-genitive": "years"
}, - "dayCased": {
- "nominative": "day",
- "genitive": "days",
- "plural-genitive": "days"
}, - "minuteCased": {
- "nominative": "minute",
- "genitive": "minutes",
- "accusative": "minute",
- "plural-genitive": "minutes"
}, - "secondCased": {
- "nominative": "second",
- "genitive": "seconds",
- "accusative": "give me a sec",
- "plural-genitive": "seconds"
}, - "at_o_clock": "v",
- "noTimes": "There are no free sessions for the selected day",
- "the_part_of_day": {
- "morning": "Morning",
- "day": "Day",
- "evening": "Evening"
}, - "by_week_day": {
- "Mon": "Mon",
- "Tue": "Tue",
- "Wed": "Wed",
- "Thu": "Thu",
- "Fri": "Fri",
- "Sat": "Sat",
- "Sun": "Sun"
}, - "by_full_week_day": {
- "Monday": "Monday",
- "Tuesday": "Tuesday",
- "Wednesday": "Wednesday",
- "Thursday": "Thursday",
- "Friday": "Friday",
- "Saturday": "Saturday",
- "Sunday": "Sunday"
}
}, - "service": {
- "selected": "Selected",
- "selected_service_count": "Selected services:",
- "noServicesAndEvents": "No promotions or services found for your search",
- "noMoreServices": "There are no services that can be booked together with the selected services",
- "noMoreService": "There are no services that can be booked together with the selected service",
- "search": "Search...",
- "sale": "Stock",
- "services": "Services",
- "add": "Add a service",
- "add_short": "Add",
- "currency_short": "R.",
- "services_pref": {
- "1": "service",
- "2": "services",
- "3": "services"
}, - "order_on": "Order for",
- "price": "price",
- "price_not_available": "Price not specified",
- "price_from": "from",
- "price_to": "before",
- "unavailable_service": "no longer available for online registration. Would you like to choose another?",
- "unavailable_services": "are no longer available for online booking. Would you like to choose others?"
}, - "confirm": {
- "confirm": "Sign up",
- "show_order_details": "View order details",
- "order_details": "Order Details",
- "smsNotify": "Reminder",
- "dontSend": "Do not send",
- "order_on": "Service order",
- "service_sale": "Promotion Services",
- "license_text": "Duis placerat lectus et justo mollis, nec sodales orci congue. Vestibulum semper non urna ac suscipit. Vestibulum tempor, ligula id laoreet hendrerit, massa augue iaculis magna, sit amet dapibus tortor ligula non nibh.",
- "accept": "By clicking the \"Register\" button, you agree to",
- "i_accept": "I accept",
- "i_agree": "I agree",
- "accept_inline": "By clicking the \"Register\" button, you agree",
- "accept_personal_data_inline": "processing of personal data",
- "and_accept": "and accept",
- "terms_of_agreement": "terms of the user agreement",
- "terms_of_agreement_inline": "user agreement terms",
- "how_my_personal_data_will_be_processed": "how my personal data will be processed",
- "first_name": "Name",
- "phone": "Telephone",
- "will_be_used_to_confirm": "Will be used for confirmation",
- "comment": "A comment",
- "email": "Email",
- "recording": "Sign up",
- "code_and_phone_num": "Code and phone number",
- "phone_confirm_short": "Confirm number",
- "phone_already_exists": "The specified number is already in use.",
- "phone_confirm": "Verify phone number",
- "phone_confirm_button": "Confirm",
- "defaultError": "System error:",
- "you_want_to_book": "Do you want to enroll",
- "your_master": "your master",
- "waiting_for_you_at_the_address": "We are waiting for you at",
- "untilVisit": {
- "postfix": "before the visit",
- "prefix": "Per"
}, - "orderErrorsActions": {
- "changeService": "Select other services",
- "changeTime": "Choose another time",
- "changeRecord": "Edit Entry",
- "deleteRecord": "Delete entry"
}, - "orderErrors": {
- "unknown": "incorrect recording parameters",
- "server": "something went wrong, please try again later",
- "code_400": "invalid email",
- "code_404": "incorrect recording parameters",
- "code_422": "incorrect recording parameters",
- "code_437": "time overlap with another visit",
- "code_433": "it is not possible to make an appointment at the selected time",
- "code_436": "no employees available for appointment",
- "code_438": "Unable to sign up for selected services",
- "code_501": "Unknown error",
- "bigLetter": {
- "unknown": "Incorrect recording parameters",
- "server": "Something went wrong, please try again later",
- "code_400": "Incorrect email",
- "code_404": "Incorrect recording parameters",
- "code_422": "Incorrect recording parameters",
- "code_437": "Time overlap with another visit",
- "code_433": "Unable to book at the selected time",
- "code_436": "No employees available for recording",
- "code_438": "Unable to sign up for selected services",
- "code_501": "Unknown error"
}
}, - "errors": {
- "name": {
- "required": "Enter your name"
}, - "company": {
- "required": "Enter company name"
}, - "phone": {
- "required": "Enter phone",
- "incorrect": "Wrong number"
}, - "email": {
- "required": "Enter email",
- "invalid": "Incorrect email format"
}, - "agreement": {
- "required": "You must accept the user agreement"
}, - "agreement_privacy_and_terms_of_use": {
- "required": "To continue, you must accept the user agreement, as well as agree to the processing of personal data"
}, - "comment_default": {
- "required": "Enter a comment"
}, - "comment": {
- "required": "Fill in the field"
}, - "code": {
- "incorrect": "Invalid code from SMS"
}
}
}, - "login": {
- "login": "entrance",
- "sms_auth": "SMS authorization",
- "input_code_confirm": "Enter the code received by SMS to the number",
- "input_phone_num": "Enter your phone number, we will send an SMS to it with an access code to your personal account",
- "input_login_and_password": "If you already have a username and password, enter them below",
- "code_confirm": "confirmation code",
- "come_in": "To come in",
- "sms_not_send_with_colon": "If the SMS did not arrive, you can request a second code via:",
- "sms_not_send": "If the SMS did not arrive, you can request a second code via",
- "sms_not_send_next_try": "If the SMS did not arrive, you can",
- "request_new_sms_code": "Request code again",
- "change_phone_num": "Change phone number",
- "get_code": "to get the code",
- "or": "or",
- "authorized_as": "You are logged in as",
- "come_in_with_login_and_pass": "Log in with username and password",
- "phone_or_email": "Phone or email",
- "pass": "Password",
- "come_in_with_sms_authorise": "Log in via SMS authorization",
- "errors": {
- "incorrect_login_password": "There is no user with this username or password",
- "undefined_error": "A system error has occurred, please try logging in later"
}
}, - "Jan": "January",
- "Feb": "February",
- "March": "Martha",
- "Mar": "Martha",
- "Apr": "April",
- "May": "May",
- "Jun": "June",
- "Jul": "July",
- "Aug": "august",
- "Sep": "September",
- "Oct": "October",
- "Nov": "november",
- "Dec": "December",
- "activity": {
- "places_left": "Remaining places",
- "filters": {
- "select": "Select filters",
- "reset": "Reset",
- "apply": "Apply"
}
}, - "button": {
- "select": "Select",
- "select_time": "Choose time",
- "all_right": "That's right",
- "get_sms": "Receive SMS",
- "back": "Return",
- "add_more": "Add more",
- "remove-from-record": "Remove from order",
- "continue": "Continue",
- "confirm": "Confirm",
- "canceling": "Cancel",
- "more_reviews": "More reviews"
}, - "landscape": "It will be more convenient if you turn the device vertically"
}
James
) - Client namecompany_id required | number Example: 4564 Company ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
phone | string Customer phone number |
fulname | string Client name |
success | boolean Execution success status (true) |
object metadata |
{- "phone": "+1-315-555-0175",
- "fulname": "James Smith"
}
{- "success": true,
- "meta": {
- "message": "Created"
}
}
After generating the parameters of the record(s), you can check them for the possibility of creating records.
JSON-Object containing online recording parameters has the following fields:
Field | Type | Mandatory | Description |
---|---|---|---|
appointments | Array of objects | YES | Recording options (services, specialists...) |
The appointments array consists of objects that have the following fields:
Field | Type | Mandatory | Description |
---|---|---|---|
id | number | Yes | Record ID for post-save feedback (see response to request). |
services | array of numbers | NO | Array of IDs of the services the client wants to sign up for |
staff_id | number | YES | ID of the specialist the client wants to book with (0 if any master is selected) |
datetime | datetime | YES | Session date and time in ISO8601 format (passed for each session in the book_times resource) |
In response to the parameter check request, an empty response with the code 201 will be returned if the record parameters are in order and records can be created:
If the response is JSON with an HTTP code other than 201, then the record parameters are out of order, and records cannot be created.
Errors that the server may return:
The selected time of one of the entries is already taken. In this case, the response comes with http code 422 and error code 433, as well as the record identifier from the appointments array in the id field
There are no employees available for recording (if the default master was selected). In this case, the response comes with http code 422 and error code 436
The selected time of one of the records intersects with the time of the record created by the same query. In this case, the response comes with http code 422 and error code 437, as well as the record identifier from the appointments array in the id field
There is no record for the specified service. (The company has already removed the selected services) In this case, the response comes with http code 422 and error code 438
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
appointments required | Array of objects Recording options (services, specialists...) |
success | boolean Execution success status (true) |
object metadata |
success | boolean Execution success status (true) |
object metadata |
{- "appointments": [
- {
- "id": 1,
- "services": [
- 331
], - "staff_id": 6544,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "id": 2,
- "services": [
- 99055
], - "staff_id": 6544,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}
]
}
{- "success": true,
- "meta": {
- "message": "Created"
}
}
JSON-Object containing online recording parameters has the following fields:
Field | Type | Mandatory | Description |
---|---|---|---|
phone | string | YES | Client's phone number (eg 79161502239) |
full name | string | YES | Client name |
string | NO | Postal address of the client | |
appointments | Array of objects | YES | Recording options (services, specialists...) |
code | string | NO | Phone number confirmation code sent via SMS (only needed if you need to confirm the number) |
notify_by_sms | number | NO | How many hours in advance to send an SMS reminder about the appointment (0 if you do not need to be reminded) |
notify_by_email | number | NO | How many hours in advance to send an email reminder about the appointment (0 if you do not need to be reminded) |
comment | string | NO | Post Comment |
api_id | string | NO | External Record ID |
The appointments array consists of objects that have the following fields:
Field | Type | Mandatory | Description |
---|---|---|---|
id | number | Yes | Record ID for post-save feedback (see response to request). |
services | array of numbers | NO | Array of IDs of the services the client wants to sign up for |
staff_id | number | YES | ID of the specialist the client wants to book with (0 if any master is selected) |
datetime | datetime | YES | Session date and time in ISO8601 format (passed for each session in the book_times resource) |
custom_fields | key-value object | NO | Additional entry field values that are returned with the entry |
Additional fields in the appointments array
When creating additional record fields (see the "Additional fields" section), it becomes possible to pass your own values for the fields. Additional fields are unique for each company. After creating additional fields, their values for a particular record can be passed in the optional field custom_fields as key-value pairs where key is the "code" field of the additional field. Example:
In response to the request to create an appointment, an array of objects will come (the number of objects is equal to the number of objects in the appointments array) with the following fields:
Field | Type | Description |
---|---|---|
id | number | The record ID passed in the appointments array |
record_id | number | Identifier of the entry created in the system |
record_hash | string | Record ID to delete immediately after creation |
Errors to be handled:
The entered SMS number verification code is incorrect. In this case, the response comes with http code 422 and error code 432
The selected time of one of the entries is already taken. In this case, the response comes with http code 422 and error code 433, as well as the record identifier from the appointments array in the id field
The user with the specified phone number is blacklisted and cannot be recorded. In this case, the response comes with http-code 403 and error code 434
The user's phone number is in the wrong format. In this case, the response comes with http code 422 and error code 431
The client's name was not specified. In this case, the response comes with http code 422 and error code 435
There are no employees available for recording (if the default master was selected). In this case, the response comes with http code 422 and error code 436
The selected time of one of the records intersects with the time of the record created by the same query. In this case, the response comes with http code 422 and error code 437, as well as the record identifier from the appointments array in the id field
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
phone required | string Customer phone |
fullname required | string Client name |
string Postal address of the client | |
code | number Phone confirmation code sent via SMS (mandatory if the company has set phone_conformation = true) |
comment | string Commentary on the post |
type | string Recording source |
notify_by_sms | number How many hours before the visit should send an SMS reminder to the client (0 - if not needed) |
notify_by_email | number How many hours before the visit should an email reminder be sent to the client (0 - if not needed) |
api_id | number Record ID from external system |
Array of objects Recording options (session, services, master) |
success | boolean Execution success status (true) |
Array of objects Data (array of objects) | |
meta | Array of objects Metadata (empty array) |
{- "phone": "+1-315-555-0175",
- "fullname": "James Smith",
- "code": "38829",
- "comment": "test entry!",
- "type": "mobile",
- "notify_by_sms": 6,
- "notify_by_email": 24,
- "api_id": "777",
- "appointments": [
- {
- "id": 1,
- "services": [
- 331
], - "staff_id": 6544,
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "custom_fields": {
- "my_custom_field": 123,
- "some_another_field": [
- "first value",
- "next value"
]
}
}, - {
- "id": 2,
- "services": [
- 99055
], - "staff_id": 6544,
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "custom_fields": {
- "my_custom_field": 456,
- "some_another_field": [
- "next value",
- "last value"
]
}
}
]
}
{- "success": true,
- "data": [
- {
- "id": 1,
- "record_id": 2820023,
- "record_hash": "567df655304da9b98487769426d4e76e"
}, - {
- "id": 2,
- "record_id": 2820024,
- "record_hash": "34a45ddabdd446d5d33bdd27fbf855b2"
}
], - "meta": [ ]
}
company_id required | number Company ID |
record_id required | number ID of the record to be migrated |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
datetime | string <date-time> Date and time to which we want to move the record |
comment | string Post comment |
success | boolean Execution success status (true) |
object Data (object) |
{- "datetime": "2014-09-21T23:00:00.000+03:00",
- "comment": "DODO!"
}
{- "success": true,
- "data": {
- "id": 30358,
- "services": [
- {
- "id": 2838,
- "title": "Foot massage",
- "cost": 0,
- "discount": 0
}
], - "company": {
- "id": 4564,
- "title": "Business Example",
- "country_id": "0",
- "country": "United States",
- "city_id": "0",
- "city": "New York",
- "phone": "+1-315-555-0175",
- "timezone": "0",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242"
}, - "staff": {
- "id": 924,
- "name": "Alice",
- "spec": "about eu",
- "show_rating": "1",
- "rating": "5",
- "votes_count": "1",
- "comments_count": "0"
}, - "date": "2014-09-21T23:00:00.000+03:00",
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "",
- "deleted": true,
- "length": 3600,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "0"
}
}
company_id required | number Company ID |
record_id required | number Example: 22123 Post ID (enough to view the post if the user is logged in) |
record_hash required | string Example: 'dawd4fs09rhf0s9fafef0' HASH records (required to view the record if the user is not authorized) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | number Record ID |
Array of objects Service ID List | |
object Company parameters | |
object Employee parameters | |
clients_count | integer <int32> |
date | string <date-time> 04-02T12:00:00Z' (required, string) - Session date |
datetime | string <date-time> Session date in ISO |
create_date | string <date-time> 04-02T12:00:00Z' (required, string) - Record creation date |
comment | string Post comment |
deleted | boolean Whether the entry was made (true if removed) |
attendance | number 2 - The user confirmed the entry, 1 - The user came, the services were provided, 0 - the user is waiting, -1 - the user did not come to visit |
length | number Session duration |
notify_by_sms | number How many hours in advance to send an SMS reminder about the appointment (0 if you do not need to be reminded) |
notify_by_email | number How many hours in advance to send an email reminder about the appointment (0 if you do not need to be reminded) |
master_requested | boolean Whether a specific specialist was specified when recording (false if "doesn't matter" was specified) |
online | boolean Whether the entry is online or not (false if the entry was made by an administrator) |
api_id | string External entry ID |
last_change_date | string <date-time> The date the entry was last edited |
prepaid | boolean Is online payment available for enrollment |
prepaid_confirmed | boolean Online payment status |
activity_id | number group entry ID |
{- "id": 13132699,
- "services": [
- {
- "id": 389043,
- "title": "Correction of extended nails",
- "cost": 2300,
- "price_min": 2300,
- "price_max": 2300,
- "discount": 0,
- "amount": 1,
- "seance_length": 1800
}
], - "company": {
- "id": 4564,
- "title": "Nail correction salon",
- "country_id": 1,
- "country": "United States",
- "city_id": 2,
- "city": "New York",
- "phone": "+1-315-555-0175",
- "phones": [ ],
- "timezone": 12,
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "allow_delete_record": true,
- "allow_change_record": true,
- "site": "www.example.com",
- "currency_short_title": "USD",
- "allow_change_record_delay_step": 0,
- "allow_delete_record_delay_step": 0
}, - "staff": {
- "id": 55436,
- "name": "Natalia",
- "specialization": "Master of manicure and pedicure",
- "position": {
- "id": 446,
- "title": "Manicurist"
}, - "show_rating": 1,
- "rating": 4.84,
- "votes_count": 0,
- "comments_count": 37
}, - "clients_count": 1,
- "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2017-10-24T17:30:00+0000",
- "create_date": "2017-10-20T21:40:24+0000",
- "comment": "",
- "deleted": true,
- "attendance": 0,
- "length": 1800,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "",
- "last_change_date": "2017-10-24T23:54:02+0000",
- "prepaid": false,
- "prepaid_confirmed": false,
- "activity_id": 0
}
company_id required | number Company ID |
activity_id required | number Group Event ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
fullname required | string Client name |
phone required | string Customer phone (for example 79161502239) |
string Postal address of the client | |
code | number Phone confirmation code sent via SMS (mandatory if the company has set phone_conformation = true) |
comment | string Post comment |
notify_by_sms | integer <int32> How many hours in advance to send an SMS reminder about the appointment (0 if you do not need to be reminded) |
notify_by_email | integer <int32> How many hours in advance to send an email reminder about the appointment (0 if you do not need to be reminded) |
type | string Recording source |
api_id | number Record ID from external system |
clients_count | number number of seats |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 28417878,
- "hash": "9e6a54a1a9b118b65cc39ab6f3c3b5b4"
}, - "meta": [ ]
}
The dates available for booking object has the following fields:
Field | Type | Description |
---|---|---|
working_days | array of working days grouped by month | Working days of an employee/organization |
working_dates | array of dates | An array of dates when the employee/organization works |
booking_days | array of days when there are free sessions | Array of days that are available for booking for the specified services |
booking_dates | array of dates | An array of dates when there are free sessions for the service to the selected employee/organization |
working days and booking_days have the same format: month:[array of days in this month]
For example, this booking_days: "9": [ "4", "5"] "10": [ "14", "25"] Means that on September 4 and 5, and on October 14 and 25 there are free sessions for booking
The following filters are available:
company_id required | number Company ID |
service_ids[] | string Service ID. Filter by the list of service identifiers |
staff_id | number Example: staff_id=0 Employee ID. Filter by employee ID Default: 0 |
date | string Example: date=2015-09-01 date in iso8601 format. Filter by month of booking. |
date_from | string Example: date_from=2015-09-01 date in iso8601 format. Start of dates to search. Must be used together with the "date_to" param and overrides the "date" param. |
date_to | string Example: date_to=2015-09-30 date in iso8601 format. End of dates to search. Must be used together with the "date_from" param and overrides the "date" param. |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
object Data (object) | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "booking_days": {
- "9": [
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25",
- "28",
- "29",
- "30"
], - "10": [
- "1",
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25"
]
}, - "booking_dates": [
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00"
], - "working_days": {
- "9": [
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25",
- "28",
- "29",
- "30"
], - "10": [
- "1",
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25"
]
}, - "working_dates": [
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00"
]
}, - "meta": [ ]
}
The object of services available for booking has the following fields:
Field | Type | Description |
---|---|---|
categories | array of objects | Array of service categories (you can't book a category) |
services | array of objects | Services available for booking by category |
An object from the categories array, has the following fields:
Field | Type | Description |
---|---|---|
id | number | Category ID |
title | string | Category name |
sex | number | Category belonging to gender (1 - male, 2 - female, 0 - not specified) |
weight | number | Category weight. Categories are sorted by weight, heavier ones first |
api_id | string | External Category ID |
An object from the services array, has the following fields:
Field | Type | Description |
---|---|---|
id | number | Service ID |
title | string | Service name |
category_id | number | Identifier of the category to which the service belongs |
weight | number | Category weight. Services are sorted by weight, heavier ones first |
price_min | number | The minimum cost of the service |
price_max | number | Maximum cost of the service |
discount | number | Service discount |
comment | string | Comment on the service |
active | number | Is the service active |
prepaid | string | Online payment status |
sex | number | Gender for which the service is provided |
session_length | number | Service duration in seconds (only if filter by employee is set) |
image | string | Image services |
If you need to get the services provided by a specific specialist, then you need to use the filter by specialist. The following filters are available:
company_id required | number Example: 4564 Company ID |
staff_id | number Example: staff_id=0 Employee ID. Filter by employee ID Default: 0 |
datetime | number Example: datetime=`` date (in iso8601 format). Filter by service booking date (for example '2005-09-09T18:30') Default: '' |
service_ids[] | Array of numbers Service ID. Filter by the list of identifiers of already selected (within one record) services. It makes sense if a filter by master and date is set. |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "events": [ ],
- "services": [
- {
- "id": 1896208,
- "title": "hair wash",
- "category_id": 1895571,
- "price_min": 0,
- "price_max": 0,
- "discount": 0,
- "comment": "",
- "weight": 0,
- "active": 0,
- "sex": 0,
- "image": "",
- "prepaid": "forbidden",
- "seance_length": 3600
}, - {
- "id": 1896303,
- "title": "Coloring",
- "category_id": 1895574,
- "price_min": 0,
- "price_max": 0,
- "discount": 0,
- "comment": "",
- "weight": 0,
- "active": 0,
- "sex": 0,
- "image": "",
- "prepaid": "forbidden",
- "seance_length": 3600
}
], - "category": [
- {
- "id": 1895571,
- "title": "Hair care",
- "sex": 0,
- "api_id": 0,
- "weight": 60
}, - {
- "id": 1895574,
- "title": "Hair coloring",
- "sex": 0,
- "api_id": 0,
- "weight": 7
}
]
}, - "meta": [ ]
}
The employee's nearest sessions object has the following fields:
Field | Type | Description |
---|---|---|
session_date | string | Next date with available sessions |
sessions | array | List of available sessions |
The following filters are available:
company_id required | number Company ID |
staff_id required | number Employee ID |
service_ids[] | Array of numbers Service ID. Filter by the list of service identifiers |
datetime | number date in iso8601 format. Filter by date |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "seance_date": "2014-09-21T23:00:00.000+03:00",
- "seances": [
- {
- "time": "10:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "10:15",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "10:30",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "10:45",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "11:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}
]
}, - "meta": [ ]
}
Each object from the array of employees available for booking has the following fields:
Field | Type | Description |
---|---|---|
id | number | Employee ID |
name | string | Employee name |
specialization | string | Employee specialization |
position | object | Employee position |
bookable | boolean | Does the employee have sessions available for booking |
weight | number | Employee weight. When withdrawing, employees are sorted by weight, heavier first |
show_rating | number | Whether to show employee's rating (1 - show, 0 - don't show) |
rating | number | Employee rating |
votes_count | number | Number of votes rated employee |
comments_count | number | Number of comments to an employee |
avatar | string | Path to employee avatar file |
information | string | Additional information about the employee (HTML format) |
session_date | string | Date of the next day that there are available sessions (only for bookable = true) |
The following filters are available:
company_id required | number Example: 4564 Company ID |
service_ids[] | Array of numbers Service ID. Filter by the list of service identifiers |
datetime | number date in iso8601 format. Filter by service booking date (for example '2005-09-09T18:30') |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "16",
- "name": "James",
- "bookable": true,
- "specialization": "Paramedic",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "show_rating": "1",
- "rating": "3",
- "votes_count": "1",
- "comments_count": "0",
- "weight": "11",
- "information": "<span></span>",
- "seance_date": "2014-09-21T23:00:00.000+03:00",
- "seances": [ ]
}, - {
- "id": "32",
- "name": "Peter",
- "bookable": false,
- "specialization": "Therapist",
- "position": [ ],
- "show_rating": "1",
- "rating": "4",
- "votes_count": "1",
- "comments_count": "0",
- "weight": "8",
- "information": "<span></span>"
}
], - "meta": [ ]
}
The sessions available for booking object has the following fields:
Field | Type | Description |
---|---|---|
time | string | Session time (17:30 for example) |
session_length | number | Session duration in seconds |
datetime | datetime | Date and time of the session in ISO8601 format (must be passed when creating the entry) |
The following filters are available:
company_id required | number Company ID |
date required | string date in iso8601 format. Filter by booking date (eg '2015-09-30') |
staff_id required | number Example: 0 Employee ID. Filter by employee ID Default: 0 |
service_ids[] | string Service ID. Filter by the list of service identifiers |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "time": "12:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "13:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "14:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "15:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}, - {
- "time": "16:00",
- "seance_length": 3600,
- "datetime": "2014-09-21T23:00:00.000+03:00"
}
], - "meta": [ ]
}
To access their online and offline (made by phone) records, the user must log in by confirming his phone number. To do this, he needs to send a confirmation code to his phone number using the resource "SMS phone number verification code
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Phone number or Email |
password required | string Password |
user_token | string User_token of the user |
{- "password": "testpass"
}
{- "user_token": "wec23fh8cDfFV4432fc352456"
}
record_id required | number Example: 22123 Record ID (enough to delete the record if the user is authorized) |
record_hash required | string Example: 'dawd4fs09rhf0s9fafef0' HASH records (required to delete the record if the user is not authorized) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
When a user of an online account changes their password, their API key will change and a new authorization will be required
Attribute | Type | Description |
---|---|---|
login | string | The visitor's phone number in the format 79161234567 or his Email |
password | string | Visitor password |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Phone number or Email |
password required | string Password |
id | integer <int32> User ID |
user_token | string User_token of the user |
name | string Username |
phone | string User phone |
login | string User login |
string User mailing address | |
avatar | string Path to the user's avatar file |
{- "password": "testpass"
}
{- "id": 123456,
- "user_token": "wec23fh8cDfFV4432fc352456",
- "name": "James Smith",
- "phone": "+1-315-555-0175",
- "login": "j.smith",
}
The request must contain one of two parameters: company_id or group_id
company_id required | integer Company ID |
group_id required | integer Chain ID |
phone required | string Phone number |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Updating the password of an online recording user.
The response comes with a new user token.
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
old_password | string Current Password |
new_password | string New password |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "old_password": "qwerty123",
- "new_password": "example!"
}
{- "success": true,
- "data": {
- "user_token": "4de9d8cc108c0"
}, - "meta": [ ]
}
Updating the master data of the user of the online record.
When updating a phone number, you need to send the confirmation_code field with the code you need to receive from the resource SMS confirmation code of the phone number to change data
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name | string Name |
string | |
phone | string Phone number |
confirmation_code | string SMS confirmation code (when changing phone number) |
{- "name": "James Smith",
- "phone": "+1-315-555-0175",
- "confirmation_code": "1234"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Retrieve online record user data.
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
0 | string User Token |
id | integer <int32> User ID |
user_token | string User Token |
name | string Username |
phone | string User phone |
login | string User login |
string User mail | |
avatar | string User avatar |
{- "0": "152afb01134237bc844d7e",
- "id": 32132133,
- "user_token": "152afb01134237bc844d7e",
- "name": "James",
- "phone": "+1-315-555-0175",
- "login": "j.smith",
}
Get a list of companies with data
id | number Example: id=4564 Filter by company ID |
group_id | number Example: group_id=83 Filter by company chain ID Default: 83 |
my | number Example: my=1 For authorized user only. If you need companies that the user has rights to manage |
active | number Example: active=1 If you need to get only companies with an active license and an available booking |
moderated | number Example: moderated=1 If you need to get only moderated companies, whose content is checked for publication |
forBooking | number Example: forBooking=1 Include date and time of the next free session in the company (ISO8601) |
show_groups | number Example: show_groups=1 Include in the company object a list of chains that this company belongs to |
city_id | |
showBookforms | number Example: showBookforms=1 Include in the company object a list of company online booking forms |
min_id | number Example: min_id=1000 Filter by minimum company ID |
show_deleted | number Example: show_deleted=1 Include deleted companies |
hide_record_type_single | number Example: hide_record_type_single=1 Hide companies with individual booking |
hide_record_type_activity | number Example: hide_record_type_activity=1 Hide companies with group booking |
hide_record_type_mixed | number Example: hide_record_type_mixed=1 Hide companies with mixed booking |
business_group_id | number Example: business_group_id=1 Filter by business group ID |
business_type_id | number Example: business_type_id=1 Filter by business type ID |
include | Array of strings Items Enum: "staff" "positions" "accounts" "storages" "expenses" Example: include=staff&include=positions Include additional data in the company object |
count | number Number of companies per page |
page | number Page number |
Accept required | string Must be |
Content-Type required | string Must be |
Authorization required | string Bearer partner_token |
success | boolean Success status (true) |
Array of objects Array of objects | |
meta | Array of objects Metadata (empty array) |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
{- "success": true,
- "data": [
- {
- "id": "1050",
- "title": "La Visage",
- "short_descr": "Beauty saloon",
- "active": "1",
- "phone": "+1-315-555-0175",
- "country_id": 7,
- "schedule": "",
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "R",
- "group_priority": 900
}, - {
- "id": "1051",
- "title": "La Visage 2",
- "short_descr": "Beauty saloon",
- "active": "1",
- "phone": "+1-315-555-0175",
- "country_id": 7,
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "phone_confirmation": false,
- "active_staff_count": 3,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "R",
- "group_priority": 901
}
], - "meta": { }
}
Create new company
Accept required | string Must be |
Content-Type required | string Must be |
Authorization required | string Bearer partner_token, User user_token |
title | string Company name |
country_id | number ID of the country in which the company is located (method to get a list of countries) |
city_id | number Identifier of the city in which the company is located (method to get a list of cities) |
address | string Company address |
site | string Company website |
coordinate_lat | number <float> Latitude |
coordinate_lot | number <float> Longitude |
business_type_id | number Business type |
short_descr | string Company category |
success | boolean Success status (true) |
object data object | |
meta | Array of objects Metadata (empty array) |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "title": "James Smith LLC",
- "country_id": 1,
- "city_id": 2,
- "address": "New York, 787 Jackson Drive",
- "site": "james-smith-company.com",
- "coordinate_lat": "40.730610",
- "coordinate_lot": "-73.935242",
- "business_type_id": 1,
- "short_descr": "Beauty salon"
}
{- "success": true,
- "data": {
- "id": "1050",
- "title": "James Smith LLC",
- "short_descr": "Beauty salon",
- "active": "1",
- "phone": "+1-315-555-0175",
- "country_id": 7,
- "schedule": "",
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "R"
}, - "meta": { }
}
Getting information about the company.
id required | number Example: 37532 The ID of the company to get information about. |
my | number Example: my=1 For authorized user only. If you need additional data for the company that the user has rights to manage |
forBooking | number Example: forBooking=1 Date and time of the next free session in the company (ISO8601). |
show_groups | number Example: show_groups=1 Include in the company object a list of chains that this company belongs to |
showBookforms | number Example: showBookforms=1 Show company online booking forms (widgets) |
bookform_id | number Example: bookform_id=19203 Show url of online booking form with specified ID |
Accept required | string Must be |
Content-Type required | string Must be |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
object (Response error message) Additional response data. | |
object (Response error message) Additional response data. |
object (Response error message) Additional response data. | |
object (Response error message) Additional response data. |
{- "success": true,
- "data": {
- "id": 37532,
- "title": "James Smith LLC",
- "country_id": 7,
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "zip": 11435,
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "short_descr": "Beauty salon",
- "social": {
- "facebook": "",
- "instagram": "instagram.com/james_smith_company/",
- "telegram": "",
- "whatsapp": "",
- "viber": ""
}, - "site": "james-smith-company.com",
- "business_type_id": 1,
- "description": "The <strong>James Smith</strong> company",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "next_slot": "2023-03-23T10:10:00+0300",
- "group_priority": 900,
- "push_notification_phone_confirm": 1,
- "main_group_id": 9206,
- "main_group": {
- "id": 9206,
- "title": "James Smith LLC main company chain"
}, - "groups": {
- "9206": {
- "id": 9206,
- "title": "James Smith LLC main company chain"
}, - "9207": {
- "id": 9207,
- "title": "James Smith LLC extra company chain"
}
}, - "bookforms": [
- {
- "id": 19203,
- "title": "James Smith LLC company booking form",
- "is_default": 0,
}
], - "access": { }
}, - "meta": { }
}
Change company data
id required | number Example: 37532 Company ID |
Accept required | string Must be |
Content-Type required | string Must be |
Authorization required | string Bearer partner_token, User user_token |
title | string Company name |
country_id | number Country ID (has higher priority then country) |
country | string Country |
city_id | number City ID (has higher priority then city) |
city | string City |
address | string Company address |
zip | string Zip code |
phones | Array of strings Company phone numbers |
object Company social media | |
site | string Company website |
coordinate_lat | number <float> Latitude |
coordinate_lon | number <float> Longitude |
description | string <html> Description |
business_type_id | number <int32> Business type |
short_descr | string Business category |
id | number Company ID |
title | string Company name |
country_id | number Country ID |
country | string Country name |
city_id | number City ID |
city | string City name |
timezone_name | string Timezone name |
address | string Company address |
zip | number Zip code |
object Company social media | |
site | string Company website |
coordinate_lat | number <float> Latitude |
coordinate_lon | number <float> Longitude |
description | string <html> Description |
business_type_id | number <int32> Business type |
short_descr | string Business category |
phone_confirmation | boolean Do I need to confirm my phone number via SMS when booking? |
group_priority | integer <int32> The higher the priority, the higher the company when displayed in the list of chain branches |
push_notification_phone_confirm | boolean Confirm client number to send push notifications |
access | object Access rights list |
object (Response error message) Additional response data. | |
object (Response error message) Additional response data. |
object (Response error message) Additional response data. | |
object (Response error message) Additional response data. |
{- "title": "James Smith LLC",
- "country": "United States",
- "city": "New York",
- "address": "New York, 787 Jackson Drive",
- "zip": 11435,
- "phones": [
- "12125357710",
- "12125357711"
], - "social": {
- "instagram": "instagram.com/james_smith_company/"
}, - "site": "james-smith-company.com",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "description": "The <strong>James Smith</strong> company",
- "business_type_id": 1,
- "short_descr": "Beauty salon"
}
{- "id": 37532,
- "title": "James Smith LLC",
- "country_id": 7,
- "country": "United States",
- "city_id": 181,
- "city": "New York",
- "timezone_name": "Europe/Moscow",
- "address": "New York, 787 Jackson Drive",
- "zip": 11435,
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "short_descr": "Beauty salon",
- "social": {
- "facebook": "",
- "instagram": "instagram.com/james_smith_company/",
- "telegram": "",
- "whatsapp": "",
- "viber": ""
}, - "site": "james-smith-company.com",
- "business_type_id": 1,
- "description": "The <strong>James Smith</strong> company",
- "phone_confirmation": true,
- "group_priority": 900,
- "push_notification_phone_confirm": 1,
- "access": { }
}
Delete a company.
id required | number Example: 37532 Company ID |
Accept required | string Must be |
Content-Type required | string Must be |
Authorization required | string Bearer partner_token, User user_token |
object (Response error message) Additional response data. | |
object (Response error message) Additional response data. |
object (Response error message) Additional response data. | |
object (Response error message) Additional response data. |
{- "errors": {
- "code": 401,
- "message": "Authentication needed"
}, - "meta": {
- "message": "Authentication needed."
}
}
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Service category name |
api_id | string External Category ID |
weight | number Category weight (used to sort categories when displayed) |
staff | Array of numbers List of IDs of employees providing services from the category |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "title": "Haircut very feminine",
- "api_id": "adw322",
- "weight": 111,
- "staff": [
- 5006,
- 8901
]
}
{- "success": true,
- "data": {
- "id": 3,
- "title": "Haircut very feminine",
- "api_id": "adw322",
- "weight": 111,
- "staff": [
- 5006,
- 8901
]
}, - "meta": [ ]
}
company_id required | number Company ID |
id required | number Service Category ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects | |
object Metadata (number of categories) |
{- "success": true,
- "data": {
- "id": 3,
- "salon_service_id": 15,
- "title": "Haircuts for women",
- "weight": 12,
- "staff": [
- 5006,
- 8901
]
}, - "meta": [ ]
}
company_id required | number Company ID |
id required | number Service Category ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Service category name |
api_id | string External Category ID |
weight | number Category weight (used to sort categories when displayed) |
staff | Array of numbers List of IDs of employees providing services from the category |
success | boolean Execution success status (true) |
Array of objects Array of objects | |
object Metadata (number of categories) |
{- "title": "Haircut very feminine",
- "api_id": "adw322",
- "weight": 111,
- "staff": [
- 5006,
- 8901
]
}
{- "success": true,
- "data": {
- "id": 3,
- "salon_service_id": 15,
- "title": "Haircuts for women",
- "weight": 15,
- "staff": [
- 5006,
- 8901
]
}, - "meta": [ ]
}
company_id required | number Company ID |
id required | number Service Category ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Conetnt-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
chain_id required | integer Chain ID |
include | string Value: "services" Include additional resources in response |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Service Category ID |
title | string Service category name |
Array of objects (Root Type for ServiceTitle) Services in the category (on request) |
[- {
- "id": 41,
- "title": "Service category",
- "services": [
- {
- "id": 52,
- "title": "Service 1"
}, - {
- "id": 45,
- "title": "Service 2"
}
]
}
]
company_id required | number Company ID |
id required | number Service Category ID |
staff_id | number Employee ID (to get categories associated with an employee) |
Accept required | string e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects | |
object Metadata (number of categories) |
success | boolean Execution success status (true) |
data | string is null |
object Metadata (error message) |
success | boolean Execution success status (true) |
data | string is null |
object Metadata (contains possible error messages) |
{- "success": true,
- "data": [
- {
- "id": 345,
- "salon_service_id": 353,
- "title": "Haircuts for men",
- "api_id": "adw322",
- "weight": 10,
- "staff": [
- 5006,
- 8901,
- 26514,
- 26516,
- 26519,
- 26520
]
}, - {
- "id": 3456,
- "salon_service_id": 3252,
- "title": "Haircuts for women",
- "api_id": "adw323",
- "weight": 9,
- "staff": [
- 5006,
- 8901
]
}
], - "meta": {
- "total_count": 2
}
}
Get a list of service categories
company_id required | number Company ID |
id required | number Service category identifier |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects | |
object Metadata (number of categories) |
{- "success": true,
- "data": [
- {
- "id": 345,
- "title": "Haircuts for men",
- "api_id": "adw322",
- "weight": 10,
- "staff": [
- 5006,
- 8901,
- 26514,
- 26516,
- 26519,
- 26520
]
}, - {
- "id": 3456,
- "title": "Haircuts for women",
- "api_id": "adw323",
- "weight": 9,
- "staff": [
- 5006,
- 8901
]
}
], - "meta": [ ]
}
Method to create a service
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorizarion required | string Bearer partner_token, User user_token |
title | string Service name |
category_id | number Service Category ID |
price_min | number <float> The minimum cost of the service |
price_max | number <float> Maximum cost of the service |
duration | number <float> Service duration, default is 3600 seconds |
discount | number <float> Service discount |
comment | string Comment on the service |
weight | number Service weight (used to sort services when displayed) |
active | number Is the service available for online registration? 1 - available, 0 not available. |
api_id | string External Service ID |
Array of objects Employees providing the service and the duration of the service by each of them |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "title": "Men's haircut",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}
{- "success": true,
- "data": {
- "id": 83169,
- "title": "Men's haircut",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}, - "meta": [ ]
}
1
) - company ID1
) - service IDcompany_id required | number Company ID |
service_id required | number Service ID, if you need to work with a specific service. |
staff_id | number Employee ID, if you want to filter by employee |
category_id | number Category ID, if you want to filter by category |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of services found) |
success | boolean Execution success status (true) |
data | string is null |
object Metadata (error message) |
success | boolean Execution success status (true) |
data | string is null |
object Metadata (contains possible error messages) |
{- "success": true,
- "data": [
- {
- "id": "79067",
- "title": "shaving head",
- "category_id": "4",
- "price_min": "1000.00",
- "price_max": "1000.00",
- "discount": "0",
- "comment": "",
- "weight": "2",
- "active": "1",
- "api_id": "",
- "staff": [ ]
}, - {
- "id": "83169",
- "title": "Men's haircut",
- "category_id": "83167",
- "price_min": "1300.00",
- "price_max": "1300.00",
- "discount": "0",
- "comment": "",
- "weight": "6",
- "active": "1",
- "api_id": "00000000042",
- "staff": [
- {
- "id": "5905",
- "seance_length": "2700"
}, - {
- "id": "5907",
- "seance_length": "3600"
}, - {
- "id": "8973",
- "seance_length": "3600"
}, - {
- "id": "13616",
- "seance_length": "3600"
}, - {
- "id": "16681",
- "seance_length": "3600"
}, - {
- "id": "17969",
- "seance_length": "3600"
}, - {
- "id": "34006",
- "seance_length": "3600"
}
], - "image_group": {
- "id": 72234,
- "entity": "settings_service",
- "entity_id": 389927,
- "images": {
- "basic": {
- "id": "186791",
- "width": "372",
- "height": "280",
- "type": "jpeg",
- "image_group_id": 72234,
- "version": "basic"
}
}
}
}
], - "meta": {
- "total_count": 2
}
}
Method to change the service
company_id required | number Company ID |
service_id required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Service name |
booking_title required | string Service name for booking |
category_id required | number ID service category |
price_min required | number <float> Minimum cost of the service |
price_max required | number <float> Maximum cost of the service |
duration required | number Service duration, default value is 3600 |
discount | number <float> Service discount |
comment | string Comment on the service |
is_multi required | boolean false - Appointment, true - Event |
tax_variant required | number Bill ID |
vat_id required | number VAT ID |
is_need_limit_date required | boolean The service is available for a limited time |
seance_search_start required | number Start of period is the booking available, in seconds |
seance_search_finish required | number End of period is the booking available, in seconds |
step required | number Display interval of slots, in seconds |
seance_search_step required | number Search interval of slots, in seconds |
weight | number Service weight (used to sort services when displayed) |
active | number 1 - available for online recording, 0 - not available |
api_id | string External Service ID |
Array of objects List of employees providing the service and session duration |
success | boolean Execution success status (true) |
object | |
meta | Array of objects Metadata (empty array) |
{- "title": "Men's haircut",
- "booking_title": "Men's haircut",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "tax_variant": 1,
- "vat_id": 3,
- "is_multi": false,
- "is_need_limit_date": true,
- "date_from": "2022-09-19",
- "date_to": "2022-09-30",
- "seance_search_start": 36000,
- "seance_search_finish": 84600,
- "step": 300,
- "seance_search_step": 900,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}
{- "success": true,
- "data": {
- "booking_title": "Men's haircut",
- "tax_variant": 0,
- "vat_id": 2,
- "print_title": "Men's haircut",
- "service_type": 1,
- "api_service_id": 0,
- "repeat_visit_days_step": "null",
- "seance_search_start": 1800,
- "seance_search_finish": 84600,
- "seance_search_step": 900,
- "step": 300,
- "is_need_limit_date": "true",
- "date_from": "2022-09-19",
- "date_to": "2022-09-30",
- "schedule_template_type": 2,
- "online_invoicing_status": 0,
- "is_abonement_autopayment_enabled": 0,
- "autopayment_before_visit_time": 0,
- "abonement_restriction_value": 0,
- "is_chain": "false",
- "is_price_managed_only_in_chain": "false",
- "is_comment_managed_only_in_chain": "false",
- "price_prepaid_amount": 0,
- "price_prepaid_percent": 100,
- "id": 10832934,
- "salon_service_id": 12192004,
- "title": "Men's haircut",
- "category_id": 10832928,
- "price_min": 250,
- "price_max": 1200,
- "discount": 0,
- "comment": "",
- "weight": 0,
- "active": 1,
- "api_id": "0",
- "prepaid": "forbidden",
- "is_multi": "false",
- "capacity": 0,
- "image_group": [ ],
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700,
- "technological_card_id": 0
}, - {
- "id": 5907,
- "seance_length": 3600,
- "technological_card_id": 0
}
], - "dates": [
- "2022-09-19",
- "2022-09-20",
- "2022-09-21",
- "2022-09-22",
- "2022-09-23",
- "2022-09-24",
- "2022-09-25",
- "2022-09-26",
- "2022-09-27",
- "2022-09-28",
- "2022-09-29",
- "2022-09-30"
], - "duration": 3600,
- "resources": [ ],
- "is_online": true
}, - "meta": [ ]
}
company_id required | number Company ID |
service_id required | number Service ID, if you need to work with a specific service. |
staff_id | number Employee ID, if you want to filter by employee |
category_id | number Category ID, if you want to filter by category |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of services found) |
{- "success": true,
- "data": [
- {
- "id": "79067",
- "title": "shaving head",
- "category_id": "4",
- "price_min": "1000.00",
- "price_max": "1000.00",
- "duration": "3600",
- "discount": "0",
- "comment": "",
- "weight": "2",
- "active": "1",
- "api_id": "",
- "staff": [ ]
}, - {
- "id": "83169",
- "title": "Men's haircut",
- "category_id": "83167",
- "price_min": "1300.00",
- "price_max": "1300.00",
- "duration": "3600",
- "discount": "0",
- "comment": "",
- "weight": "6",
- "active": "1",
- "api_id": "00000000042",
- "staff": [
- {
- "id": "5905",
- "seance_length": "2700"
}, - {
- "id": "5907",
- "seance_length": "3600"
}, - {
- "id": "8973",
- "seance_length": "3600"
}, - {
- "id": "13616",
- "seance_length": "3600"
}, - {
- "id": "16681",
- "seance_length": "3600"
}, - {
- "id": "17969",
- "seance_length": "3600"
}, - {
- "id": "34006",
- "seance_length": "3600"
}
], - "image_group": {
- "id": 72234,
- "entity": "settings_service",
- "entity_id": 389927,
- "images": {
- "basic": {
- "id": "186791",
- "width": "372",
- "height": "280",
- "type": "jpeg",
- "image_group_id": 72234,
- "version": "basic"
}
}
}
}
], - "meta": [ ]
}
Deprecated. Method to change the service
company_id required | number Company ID |
service_id required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Service name |
category_id | number Service Category ID |
price_min | number <float> The minimum cost of the service |
price_max | number <float> Maximum cost of the service |
duration | number <float> Service duration, default is 3600 seconds |
discount | number <float> Service discount |
comment | string Comment on the service |
weight | number Service weight (used to sort services when displayed) |
active | number Is the service available for online registration? 1 - available, 0 not available. |
api_id | string External Service ID |
Array of objects Employees providing the service and the duration of the service by each of them |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "title": "Men's haircut",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}
{- "success": true,
- "data": {
- "id": 83169,
- "title": "Men's haircut",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}, - "meta": [ ]
}
Method to remove a service
company_id required | number Company ID |
service_id required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Creates an employee service link with provided duration and technological card.
company_id required | number Example: 123 ID of a company. |
service_id required | number Example: 123 ID of service. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
master_id required | number ID of an employee who provides the service. |
seance_length required | number Duration of service provision by the specified employee in seconds, |
technological_card_id required | number or null ID of technological card used while provisioning the service. |
success | boolean (Successful response status) Response status. |
object (Object of model "Service Staff") | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "master_id": 123,
- "seance_length": 3600,
- "technological_card_id": 123
}
{- "success": true,
- "data": {
- "service_id": 123,
- "master_id": 123,
- "length": 3600,
- "technological_card_id": 123
}, - "meta": { }
}
Updates an employee service link with provided duration and technological card.
company_id required | number Example: 123 ID of a company. |
service_id required | number Example: 123 ID of service. |
master_id required | number Example: 123 ID of staff. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
seance_length required | number Duration of service provision by the specified employee in seconds, |
technological_card_id required | number or null ID of technological card used while provisioning the service. |
success | boolean (Successful response status) Response status. |
object (Object of model "Service Staff") | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "seance_length": 3600,
- "technological_card_id": 123
}
{- "success": true,
- "data": {
- "service_id": 123,
- "master_id": 123,
- "length": 3600,
- "technological_card_id": 123
}, - "meta": { }
}
Deletes an employee service link.
company_id required | number Example: 123 ID of a company. |
service_id required | number Example: 123 ID of service. |
master_id required | number Example: 123 ID of staff. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": null,
- "meta": { }
}
1
) - company IDcompany_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with access rights categories | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "timetable": {
- "timetable_access": true,
- "master_id": 1000238,
- "position_id": 0,
- "last_days_count": 1000,
- "schedule_edit_access": true,
- "timetable_phones_access": true,
- "timetable_transferring_record_access": true,
- "timetable_statistics_access": true
}, - "record_form": {
- "record_form_access": true,
- "record_form_client_access": true,
- "records_autocomplete_access": true,
- "create_records_access": true,
- "edit_records_access": true,
- "edit_records_attendance_access": true,
- "records_services_cost_access": true,
- "records_services_discount_access": true,
- "record_edit_full_paid_access": true,
- "delete_records_access": true,
- "delete_customer_came_records_access": true,
- "delete_paid_records_access": true,
- "records_goods_access": true,
- "records_goods_create_transaction_access": true,
- "records_goods_create_last_days_count": -1,
- "records_goods_edit_transaction_access": true,
- "records_goods_edit_last_days_count": -1,
- "records_goods_cost_access": true,
- "records_goods_discount_access": true,
- "records_finances_access": true,
- "records_finances_last_days_count": -1,
- "records_finances_pay_from_deposits_access": true,
- "records_group_id_access": true,
- "records_group_id": 134178
}, - "finances": {
- "finances_access": true,
- "finances_accounts_ids": [ ],
- "finances_transactions_access": true,
- "finances_last_days_count": -1,
- "finances_create_transactions_access": true,
- "finances_create_last_days_count": -1,
- "finances_edit_transactions_access": true,
- "finances_edit_last_days_count": -1,
- "finances_delete_transactions_access": true,
- "finances_transactions_excel_access": true,
- "finances_expenses_ids": [ ],
- "finances_accounts_access": true,
- "finances_accounts_banalce_access": true,
- "finances_suppliers_read_access": true,
- "finances_suppliers_create_access": true,
- "finances_suppliers_update_access": true,
- "finances_suppliers_delete_access": true,
- "finances_suppliers_excel_access": true,
- "finances_expenses_read_access": true,
- "expenses_read_access": true,
- "finances_expenses_create_access": true,
- "expenses_create_access": true,
- "finances_expenses_update_access": true,
- "expenses_update_access": true,
- "finances_expenses_delete_access": true,
- "expenses_delete_access": true,
- "finances_kkm_transactions_access": true,
- "kkm_transactions_accounts_access": true,
- "finances_kkm_settings_read_access": true,
- "kkm_settings_reed_access": true,
- "finances_kkm_settings_update_access": true,
- "kkm_settings_update_access": true,
- "finances_settings_invoicing_read_access": true,
- "settings_invoicing_read_access": true,
- "finances_settings_invoicing_update_access": true,
- "settings_invoicing_update_access": true,
- "finances_options_read_access": true,
- "options_read_access": true,
- "finances_options_update_access": true,
- "options_update_access": true,
- "finances_salary_schemes_access": true,
- "finances_salary_calc_access": true,
- "finances_salary_not_limitation_today_access": true,
- "finances_payroll_calculation_create_access": true,
- "finances_payroll_calculation_create_not_limitation_today_access": true,
- "finances_salary_access_master_checkbox": true,
- "finances_salary_access_master_id": 1000237,
- "get_salary_access_master_id": 1000237,
- "finances_salary_master_not_limitation_today_access": true,
- "finances_payroll_calculation_create_by_master_access": true,
- "calculation_create_by_master_not_limitation_today_access": true,
- "finances_period_report_access": true,
- "finances_period_report_excel_access": true,
- "finances_year_report_access": true,
- "finances_year_report_excel_access": true,
- "finances_print_check_access": true,
- "finances_z_report_access": true,
- "finances_z_report_no_limit_today_access": true,
- "finances_z_report_excel_access": true
}, - "clients": {
- "clients_access": true,
- "client_phones_access": true,
- "clients_phones_email_access": true,
- "clients_card_phone_access": true,
- "clients_delete_access": true,
- "clients_excel_access": true,
- "excel_access": true,
- "client_comments_list_access": true,
- "client_comments_add_access": true,
- "client_comments_own_edit_access": true,
- "client_comments_other_edit_access": true,
- "client_files_list_access": true,
- "client_files_upload_access": true,
- "client_files_delete_access": true,
- "clients_visit_master_id": 0,
- "get_visit_master_id": 0
}, - "dashboard": {
- "dashboard_access": true,
- "dash_access": true,
- "dash_phones_access": true,
- "dash_records_access": true,
- "dash_records_last_days_count": -1,
- "dash_records_excel_access": true,
- "dash_records_phones_access": true,
- "dash_message_access": true,
- "dash_message_excel_access": true,
- "dash_message_phones_access": true,
- "dash_reviews_access": true,
- "dash_reviews_delete_access": true,
- "dashboard_calls_access": true,
- "dashboard_calls_excel_access": true,
- "dashboard_calls_phones_access": true
}, - "notification": {
- "notification": true,
- "web_push": true,
- "web_phone_push": true,
- "notification_sms_ending_license": true,
- "notification_sms_low_balance": true,
- "notification_email_ending_license": true
}, - "loyalty": {
- "loyalty_access": true,
- "has_loyalty_access": true,
- "loyalty_cards_manual_transactions_access": true,
- "has_loyalty_cards_manual_transactions_access": true,
- "loyalty_certificate_and_abonement_manual_transactions_access": true
}, - "storages": {
- "storages_access": true,
- "storages_ids": [ ],
- "storages_transactions_access": true,
- "storages_last_days_count": -1,
- "storages_move_goods_access": true,
- "storages_create_transactions_access": true,
- "storages_create_last_days_count": -1,
- "storages_create_transactions_buy_access": true,
- "storages_create_transactions_sale_access": true,
- "storages_edit_transactions_access": true,
- "storages_edit_last_days_count": -1,
- "storages_edit_transactions_buy_access": true,
- "storages_edit_transactions_sale_access": true,
- "storages_delete_transactions_access": true,
- "storages_transactions_excel_access": true,
- "storages_transactions_types": [ ],
- "storages_inventory_access": true,
- "storages_inventory_create_edit_access": true,
- "storages_inventory_delete_access": true,
- "storages_inventory_excel_access": true,
- "storages_remnants_report_access": true,
- "storages_remnants_report_excel_access": true,
- "storages_sales_report_access": true,
- "storages_sales_report_excel_access": true,
- "storages_consumable_report_access": true,
- "storages_consumable_report_excel_access": true,
- "storages_write_off_report_access": true,
- "storages_write_off_report_excel_access": true,
- "storages_turnover_report_access": true,
- "storages_turnover_report_excel_access": true,
- "storages_goods_crud_access": true,
- "storages_goods_create_access": true,
- "storages_goods_update_access": true,
- "storages_goods_title_edit_access": true,
- "storages_goods_category_edit_access": true,
- "storages_goods_selling_price_edit_access": true,
- "storages_goods_cost_price_edit_access": true,
- "storages_goods_units_edit_access": true,
- "storages_goods_critical_balance_edit_access": true,
- "storages_goods_masses_edit_access": true,
- "storages_goods_comment_edit_access": true,
- "storages_goods_archive_access": true,
- "storages_goods_delete_access": true
}, - "settings": {
- "settings_access": true,
- "settings_basis_access": true,
- "settings_information_access": true,
- "users_access": true,
- "delete_users_access": true,
- "create_users_access": true,
- "edit_users_access": true,
- "limited_users_access": false,
- "settings_services_access": true,
- "settings_services_create_access": true,
- "services_edit": true,
- "settings_services_edit_title_access": true,
- "settings_services_relation_category_access": true,
- "settings_services_edit_price_access": true,
- "settings_services_edit_image_access": true,
- "settings_services_edit_online_seance_date_time_access": true,
- "settings_services_edit_online_pay_access": true,
- "settings_services_edit_services_related_resource_access": true,
- "settings_positions_read": true,
- "settings_positions_create": true,
- "settings_positions_delete": true,
- "edit_master_service_and_duration": true,
- "tech_card_edit": true,
- "services_delete": true,
- "settings_master_access": true,
- "master_create": true,
- "master_edit": true,
- "master_delete": true,
- "settings_master_dismiss_access": true,
- "schedule_edit": true,
- "settings_notifications_access": true,
- "settings_email_notifications_access": true,
- "settings_template_notifications_access": true,
- "webhook_read_access": true
}, - "other": {
- "stat_access": true,
- "billing_access": true,
- "send_sms": true,
- "auth_enable_check_ip": false,
- "auth_list_allowed_ip": [ ]
}
}, - "meta": [ ]
}
An invitation to manage a branch involves sending a link by e-mail or phone. By clicking on this link, the user, after registration, gets access to the management of the branch in accordance with the assigned rights. Assignment of rights is carried out after sending an invitation in a separate request.
company_id required | number Example: 123 ID of a company. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
required | Array of objects Array of invites |
success | boolean Send success status (true) |
data | string Is null |
object Metadata (contains a message that the data has been saved) |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "invites": [
- {
- "name": "Olga",
- "position": "Administrator",
- "user_role": "administrator",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}
], - "staff_id": 12
}
]
}
{- "success": true,
- "meta": {
- "message": "Saved"
}
}
company_id required | number Company ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
page | number Page number |
page_size | number The number of output lines per page. Maximum 200. (Default 25) |
fields | Array of strings Fields to be returned in the response |
order_by | string Enum: "id" "name" "phone" "email" "discount" "first_visit_date" "last_visit_date" "sold_amount" "visit_count" What field to sort by |
order_by_direction | string Enum: "ASC" "DESC" How to sort (ascending / descending) |
operation | string Enum: "AND" "OR" Type of transaction |
Array of objects Filters for searching by customers |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of clients found) |
success | boolean Execution success status (false) |
data | string Contains null |
object Metadata (contains an error message) |
success | boolean Execution success status (false) |
data | string Contains null |
object Metadata (contains an error message) |
success | boolean Execution success status (false) |
object Metadata (contains an error message) |
{- "page": 1,
- "page_size": 3,
- "fields": [
- "id",
- "name"
], - "order_by": "name",
- "order_by_direction": "desc",
- "operation": "AND",
- "filters": [
- {
- "type": "id",
- "state": {
- "value": [
- 1,
- 2,
- 3
]
}
}, - {
- "type": "sold_amount",
- "state": {
- "from": 0,
- "to": 100.77
}
}, - {
- "type": "quick_search",
- "state": {
- "value": "James Smith"
}
}, - {
- "type": "importance",
- "state": {
- "value": [
- 0,
- 1,
- 2,
- 3
]
}
}, - {
- "type": "has_mobile_app",
- "state": {
- "value": true
}
}, - {
- "type": "category",
- "state": {
- "value": [
- 1,
- 7
]
}
}, - {
- "type": "has_passteam_card",
- "state": {
- "value": true
}
}, - {
- "type": "passteam_card_ids",
- "state": {
- "value": [
- "111122223333aaaabbbbcccc"
]
}
}, - {
- "type": "birthday",
- "state": {
- "from": 480297600,
- "to": 480384000
}
}, - {
- "type": "gender",
- "state": {
- "value": [
- 0,
- 1,
- 2
]
}
}, - {
- "type": "record",
- "state": {
- "staff": {
- "value": [
- 1,
- 2
]
}, - "service": {
- "value": [
- 2,
- 3
]
}, - "service_category": {
- "value": [
- 4,
- 5
]
}, - "status": {
- "value": [
- 1
]
}, - "created": {
- "from": 480297600,
- "to": 480384000
}, - "records_count": {
- "from": 1,
- "to": 99999
}, - "sold_amount": {
- "from": 1.001,
- "to": 99999.09
}
}
}, - {
- "type": "client",
- "state": {
- "id": {
- "value": [
- 1,
- 2,
- 3
]
}, - "birthday": {
- "from": 480297600,
- "to": 480384000
}
}
}, - {
- "type": "sale",
- "state": {
- "abonement_balance": {
- "from": 2,
- "to": 3
}
}
}
]
}
{- "success": true,
- "data": [
- {
- "name": "James Smith",
- "id": 2
}, - {
- "name": "Sidorov",
- "id": 3
}, - {
- "name": "James Smith",
- "id": 1
}
], - "meta": {
- "total_count": 908
}
}
1
) - company ID1
) - Page number20
) - Number of clients per pagecompany_id required | number Company ID |
fullname | string Example: fullname=Joh Name (part of the name) for client filtering |
phone | string Example: phone=7916 Phone (part of the number) for customer filtering |
string Example: email=test@ Email (part) for customer filtering | |
paid_min | number Example: paid_min=1 Minimum paid to the cashier, to filter customers by the amount of payments |
paid_max | number Example: paid_max=1 Maximum paid to the cashier, to filter customers by the amount of payments |
page | number Example: page=1 Page number |
count | number Example: count=20 Number of customers per page |
id | number Example: id=66 ID of one or more clients to filter clients |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the page number and number of clients per page) |
{- "success": true,
- "data": [
- {
- "id": 66,
- "name": "James",
- "surname": "Smith",
- "patronymic": "Martel",
- "phone": 79112345678,
- "categories": [
- {
- "id": 3,
- "title": "Black list",
- "color": "#0f0f0f"
}, - {
- "id": 4,
- "title": "VIP",
- "color": "#e8d313"
}
], - "sex_id": 0,
- "sex": "unknown",
- "discount": 10,
- "importance_id": 3,
- "importance": "Gold",
- "card": "123456789",
- "birth_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "test",
- "sms_check": 1,
- "sms_not": 0,
- "spent": 71842,
- "balance": 0,
- "visits": 34,
- "last_change_date": "2020-02-01T12:00:00+0400",
- "custom_fields": [ ]
}, - {
- "id": 16,
- "name": "James",
- "surname": "Smith",
- "patronymic": "Martel",
- "phone": 79112345679,
- "email": "",
- "categories": [ ],
- "sex_id": 0,
- "sex": "unknown",
- "discount": 0,
- "importance_id": 0,
- "importance": "No importance class",
- "card": "",
- "birth_date": 0,
- "comment": "",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 0,
- "balance": 0,
- "visits": 3,
- "last_change_date": "2020-04-01T12:00:00+0400",
- "custom_fields": [ ]
}
], - "meta": {
- "page": 1,
- "total_count": 8
}
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name required | string Client name |
surname | string Client surname |
patronymic | string Client patronymic |
phone required | string Customer phone |
string Client Email | |
sex_id | number Gender of the client (1 - male, 2 - female, 0 - unknown) |
importance_id | number Client importance class (0 - none, 1 - bronze, 2 - silver, 3 - gold) |
discount | number Customer Discount |
card | string Client card number |
birth_date | string Date of birth of the client in the format yyyy-mm-dd |
comment | string A comment |
spent | number How much money spent in the company at the time of adding |
balance | number Client balance |
sms_check | number 1 - Happy Birthday by SMS, 0 - do not congratulate |
sms_not | number 1 - Exclude the client from SMS mailings, 0 - do not exclude |
categories | object Array of customer category IDs |
custom_fields | object Array of additional client fields as "api-key": "value" pairs |
{- "success": true,
- "data": {
- "id": 1121412,
- "name": "James",
- "surname": "Smith",
- "patronymic": "Martel",
- "phone": 79211234567,
- "categories": [ ],
- "sex": "Male",
- "sex_id": 1,
- "discount": 15,
- "importance_id": 1,
- "importance": "Bronze",
- "card": "555888666",
- "birth_date": 952041600,
- "comment": "throws show-off",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 1000,
- "balance": -1200,
- "visits": 0,
- "last_change_date": "2020-05-01T12:00:00+0400",
- "custom_fields": {
- "key-1": "value-1"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name required | string Client name |
surname | string Client surname |
patronymic | string Client patronymic |
phone required | string Customer phone |
string Client Email | |
sex_id | number Gender of the client (1 - male, 2 - female, 0 - unknown) |
importance_id | number Client importance class (0 - none, 1 - bronze, 2 - silver, 3 - gold) |
discount | number Customer Discount |
card | string Client card number |
birth_date | string Date of birth of the client in the format yyyy-mm-dd |
comment | string A comment |
spent | number How much money spent in the company at the time of adding |
balance | number Client balance |
sms_check | number 1 - Happy Birthday by SMS, 0 - do not congratulate |
sms_not | number 1 - Exclude the client from SMS mailings, 0 - do not exclude |
categories | object Array of customer category IDs |
{- "success": true,
- "data": {
- "created": [
- {
- "id": 19153889,
- "name": "James",
- "surname": "Smith",
- "patronymic": "Martel",
- "phone": 79213237567,
- "card": "555888666",
- "birth_date": 952041600,
- "comment": "throws show-off",
- "discount": 15,
- "visits": 0,
- "sex_id": 1,
- "sex": "Male",
- "sms_check": 0,
- "sms_bot": 0,
- "spent": 1000,
- "paid": 0,
- "balance": -1200,
- "importance_id": 1,
- "importance": "Bronze",
- "categories": [
- {
- "id": 101,
- "title": "Loyal",
- "color": "#bfd4f2"
}, - {
- "id": 102,
- "title": "Constant",
- "color": "#009800"
}
], - "last_change_date": "2020-09-08T13:33:39+0400",
- "custom_fields": [ ]
}
], - "errors": [
- {
- "phone": 79213237567,
- "name": "James Smith",
- "error": "The client with the specified phone number already exists in the database"
}, - {
- "phone": 721828834101,
- "error": "Client name not specified"
}, - {
- "phone": 123,
- "name": "James Smith",
- "error": "Phone must contain 9 to 15 digits"
}, - {
- "name": "Theodore Hicks",
- "error": "Customer phone number cannot be empty"
}
]
}, - "meta": [ ]
}
A list of downloaded customer files can be obtained by querying the branch ID and the client ID for which the list is to be obtained. The client ID can be retrieved from a collection of clients.
The list is an array of client files.
The client file has the following structure:
| Field | Type | Description | | -----------------| ------- | -------------------------------------------------- ------------------------ | | id | number | File ID | | client_id | number | Client ID | | name | string | Filename with extension | | description | string | File description | | extension | string | File name extension | | mime | string | MIME file type | | link | string | File download link | | date_create | string | File upload date in ISO8601 format | | size | string | Formatted file size string | | username | string | The name of the user who uploaded the file | | user_avatar | string | Avatar of the user who uploaded the file | | can_edit | boolean | Is there a right to change and delete the file? true - there is a right, false - there is no right |
company_id required | number Company ID |
client_id required | number Client ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of files) |
{- "success": true,
- "data": [
- {
- "id": 123,
- "client_id": 123456,
- "name": "test.txt",
- "description": "",
- "date_create": "2020-01-01T12:00:00+0400",
- "extension": "txt",
- "mime": "text/plain",
- "link": "/client_files/download/456/123/",
- "user_name": "Viktor Sitnikov",
- "user_avatar": "/images/no-master.png",
- "size": "9 B",
- "can_edit": false
}, - {
- "id": 789,
- "client_id": 123456,
- "name": "photo.jpg",
- "description": "",
- "date_create": "2020-01-30T12:30:00+0400",
- "extension": "jpg",
- "mime": "image/jpeg",
- "link": "/client_files/download/456/789/",
- "user_name": "Viktor Sitnikov",
- "user_avatar": "/images/no-master.png",
- "size": "96.65 KB",
- "can_edit": true
}
], - "meta": {
- "count": 2
}
}
company_id required | number Company ID |
client_id required | number Client ID |
file_id required | number File ID |
Accept | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Displays records from the client's browsing history by his ID or phone number. The response includes records and
product sales aggregated by visits, filtered by visit status and paid visit status. Result
sorted by date and paginated by 25 items (or more if the date of the last entry is the same as
next entry date). The client is identified by the input parameter client_id
or by client_phone
.
The rest of the parameters can be empty.
To get data on the next page, you need to execute a request with from
and to
parameters,
received as a result of the current request in the meta
field.
company_id required | number Example: 123 ID of a company. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
client_id required | number or null Client ID. |
client_phone required | string or null Customer phone number. |
from required | string or null <date> Period start date. |
to required | string or null <date> Period end date. |
payment_statuses required | Array of strings Items Enum: "not_paid" "paid_not_full" "paid_full" "paid_over" Visit payment status: |
attendance required | number or null Enum: -1 0 1 2 Visit status: |
success | boolean (Successful response status) Response status. |
object (Customer History Model Object) Data on customer visits, including records and product sales. | |
object (An object of date-based pagination information.) Page navigation information containing information about the current, next, and previous pages. The data is sorted and paginated by date in descending order. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "client_id": 123,
- "client_phone": "79998887766",
- "from": "2022-01-31",
- "to": "2022-02-01",
- "payment_statuses": [
- "not_paid"
], - "attendance": -1
}
{- "success": true,
- "data": {
- "goods_transactions": [
- {
- "id": 123,
- "comment": "Comment to the sale of goods",
- "date": "2021-01-31 12:34:56",
- "visit_id": 0,
- "record_id": 0,
- "goods": [
- {
- "id": 123,
- "title": "My product",
- "amount": -1,
- "unit": "PCS.",
- "cost_per_unit": 1000,
- "first_cost": -1000,
- "discount_percent": 0,
- "cost_to_pay": 1000,
- "paid_sum": 1000,
- "payment_status": "paid_full"
}
], - "staff": {
- "id": 123,
- "name": "James Smith",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Employee"
}
}, - "company": {
- "id": 123,
- "title": "My branch office."
}
}
], - "records": [
- {
- "id": 123,
- "comment": "Comment to post",
- "date": "2021-01-31 12:34:56",
- "visit_id": 123,
- "attendance": 1,
- "services": [
- {
- "id": 123,
- "title": "My service",
- "first_cost": 1000,
- "discount_percent": 0,
- "cost_to_pay": 1000,
- "paid_sum": 1000,
- "payment_status": "paid_full",
- "consumables": [
- {
- "title": "My consumable",
- "amount": 1,
- "cost_per_unit": 1000,
- "unit": "PCS."
}
]
}
], - "staff": {
- "id": 123,
- "name": "James Smith",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Employee"
}
}, - "company": {
- "id": 123,
- "title": "My branch office."
}, - "tips": {
- "has_tips": false,
- "sum": null
}, - "comer": {
- "id": 123,
- "title": "James Smith",
- "slug": "person"
}
}
]
}, - "meta": {
- "dateCursor": {
- "previous": {
- "to": "2022-01-31",
- "from": "2022-01-20",
- "count": 7
}, - "current": {
- "to": "2022-01-19",
- "from": "2022-01-15",
- "count": 25
}, - "next": {
- "to": "2022-01-14",
- "from": "2022-01-05",
- "count": 25
}
}
}
}
Returns a list of a comments for a client and a files in a client details uploads history.
company_id required | number Example: 123 ID of a company. |
client_id required | number Example: 123 ID of a company client. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Object of model "Comment for a client") | |
object (Meta object with response results count) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": [
- {
- "id": 123,
- "create_date": "2023-01-01 12:12:12",
- "update_date": "2023-01-01 12:12:12",
- "type": "default",
- "text": "Comment for a client",
- "files": [ ],
}
], - "meta": {
- "count": 10
}
}
Creates a new text comment for a client.
company_id required | number Example: 123 ID of a company. |
client_id required | number Example: 123 ID of a company client. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
text required | string Text of a comment for a client. |
success | boolean (Successful response status) Response status. |
object (Object of model "Comment for a client") Data for an existing comment for a client. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "text": "Comment for a client"
}
{- "success": true,
- "data": {
- "id": 123,
- "create_date": "2023-01-01 12:12:12",
- "update_date": "2023-01-01 12:12:12",
- "type": "default",
- "text": "Comment for a client",
- "files": [ ],
}, - "meta": { }
}
Deletes a comment for a client; does not delete files uploaded that triggered creation of a comment.
company_id required | number Example: 123 ID of a company. |
client_id required | number Example: 123 ID of a company client. |
comment_id required | number Example: 123 ID of a comment for client. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": null,
- "meta": { }
}
company_id required | number Company ID |
id required | number Client ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": {
- "id": 16,
- "name": "James",
- "surname": "Smith",
- "patronymic": "Martel",
- "phone": 79112345679,
- "email": "",
- "categories": [ ],
- "sex": "unknown",
- "discount": 0,
- "importance": "No importance class",
- "card": "",
- "birth_date": 0,
- "comment": "",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 0,
- "balance": 0,
- "visits": 3,
- "last_change_date": "2020-03-01T12:00:00+0400",
- "custom_fields": [ ]
}, - "meta": [ ]
}
company_id required | number Company ID |
id required | number Client ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name required | string Client name |
surname | string Client surname |
patronymic | string Client patronymic |
phone required | string Customer phone |
string Client Email | |
sex_id | number Gender of the client (1 - male, 2 - female, 0 - unknown) |
importance_id | number Client importance class (0 - none, 1 - bronze, 2 - silver, 3 - gold) |
discount | number Customer Discount |
card | string Client card number |
birth_date | string Date of birth of the client in the format yyyy-mm-dd |
comment | string A comment |
spent | number How much money spent in the company at the time of adding |
balance | number Client balance |
sms_check | number 1 - Happy Birthday by SMS, 0 - do not congratulate |
sms_not | number 1 - Exclude the client from SMS mailings, 0 - do not exclude |
labels | object Array of customer category IDs |
custom_fields | object Array of additional client fields as "api-key": "value" pairs |
{- "success": true,
- "data": {
- "id": 1121412,
- "name": "James",
- "surname": "Smith",
- "patronymic": "Martel",
- "phone": 79211234567,
- "categories": [ ],
- "sex": "Male",
- "sex_id": 1,
- "discount": 15,
- "importance_id": 1,
- "importance": "Bronze",
- "card": "555888666",
- "birth_date": 952041600,
- "comment": "throws show-off",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 1000,
- "balance": -1200,
- "visits": 0,
- "last_change_date": "2020-06-01T12:00:00+0400",
- "custom_fields": {
- "key-1": "value-1"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
id required | number Client ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id: Employee ID. If you need records for a specific employee
client_id: Client ID. If you need specific customer records
created_user_id: ID of the user who created the entry. If you need entries created by a specific user
start_date: Session date starting from (filter by session date). If you need appointments for a session starting from a specific date
end_date: Date of the session until. If you need appointments for a session before a specific date
c_start_date: Record creation date starting from (filter by record creation date). If you need records created since a specific date
c_end_date: Post creation date by (filter by post creation date).
changed_after: The date the entry was modified/created. If you need records created/modified starting from a specific date and time
changed_before: The date the entry was modified/created. If you need records created/modified before a specific date and time
company_id required | number Company ID |
page | number Example: page=1 Page number |
count | number Example: count=50 Number of entries per page |
staff_id | number Example: staff_id=7572 Employee ID, if you only need records for a specific employee |
client_id | number Example: client_id=572 Client ID. If you need records for a specific client |
created_user_id | number Example: created_user_id=7572 The ID of the user who created the entry. If you need entries created by a specific user |
start_date | string Example: start_date=2014-09-21T23:00:00.000+03:00 Session date starting at (filter by session date). If you need appointments for a session starting from a specific date |
end_date | string Example: end_date=2014-09-21T23:00:00.000+03:00 Session date to. If you need appointments for a session before a specific date |
c_start_date | string Example: c_start_date=2014-09-21T23:00:00.000+03:00 Record creation date starting from(filter by record creation date). If you need records created since a specific date |
c_end_date | string Example: c_end_date=2014-09-21T23:00:00.000+03:00 Record creation date by (filter by record creation date). |
changed_after | string Example: changed_after=2014-09-21T23:00:00.000+03:00 The date the entry was modified/created. If you need records created/modified starting from a specific date and time |
changed_before | string Example: changed_before=2014-09-21T23:00:00.000+03:00 The date the entry was modified/created. If you need records created/modified before a specific date and time |
include_consumables | number Example: include_consumables=0 Flag for including a list of consumables by records in the response |
include_finance_transactions | number Example: include_finance_transactions=0 flag to include in the response financial transactions by records |
with_deleted | boolean Include deleted records in output (with_deleted=1 will return deleted records as well) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the page number and the number of entries per page) |
{- "success": true,
- "data": [
- {
- "id": 2,
- "company_id": 4564,
- "staff_id": 9,
- "services": [
- {
- "id": 1,
- "title": "Hair extension",
- "cost": 100,
- "manual_cost": 100,
- "cost_per_unit": 100,
- "discount": 0,
- "first_cost": 100,
- "amount": 1
}
], - "goods_transactions": [ ],
- "staff": {
- "id": 9,
- "name": "Oksana",
- "specialization": "hair extension",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2019-01-16 16:00:00",
- "datetime": "2019-01-16T16:00:00+09:00",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "do not write down",
- "online": false,
- "visit_attendance": 0,
- "attendance": 0,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 0,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2019-01-16T20:35:15+0900",
- "custom_color": "",
- "custom_font_color": "",
- "record_labels": [ ],
- "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 16:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
], - "sms_remain_hours": 5,
- "email_remain_hours": 1,
- "bookform_id": 0,
- "record_from": "",
- "is_mobile": 0,
- "is_sale_bill_printed": false,
- "consumables": [ ],
- "finance_transactions": [ ]
}, - {
- "id": 9,
- "company_id": 4564,
- "staff_id": 49,
- "services": [ ],
- "goods_transactions": [ ],
- "staff": {
- "id": 49,
- "name": "Sergei",
- "specialization": "stylist",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2019-01-16 16:00:00",
- "datetime": "2019-01-16T16:00:00+09:00",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "",
- "online": true,
- "visit_attendance": 1,
- "attendance": 1,
- "confirmed": 1,
- "seance_length": 10800,
- "length": 10800,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 1,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2017-01-09T20:45:30+0900",
- "custom_color": "f44336",
- "custom_font_color": "#ffffff",
- "record_labels": [
- {
- "id": "67345",
- "title": "The employee is not important",
- "color": "#009800",
- "icon": "unlock",
- "font_color": "#ffffff"
}, - {
- "id": "104474",
- "title": "important category",
- "color": "#3b2c54",
- "icon": "odnoklassniki",
- "font_color": "#ffffff"
}
], - "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 16:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
], - "sms_remain_hours": 5,
- "email_remain_hours": 1,
- "bookform_id": 0,
- "record_from": "",
- "is_mobile": 0,
- "is_sale_bill_printed": false,
- "consumables": [ ],
- "finance_transactions": [ ]
}
], - "meta": {
- "page": 1,
- "total_count": 10
}
}
For group events When creating an entry in a group event, the activity_id parameter becomes mandatory, staff_id, services, datetime, session_length parameters become optional.
Additional fields When creating additional record fields (see the "Additional fields" section), it becomes possible to pass your own values for the fields. Additional fields are unique for each company. After creating additional fields, their values for a particular record can be passed in the optional custom_fields field as key-value pairs where key is the "code" field of the additional field. Example:
Created an additional record field with code="my_custom_field" type="number", and a second field code="some_another_field" type="list"
Passed another attribute when creating the record: custom_fields: { "my_custom_field": 123, "some_another_field": ["first value", "second value"] }
When this record is received by the GET method later, the same value of additional fields will be returned in the response
company_id required | number Example: 24699 Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id | number Employee ID |
Array of objects Service parameters (id, cost, discount) | |
object Client parameters (phone, name, email) | |
save_if_busy | boolean Whether to keep the record if the time is busy or non-working, or give an error |
datetime | string <date-time> Date and time of recording |
seance_length | number Recording duration in seconds |
send_sms | boolean Whether to send SMS with the details of the appointment to the client |
comment | string Post comment |
sms_remain_hours | number How many hours before the visit should send an SMS reminder to the client (0 - if not needed) |
email_remain_hours | number How many hours before the visit should an email reminder be sent to the client (0 - if not needed) |
attendance | number Entry status (2 - User confirmed the entry, 1 - User came, services provided, 0 - user waiting, -1 - user did not come to visit) |
api_id | string External system ID |
custom_color | string Record color |
record_labels | Array of strings Array of post category IDs |
object Additional record fields |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the page number and the number of entries per page) |
{- "staff_id": 8886,
- "services": [
- {
- "id": 331,
- "first_cost": 9000,
- "discount": 50,
- "cost": 4500
}, - {
- "id": 333,
- "first_cost": 2000,
- "discount": 10,
- "cost": 1800
}
], - "save_if_busy": false,
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "seance_length": 3600,
- "send_sms": true,
- "comment": "test entry!",
- "sms_remain_hours": 6,
- "email_remain_hours": 24,
- "attendance": 1,
- "api_id": "777",
- "custom_color": "f44336",
- "record_labels": [
- "67345",
- "104474"
], - "custom_fields": {
- "my_custom_field": 123,
- "some_another_field": [
- "first value",
- "second value"
]
}
}
{- "success": true,
- "data": [
- {
- "id": 2,
- "company_id": 4564,
- "staff_id": 9,
- "services": [
- {
- "id": 1,
- "title": "Hair extension",
- "cost": 100,
- "manual_cost": 100,
- "cost_per_unit": 100,
- "discount": 0,
- "first_cost": 100,
- "amount": 1
}
], - "goods_transactions": [ ],
- "staff": {
- "id": 9,
- "name": "Oksana",
- "specialization": "hair extension",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "do not write down",
- "online": false,
- "visit_attendance": 0,
- "attendance": 0,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 0,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2019-01-16T20:35:15+0900",
- "custom_color": "",
- "custom_font_color": "",
- "record_labels": [ ],
- "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2014-09-21T23:00:00.000+03:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
], - "consumables": [ ],
- "finance_transactions": [ ]
}, - {
- "id": 9,
- "company_id": 4564,
- "staff_id": 49,
- "services": [ ],
- "goods_transactions": [ ],
- "staff": {
- "id": 49,
- "name": "Sergei",
- "specialization": "stylist",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "",
- "online": true,
- "visit_attendance": 1,
- "attendance": 1,
- "confirmed": 1,
- "seance_length": 10800,
- "length": 10800,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 1,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2017-01-09T20:45:30+0900",
- "custom_color": "f44336",
- "custom_font_color": "#ffffff",
- "record_labels": [
- {
- "id": "67345",
- "title": "The employee is not important",
- "color": "#009800",
- "icon": "unlock",
- "font_color": "#ffffff"
}, - {
- "id": "104474",
- "title": "important category",
- "color": "#3b2c54",
- "icon": "odnoklassniki",
- "font_color": "#ffffff"
}
], - "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2014-09-21T23:00:00.000+03:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
], - "consumables": [ ],
- "finance_transactions": [ ]
}
], - "meta": {
- "page": 1,
- "total_count": 10
}
}
salon_id: Branch ID
start_date: Visit date starting from (filter by visit date). If you need entries starting from a specific visit date
end_date: Visit date by (filter by visit date)
created_start_date: Record creation date starting from (filter by record creation date). If you need records created since a specific date
created_end_date: Post creation date by (filter by post creation date)
user_id: user ID
page | number Example: page=1 Page number |
editable_length | number Example: editable_length=50 Number of entries per page, maximum 100 |
salon_id | number Example: salon_id=1 Branch ID |
start_date | string Example: start_date='17.01.2018' Filter by visit date from |
end_date | string Example: end_date='17.01.2018' Filter by visit date by |
created_start_date | string Example: created_start_date='17.01.2018' Filter by record creation date from |
created_end_date | string Example: created_end_date='17.01.2018' Filter by record creation date by |
user_id | number Example: user_id=1 User ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": [
- {
- "id": 1,
- "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2018-11-17T00:00:00+0400",
- "create_date": "2018-11-17T16:08:08+0400",
- "comment": "",
- "deleted": false,
- "attendance": 0,
- "length": 3600,
- "notify_by_sms": 1,
- "notify_by_email": 12,
- "master_requested": true,
- "online": false,
- "api_id": "42",
- "last_change_date": "2018-11-18T16:58:59+0400",
- "prepaid": 0,
- "prepaid_confirmed": 0,
- "activity_id": 0,
- "services": [
- {
- "id": 1,
- "title": "beard trim",
- "cost": 100,
- "price_min": 500,
- "price_max": 1500,
- "discount": 0,
- "amount": 1
}
], - "company": {
- "id": 1,
- "title": "Business Example",
- "public_title": "Business Example",
- "business_group_id": 1,
- "business_type_id": 1,
- "country_id": 1,
- "city_id": 1,
- "timezone": 3,
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "zip": 0,
- "phone": "",
- "phones": [ ],
- "site": "www.example.com",
- "allow_delete_record": true,
- "allow_change_record": true,
- "country": "United States",
- "city": "New York"
}, - "staff": {
- "id": 1,
- "name": "James Smith",
- "company_id": 1,
- "specialization": "Barber",
- "position": [ ],
- "rating": 0,
- "show_rating": 1,
- "comments_count": 0,
- "votes_count": 0,
- "average_score": 0,
- "prepaid": "forbidden"
}, - "client": {
- "id": 1,
- "name": "James Smith",
- "phone": "+1-315-555-0175",
- "phone_code": "7",
- "email": "[email protected]"
}, - "custom_fields": {
- "dop-telephone": "+1-315-555-0175"
}
}
], - "meta": {
- "count": 1
}
}
company_id required | number Company ID |
record_id required | number Record ID |
include_consumables | number Example: include_consumables=0 |
include_finance_transactions | number Example: include_finance_transactions=0 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 2,
- "company_id": 4564,
- "staff_id": 9,
- "services": [
- {
- "id": 1,
- "title": "Hair extension",
- "cost": 100,
- "manual_cost": 100,
- "cost_per_unit": 100,
- "discount": 0,
- "first_cost": 100,
- "amount": 1
}
], - "goods_transactions": [ ],
- "staff": {
- "id": 9,
- "name": "Oksana",
- "specialization": "hair extension",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "rating": 0,
- "votes_count": 0
}, - "client": {
- "id": 18936825,
- "name": "lx",
- "phone": 70001234567,
- "card": "",
- "success_visits_count": 37,
- "fail_visits_count": 3
}, - "clients_count": 1,
- "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "create_date": "2019-01-17T19:41:44+0900",
- "comment": "do not write down",
- "visit_attendance": 0,
- "attendance": 0,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 0,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8263004",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2019-01-17T19:44:14+0900",
- "custom_color": "f44336",
- "custom_font_color": "#ffffff",
- "record_labels": [
- {
- "id": "67345",
- "title": "The employee is not important",
- "color": "#009800",
- "icon": "unlock",
- "font_color": "#ffffff"
}, - {
- "id": "104474",
- "title": "interesting category",
- "color": "#3b2c54",
- "icon": "odnoklassniki",
- "font_color": "#ffffff"
}
], - "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 1073232,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2014-09-21T23:00:00.000+03:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
], - "sms_remain_hours": 5,
- "email_remain_hours": 1,
- "bookform_id": 0,
- "record_from": "",
- "is_mobile": 0,
- "is_sale_bill_printed": false,
- "consumables": [
- {
- "id": 2173068,
- "document_id": 8174153,
- "type_id": 2,
- "company_id": 4564,
- "good_id": 4853087,
- "amount": -1,
- "cost_per_unit": 0.03,
- "discount": 0,
- "cost": 0.03,
- "unit_id": 216761,
- "operation_unit_type": 2,
- "storage_id": 91548,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 0,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "",
- "service_id": 1,
- "user_id": 1073232,
- "deleted": false,
- "pkg_amount": 0
}
], - "finance_transactions": [
- {
- "id": 6024243,
- "document_id": 8174152,
- "date": "2014-09-21T23:00:00.000+03:00",
- "type_id": 5,
- "expense_id": 5,
- "account_id": 90459,
- "amount": 100,
- "client_id": 18936825,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "",
- "item_id": 1,
- "target_type_id": 1,
- "record_id": 2,
- "goods_transaction_id": 0,
- "expense": {
- "id": 5,
- "title": "Provision of services"
}, - "account": {
- "id": 90459,
- "title": "Main cash desk"
}, - "client": {
- "id": 18936825,
- "name": "James Smith",
- "phone": "+1-315-555-0175"
}, - "master": [ ],
- "supplier": [ ]
}
]
}, - "meta": [ ]
}
When an entry is changed in a group event, the activity_id parameter becomes required, staff_id, services, datetime, session_length parameters become optional
company_id required | number Company ID |
record_id required | number Record ID |
include_consumables | number Example: include_consumables=0 |
include_finance_transactions | number Example: include_finance_transactions=0 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id | number Employee ID |
Array of objects Service parameters (id, cost, discount) | |
object Client parameters (phone, name, email) | |
save_if_busy | boolean Whether to keep the record if the time is busy or non-working, or give an error |
datetime | string <date-time> Date and time of recording |
seance_length | number Recording duration in seconds |
send_sms | boolean Whether to send SMS with the details of the appointment to the client |
comment | string Post comment |
sms_remain_hours | number How many hours before the visit should send an SMS reminder to the client (0 - if not needed) |
email_remain_hours | number How many hours before the visit should an email reminder be sent to the client (0 - if not needed) |
attendance | number Entry status (2 - User confirmed the entry, 1 - User came, services provided, 0 - user waiting, -1 - user did not come to visit) |
api_id | string External system ID |
custom_color | string Record color |
record_labels | Array of strings Array of post category IDs |
object Additional record fields |
success | boolean Success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "staff_id": 8886,
- "services": [
- {
- "id": 331,
- "first_cost": 9000,
- "discount": 50,
- "cost": 4500
}, - {
- "id": 333,
- "first_cost": 2000,
- "discount": 10,
- "cost": 1800
}
], - "save_if_busy": false,
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "seance_length": 3600,
- "send_sms": true,
- "comment": "test entry!",
- "sms_remain_hours": 6,
- "email_remain_hours": 24,
- "attendance": 1,
- "api_id": "777",
- "custom_color": "f44336",
- "record_labels": [
- "67345",
- "104474"
], - "custom_fields": {
- "my_custom_field": 123,
- "some_another_field": [
- "first value",
- "second value"
]
}
}
{- "success": true,
- "data": {
- "id": 999,
- "services": [
- {
- "id": 331,
- "first_cost": 9000,
- "discount": 50,
- "cost": 4500
}, - {
- "id": 333,
- "first_cost": 2000,
- "discount": 10,
- "cost": 1800
}
], - "clients_count": 1,
- "staff": {
- "id": 8886,
- "name": "Jack",
- "spec": "stylist"
}, - "datetime": "2014-09-21T23:00:00.000+03:00",
- "seance_length": 3600,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "test entry!",
- "visit_attendance": 1,
- "confirmed": 1,
- "sms_before": 6,
- "sms_now": 1,
- "sms_now_text": "",
- "email_now": 1,
- "notified": 0,
- "master_request": 1,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "activity_id": 0,
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2014-09-21T23:00:00.000+03:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
]
}, - "meta": [ ]
}
company_id required | number Company ID |
record_id required | number Record ID |
include_consumables | number Example: include_consumables=0 |
include_finance_transactions | number Example: include_finance_transactions=0 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
visit_id required | number Example: Visit ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "attendance": 1,
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "comment": 0,
- "records": [
- {
- "id": 37955315,
- "company_id": 4564,
- "staff_id": 55436,
- "services": [ ],
- "events": [ ],
- "goods_transactions": [ ],
- "staff": {
- "id": 55436,
- "name": "Kevin Spacey",
- "specialization": "Master of manicure and pedicure",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "rating": 4.89,
- "votes_count": 0
}, - "client": {
- "id": 4240788,
- "name": "dev1",
- "phone": 71000000001,
- "card": "000000415",
- "email": "",
- "success_visits_count": 58,
- "fail_visits_count": 9
}, - "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2014-09-21T23:00:00.000+03:00",
- "create_date": "2018-03-22T17:55:14+0300",
- "comment": "",
- "online": false,
- "visit_attendance": 1,
- "attendance": 1,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 1,
- "sms_now": 1,
- "sms_now_text": "",
- "email_now": 1,
- "notified": 0,
- "master_request": 0,
- "api_id": "0",
- "from_url": "",
- "review_requested": 0,
- "visit_id": 8260852,
- "created_user_id": 999290,
- "deleted": 0,
- "paid_full": 0,
- "prepaid": 0,
- "prepaid_confirmed": 0,
- "last_change_date": "2018-03-28T17:46:48+0300",
- "custom_color": "",
- "custom_font_color": "",
- "record_labels": [ ],
- "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2014-09-21T23:00:00.000+03:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Visit"
}
]
}
]
}, - "meta": [ ]
}
Block "kkm_transaction_details_container"
Flag "last_operation_type"
Meaning | Description |
---|---|
0 | Print return receipt |
1 | Print sales receipt |
Types of all transactions with cash register
Meaning | Description |
---|---|
0 | Sales operation (active for a document with the "Visit" type) |
1 | Sale return operation (active for a document with the "Visit" type) |
2 | Correction operation |
4 | Shift opening operation |
5 | Shift closing operation |
9 | The operation of obtaining the status of KKM |
11 | The operation of obtaining the status of the KKM team |
12 | Correction operation |
13 | Print X-report |
6 | Cash deposit |
7 | Withdrawal of cash |
Statuses of all operations with KKM
Meaning | Description |
---|---|
0 | Connection error with KKM |
1 | Successfully |
2 | Sent for printing |
3 | Runtime error |
4 | Status check error |
5 | Waiting for KKM readiness |
Document types
Meaning | Description |
---|---|
1 | Sale of goods |
2 | Provision of services |
3 | Arrival of goods |
4 | Goods write-off |
5 | Movement of goods |
6 | Inventory |
7 | Visit |
8 | Write-off of consumables |
salon_id required | number Example: Branch ID |
record_id required | number Example: Record ID |
visit_id required | number Example: Visit ID |
Accept required | string e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer access_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "payment_transactions": [
- {
- "id": 6023813,
- "document_id": 8172806,
- "date": "2014-09-21T23:00:00.000+03:00",
- "type_id": 5,
- "expense_id": 5,
- "account_id": 32299,
- "amount": 10,
- "client_id": 4241492,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "",
- "item_id": 1162679,
- "target_type_id": 1,
- "record_id": 13136569,
- "goods_transaction_id": 0,
- "expense": {
- "id": 5,
- "title": "Provision of services"
}, - "account": {
- "id": 32299,
- "title": "Deposits (payment in cash)"
}, - "client": {
- "id": "4241492",
- "name": "ModulKassaClient",
- "phone": "+1-315-555-0175"
}, - "master": [ ],
- "supplier": [ ]
}
], - "loyalty_transactions": [
- {
- "id": 10614,
- "status_id": 1,
- "amount": 0.5,
- "type_id": 2,
- "program_id": 145,
- "card_id": 20013,
- "salon_group_id": 646,
- "item_id": 0,
- "item_type_id": 0,
- "item_record_id": 0,
- "goods_transaction_id": 0,
- "is_discount": false,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 2,
- "title": "Loyalty programs"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 0,
- "transactions": [
- {
- "id": 1047,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 1,
- "sum": 13,
- "type": {
- "id": 0,
- "title": "Sale operation"
}, - "status": {
- "id": 1,
- "title": "Successfully"
}, - "document": {
- "id": 2045,
- "type": 7,
- "type_title": "Visit"
}, - "cashier": {
- "id": 746310,
- "name": "Jack Smith"
}
}
]
}, - "items": [
- {
- "id": 0,
- "item_id": 1162679,
- "item_type_id": 1,
- "record_id": 13136569,
- "item_title": "Haircut at the TOP-master",
- "amount": 2,
- "first_cost": 20,
- "manual_cost": 10,
- "discount": 50,
- "cost": 10,
- "master_id": 13136569,
- "good_id": 0,
- "service_id": 1162679,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}, - "meta": [ ]
}
visit_id required | number Example: Visit ID |
record_id required | number Example: ID entry |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
attendance required | number Visit status (2 - The user confirmed the entry, 1 - The user came, the services were provided, 0 - the user is waiting, -1 - the user did not come to the visit) |
comment required | string A comment |
Array of objects Array of objects of new commodity transactions | |
deleted_transaction_ids | Array of objects Array of instance IDs |
Array of objects Array of commodity transactions objects | |
Array of objects Array of objects with services | |
fast_payment | number Quick payment 1 - cash, 2 - cashless, 129 - cash and print, 130 - cashless and print |
visit_id required | number Example: Visit ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string <date-time> date and time |
service_id required | number Service ID |
staff_id required | number Employee ID |
capacity required | number Capacity |
resource_instance_ids | Array of numbers Array of resource instance IDs |
force required | boolean Ignore errors (busy master/resources, etc.) |
length | number Event duration in seconds |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "date": "2017-10-10 15:30",
- "service_id": 1185299,
- "staff_id": 26427,
- "length": 3600,
- "capacity": 9,
- "resource_instance_ids": [
- 3127
], - "force": false
}
{- "success": true,
- "data": {
- "id": 108,
- "salon_id": 4564,
- "service_id": 1185299,
- "staff_id": 26427,
- "date": "2014-09-21T23:00:00.000+03:00",
- "length": 3600,
- "capacity": 9,
- "records_count": 0,
- "color": "",
- "font_color": "",
- "service": {
- "id": 1185299,
- "title": "Group manicure",
- "category_id": 754917
}, - "staff": {
- "id": 26427,
- "name": "Monica Bellucci",
- "company_id": 4564
}, - "resource_instances": [
- {
- "id": 3127,
- "title": "Manicure machine #1",
- "resource_id": 1364
}
]
}, - "meta": [ ]
}
company_id required | number Company ID |
activity_id required | number group entry ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 108,
- "salon_id": 4564,
- "service_id": 1185299,
- "staff_id": 26427,
- "date": "2014-09-21T23:00:00.000+03:00",
- "length": 3600,
- "capacity": 9,
- "records_count": 0,
- "color": "",
- "font_color": "",
- "service": {
- "id": 1185299,
- "title": "Group manicure",
- "category_id": 754917
}, - "staff": {
- "id": 26427,
- "name": "Monica Bellucci",
- "company_id": 4564
}, - "resource_instances": [
- {
- "id": 3127,
- "title": "Manicure machine #1",
- "resource_id": 1364
}
]
}, - "meta": [ ]
}
company_id required | number Company ID |
activity_id required | number Group Event ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string <date-time> date and time |
service_id required | number Service ID |
staff_id required | number Employee ID |
capacity required | number Capacity |
resource_instance_ids | Array of numbers Array of resource instance IDs |
force required | boolean Ignore errors (busy master/resources, etc.) |
length | number Event duration in seconds |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "date": "2017-10-10 15:30",
- "service_id": 1185299,
- "staff_id": 26427,
- "length": 3600,
- "capacity": 9,
- "resource_instance_ids": [
- 3127
], - "force": false
}
{- "success": true,
- "data": {
- "id": 108,
- "salon_id": 4564,
- "service_id": 1185299,
- "staff_id": 26427,
- "date": "2014-09-21T23:00:00.000+03:00",
- "length": 3600,
- "capacity": 9,
- "records_count": 0,
- "color": "",
- "font_color": "",
- "service": {
- "id": 1185299,
- "title": "Group manicure",
- "category_id": 754917
}, - "staff": {
- "id": 26427,
- "name": "Monica Bellucci",
- "company_id": 4564
}, - "resource_instances": [
- {
- "id": 3127,
- "title": "Manicure machine #1",
- "resource_id": 1364
}
]
}, - "meta": [ ]
}
company_id required | number Company ID |
activity_id required | number group entry ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
company_id required | number Example: 123 ID of a company. |
service_ids | Array of integers Example: service_ids=123 Filter by services IDs. |
staff_ids | Array of integers Example: staff_ids=456 Filter by staff IDs. |
resource_ids | Array of integers Example: resource_ids=789 Filter by resources IDs. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Object "Group events search filter") | |
object (Meta object with response results count) Additional response data. |
{- "success": true,
- "data": [
- {
- "code": "staff",
- "title": "Staff",
- "data": [
- {
- "id": 1,
- "title": "Staff 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Staff 2",
- "is_disabled": false
}
]
}, - {
- "code": "service",
- "title": "Service",
- "data": [
- {
- "id": 1,
- "title": "Service 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Service 2",
- "is_disabled": false
}
]
}, - {
- "code": "resource",
- "title": "Resource",
- "data": [
- {
- "id": 1,
- "title": "Resource 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Resource 2",
- "is_disabled": false
}
]
}, - {
- "code": "service_category",
- "title": "Service category",
- "data": [
- {
- "id": 1,
- "title": "Category 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Category 2",
- "is_disabled": false
}
]
}
], - "meta": {
- "count": 4
}
}
company_id required | number Example: 123 ID of a company. |
service_ids | Array of integers Example: service_ids=123 Filter by services IDs. |
staff_ids | Array of integers Example: staff_ids=456 Filter by staff IDs. |
resource_ids | Array of integers Example: resource_ids=789 Filter by resources IDs. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Object "Dates range for group events search") Dates range for group events search. | |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": {
- "min_date": "2023-06-01",
- "max_date": "2023-07-15"
}, - "meta": [ ]
}
company_id required | number Example: 123 ID of a company. |
from required | string Example: from=2023-06-01 Search start date (YYYY-MM-DD format). |
till required | string Example: till=2023-07-15 Search end date (YYYY-MM-DD format). |
service_ids | Array of integers Example: service_ids=123 Filter by services IDs. |
staff_ids | Array of integers Example: staff_ids=456 Filter by staff IDs. |
resource_ids | Array of integers Example: resource_ids=789 Filter by resources IDs. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
{- "success": true,
- "data": [
- "2023-06-01",
- "2023-06-02",
- "2023-06-08",
- "2023-07-04",
- "2023-07-15"
], - "meta": [ ]
}
company_id required | number Example: 123 ID of a company. |
from required | string Example: from=2023-06-01 Search start date (YYYY-MM-DD format). |
till required | string Example: till=2023-07-15 Search end date (YYYY-MM-DD format). |
service_ids | Array of integers Example: service_ids=123 Filter by services IDs. |
staff_ids | Array of integers Example: staff_ids=456 Filter by staff IDs. |
resource_ids | Array of integers Example: resource_ids=789 Filter by resources IDs. |
page | number Example: page=1 Page number (default 1). |
count | number Example: count=25 Page size (default 25). |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of events found) |
{- "success": true,
- "data": [
- {
- "id": 3480140,
- "service_id": 5243360,
- "company_id": 68570,
- "staff_id": 921105,
- "date": "2014-09-21T23:00:00.000+03:00",
- "length": 3600,
- "capacity": 40,
- "records_count": 0,
- "color": "",
- "instructions": "",
- "stream_link": "",
- "font_color": "",
- "notified": false,
- "prepaid": "forbidden",
- "service": {
- "id": 5243360,
- "category_id": 5092305,
- "title": "Lecture on psychoanalysis",
- "price_min": 500,
- "price_max": 500,
- "comment": "Not",
- "image_url": "",
- "salon_service_id": 5792535,
- "prepaid": "forbidden",
- "category": {
- "id": 5092305,
- "category_id": 1,
- "title": "Psychoanalysis"
}
}, - "staff": {
- "id": 921105,
- "name": "Natalie",
- "company_id": 68570,
- "specialization": "Psychotherapist",
- "rating": 4.57,
- "show_rating": 0,
- "comments_count": 7,
- "votes_count": 0,
- "average_score": 4.57,
- "prepaid": "forbidden",
- "position": {
- "id": 123340,
- "title": "Psychotherapist"
}
}, - "resource_instances": [
- {
- "id": 83030,
- "title": "Psychotherapist's office. #one",
- "resource_id": 34895
}
], - "labels": [ ]
}
], - "meta": {
- "count": 1
}
}
company_id required | number Example: 4564 Company ID |
staff_id | number Employee ID to filter |
term | string Search by name or part of the service name |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id | number Employee ID to filter |
term | string Search by name or part of the service name |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of services found) |
{- "staff_id": 1,
- "term": "test"
}
{- "success": true,
- "data": [
- {
- "id": 1209148,
- "title": "Fitness test",
- "capacity": 5,
- "price_min": 2,
- "price_max": 3,
- "is_multi": true,
- "category": {
- "id": 1285356,
- "title": "Group services"
}, - "staff": [
- {
- "id": 37695,
- "name": "Kim Kardashian",
- "length": 7200
}
], - "resources": [
- {
- "id": 464,
- "title": "massage room",
- "salon_id": 4564
}
]
}
], - "meta": {
- "count": 1
}
}
Duplication of events occurs based on a set of parameters combined in the "duplication strategy" entity
Field | Type | Description |
---|---|---|
title | string | Strategy name |
repeat_mode_id | integer | Repeat mode |
days | integer[] | List of days of the week: 0 Sun, 6 Fri |
interval | integer | Break in searching for dates, in units of type |
content_type | integer | Duplicate records? 1 - no, 2 - yes |
The repeat mode can take the values
Meaning | Description | Break unit |
---|---|---|
1 | Daily | Day |
2 | Weekdays | - |
3 | Mon Wed Fri | - |
4 | Tue Thu | - |
5 | Every week | Week |
6 | Every month | Month |
7 | Every year | Year |
The days field is relevant only for mode 5 - week, for specifying specific days of repetition If you specify repeat_mode = 5, days = [1,4], interval = 2, then the event will be repeat every 3rd week on mon and thurs
company_id required | number Example: 4564 Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": [
- {
- "id": 2,
- "company_id": 4564,
- "title": "test pattern",
- "repeat_mode_id": 1,
- "repeat_mode": {
- "id": 1,
- "title": "Daily"
}, - "days": [ ],
- "interval": 0,
- "content_type": 1
}
], - "meta": {
- "count": 1
}
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Name |
days | Array of objects Recurrence Days for Weekly Mode |
repeat_mode_id required | number Repeat Mode |
interval | number Break in searching for dates |
content_type | number Duplicate records? 1 - no, 2 - yes |
{- "success": true,
- "data": {
- "id": 3,
- "company_id": 4564,
- "title": "Test duplication strategy",
- "repeat_mode_id": 5,
- "repeat_mode": {
- "id": 5,
- "title": "Every week"
}, - "days": [
- 1,
- 4
], - "interval": 2,
- "content_type": 1
}, - "meta": [ ]
}
company_id required | number Example: 4564 Company ID |
strategy_id required | number Example: 3 Replication strategy ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Name |
days | Array of objects Recurrence Days for Weekly Mode |
repeat_mode_id required | number Repeat Mode |
interval | number Break in searching for dates |
content_type | number Duplicate records? 1 - no, 2 - yes |
{- "success": true,
- "data": {
- "id": 3,
- "company_id": 4564,
- "title": "New test duplication strategy",
- "repeat_mode_id": 5,
- "repeat_mode": {
- "id": 5,
- "title": "Every week"
}, - "days": [
- 2,
- 3
], - "interval": 3,
- "content_type": 1
}, - "meta": [ ]
}
A request for duplication can be made in 3 ways:
Specifying a list of dates and times to duplicate
Specifying the id of the repetition strategy
By specifying all repetition parameters
company_id required | number Example: 1 |
activity_id required | number Example: 2 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{ }
{- "success": true,
- "data": [
- {
- "id": 9182,
- "service_id": 1209148,
- "salon_id": 4564,
- "master_id": 1000265,
- "date": "2014-09-21T23:00:00.000+03:00",
- "length": 7200,
- "capacity": 5,
- "records_count": 0,
- "color": "",
- "instructions": "",
- "stream_link": "",
- "font_color": "",
- "notified": false,
- "timestamp": "2014-09-21T23:00:00.000+03:00",
- "service": {
- "id": 1209148,
- "category_id": 1285356,
- "title": "Fitness \"test\"",
- "price_min": 2,
- "price_max": 3,
- "prepaid": "forbidden"
}, - "resource_instances": [
- {
- "id": 1094,
- "title": "Massage room 1st floor",
- "resource_id": 464
}
], - "master": {
- "id": 1000265,
- "name": "Master",
- "company_id": 4564,
- "specialization": "321",
- "rating": 0,
- "show_rating": 1,
- "prepaid": "allowed",
- "position": [ ]
}, - "records": [ ],
- "labels": [ ]
}
], - "meta": {
- "count": 2
}
}
The dates for the log are an array of dates. (for example, ["2015-10-26", "2015-10-30"]). To get the dates, you need to pass the date relative to which the list of working dates of the salon/employee will be received.
company_id required | number Company ID |
date required | string date in iso8601 format. Filter by booking date (eg '2015-09-30') |
staff_id | number Employee ID. |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": [
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00",
- "2014-09-21T23:00:00.000+03:00"
], - "meta": [ ]
}
The comment object has the following fields:
Field | Type | Description |
---|---|---|
id | number | Comment ID |
salon_id | number | Company ID |
type | number | 1 - comment to the master, 0 - to the salon |
master_id | number | Master ID if type = 1 |
text | string | Comment text |
date | string | Date when the comment was left |
rating | number | Rating (from 1 to 5) |
user_id | number | Id of the user who left the comment |
username | string | Name of the user who left the comment |
user_avatar | string | Avatar of the user who left the comment |
record_id | number | ID of the post after which the review was left (the value will be non-zero if the review was left through a link asking for a review after the visit) |
company_id required | number Company ID |
start_date | string date in iso8601 format. Filter by date since (for example '2015-09-30') |
end_date | string date in iso8601 format. Filter by date by (for example '2015-09-30') |
staff_id | number Employee ID |
rating | number Rating score. Filter by reviews with a specific rating. |
page | number Page number |
count | number Number of reviews per page |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "18437",
- "type": "1",
- "master_id": "8864",
- "text": "Fine!",
- "date": "2014-09-21T23:00:00.000+03:00",
- "rating": "4",
- "user_id": "157169",
- "user_name": "Victor Sitnikov",
- "user_avatar": "/images/no-master.png",
- "record_id": 100001
}
], - "meta": [ ]
}
company_id required | number Company ID |
staff_id required | number Employee ID, specify when creating a review for an employee |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
mark required | number Rating from 1 to 5 |
text required | string Feedback text |
name required | string Username to be displayed on the testimonials page |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "mark": "4",
- "text": "Everything is very bad!",
- "name": "Victor"
}
{- "success": true,
- "data": {
- "type": "1",
- "master_id": "8864",
- "id": "18437",
- "text": "Everything is very bad!",
- "date": "2014-09-21T23:00:00.000+03:00",
- "rating": "4",
- "user_id": "157169",
- "user_name": "Victor",
- "user_avatar": "/images/no-master.png"
}, - "meta": [ ]
}
Company User object
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 224348,
- "firstname": "James",
- "login": "j.smith",
- "phone": "+1-315-555-0175",
- "information": "Test user",
- "access": {
- "stat_access": true,
- "schedule_edit_access": false,
- "client_phones_access": false,
- "clients_access": false,
- "settings_access": false,
- "edit_records_access": false,
- "timetable_access": true,
- "billing_access": false,
- "users_access": false,
- "excel_access": false,
- "finances_access": false,
- "storages_access": false,
- "send_sms": true,
- "master_id": 0
}
}, - {
- "id": 11,
- "firstname": "James",
- "login": "j.smith",
- "phone": "+1-315-555-0175",
- "information": "Test user",
- "access": {
- "stat_access": true,
- "schedule_edit_access": true,
- "client_phones_access": true,
- "clients_access": true,
- "settings_access": true,
- "edit_records_access": true,
- "timetable_access": true,
- "billing_access": true,
- "users_access": false,
- "excel_access": true,
- "finances_access": true,
- "storages_access": true,
- "send_sms": true,
- "master_id": 0
}
}
], - "meta": [ ]
}
The method allows you to get users of the company.
Company User object:
Attribute | Type | Description |
---|---|---|
id | number | User ID |
name | string | User name |
phone | string | User phone |
string | User email | |
information | string | User information |
is_approved | boolean | Whether the user accepted the invitation to manage the company |
is_non_deletable | boolean | Whether the user is non-deletable |
company_id required | number Company ID |
filter[is_approved] | number Example: filter[is_approved]=1 Whether the user accepted the invitation to manage the company. 1 - accepted, 0 - not accepted |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Response status. |
Array of objects Response data. | |
object Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": [
- {
- "id": 10,
- "name": "Bob Williams",
- "phone": "+1-315-555-0175",
- "information": "Manager",
- "is_approved": false,
- "is_non_deletable": false
}, - {
- "id": 11,
- "name": "Oliver Davis",
- "phone": "+1-315-555-0176",
- "information": "Administrator",
- "is_approved": true,
- "is_non_deletable": true
}
], - "meta": {
- "count": 2
}
}
company_id required | number Example: 123 ID of a company. |
user_id required | number User ID |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": false,
- "data": null,
- "meta": {
- "message": "Authentication needed."
}
}
The company checkout object has the following fields:
Field | Type | Description |
---|---|---|
id | number | Checkout ID |
title | string | Title |
type | number | 1 - for non-cash payments, 0 for cash |
comment | string | Description to the checkout |
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 13881,
- "title": "Main cash desk",
- "type": 0,
- "comment": "Standing at the reception"
}, - {
- "id": 13882,
- "title": "Payment account",
- "type": 1,
- "comment": "For non-cash payments"
}, - {
- "id": 21961,
- "title": "Advances",
- "type": 0,
- "comment": ""
}
], - "meta": [ ]
}
The company warehouse object has the following fields:
Field | Type | Description |
---|---|---|
id | number | Warehouse ID |
title | string | Title |
for_services | number | 1 - if used for automatic write-off of consumables |
for_sale | number | 1 - if the default warehouse for selling goods |
comment | string | Description of the warehouse |
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Consumables",
- "for_service": 1,
- "for_sale": 0,
- "comment": "To account for consumables"
}, - {
- "id": 2,
- "title": "Products",
- "for_service": 0,
- "for_sale": 1,
- "comment": "To record store sales"
}, - {
- "id": 23061,
- "title": "Ors",
- "for_service": 0,
- "for_sale": 1,
- "comment": "Nz"
}
], - "meta": [ ]
}
The object for creating SMS mailing has the following fields:
Field | Type | Description |
---|---|---|
client_ids | array of numbers | Array of client IDs |
text | string | SMS text message |
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
client_ids | Array of numbers Array of client IDs |
text | string SMS text message |
success | boolean Execution success status (true) |
data | string Is null |
object An object containing a 201 status code message |
{- "client_ids": [
- 1,
- 2,
- 3,
- 4,
- 5
], - "text": "Dear clients, we congratulate you on being our clients! You are very lucky!"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
The object for creating SMS mailing has the following fields:
Field | Type | Description |
---|---|---|
text | string | SMS text message |
Attention: If there are no filters, SMS mailing will go to the entire database!
company_id required | number Company ID |
fullname | string Example: fullname='Joh' Name (part of the name) for client filtering |
phone | string Example: phone='7916' Phone (part of the number) for customer filtering |
string Example: email='test@' Email (part) for customer filtering |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
text | string SMS text message |
success | boolean Execution success status (true) |
data | string Is null |
object An object containing a 201 status code message |
{- "text": "Dear clients, we congratulate you on being our clients! You are very lucky!"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
page: Page number
count: Number of customers per page
account_id: Checkout ID
supplier_id: Counterparty ID
client_id: Client ID
user_id: user ID
master_id: Employee ID
type: transaction type
real_money: real money transaction
deleted: whether the transaction was deleted
start_date: start date of the period
end_date: end date of the period
balance_is: 0 - any balance, 1 - positive, 2 - negative
document_id: document ID
company_id required | number Company ID |
page | number Example: page=1 Page number |
count | number Example: count=50 Number of customers per page |
account_id | number Example: account_id=0 Checkout ID |
supplier_id | number Example: supplier_id=0 Counterparty ID |
client_id | number Example: client_id=0 Client ID |
user_id | number Example: user_id=0 User ID |
master_id | number Example: master_id=0 Employee ID |
type | number Example: type=0 transaction type |
real_money | number Example: real_money=0 real money transaction |
deleted | number Example: deleted=0 whether the transaction was deleted |
start_date | number Example: start_date='' period start date |
end_date | number Example: end_date='' period end date |
balance_is | number Example: balance_is=0 0 - any balance, 1 - positive, 2 - negative |
document_id | number Example: document_id=0 document ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Provision of services"
}, - "date": "2016-04-13T15:34:31+0400",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Sweeney Todd"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Cards"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
record_id: record ID
visit_id: ID of the visit
company_id required | number Company ID |
record_id | number Example: record_id=0 Record ID |
visit_id | number Example: visit_id=0 Visit ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Provision of services"
}, - "date": "2016-04-13T15:34:31+0400",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Sweeney Todd"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Cards"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
expense_id | number Payment item |
amount | number <float> Transaction amount |
account_id | number Checkout ID |
client_id | number Client ID |
supplier_id | number Counterparty ID |
master_id | number Employee ID |
comment | number A comment |
date | string <date-time> Transaction creation date |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "expense_id": 2640,
- "amount": 100,
- "account_id": 39105,
- "client_id": 4240788,
- "supplier_id": 0,
- "master_id": 0,
- "comment": "Transaction comment",
- "date": "2014-09-21T23:00:00.000+03:00"
}
{- "success": true,
- "data": {
- "id": 277016617,
- "document_id": 0,
- "date": "2014-09-21T23:00:00.000+03:00",
- "type_id": 5,
- "expense_id": 5,
- "account_id": 774020,
- "amount": 100,
- "client_id": 51520012,
- "master_id": 921395,
- "supplier_id": 0,
- "comment": "Transaction comment",
- "item_id": 0,
- "target_type_id": 0,
- "record_id": 0,
- "goods_transaction_id": 0,
- "expense": {
- "id": 5,
- "title": "Provision of services"
}, - "account": {
- "id": 774020,
- "title": "Archive cash desk",
- "is_cash": true,
- "is_default": false
}, - "client": {
- "id": 51520012,
- "name": "Sweeney Todd",
- "phone": "+1-315-555-0175",
- "email": "[email protected]"
}, - "master": {
- "id": 921395,
- "name": "Valeria"
}, - "supplier": [ ]
}, - "meta": [ ]
}
company_id required | number Company ID |
transaction_id required | number transaction ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Provision of services"
}, - "date": "2016-04-13T15:34:31+0400",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Sweeney Todd"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Cards"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number Company ID |
transaction_id required | number transaction ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
expense_id | number Payment item |
amount | number <float> Transaction amount |
account_id | number Checkout ID |
client_id | number Client ID |
supplier_id | number Counterparty ID |
master_id | number Employee ID |
comment | number A comment |
date | string <date-time> Transaction creation date |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Provision of services"
}, - "date": "2016-04-13T15:34:31+0400",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Sweeney Todd"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Cards"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number Company ID |
transaction_id required | number transaction ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Returns a list of card types that are valid for the given branch.
Attributes and their descriptions correspond to the "Collection of card types available to the client" method described above.
company_id required | number Example: 12345 Company ID |
id | integer <int32> Card type identifier |
title | string Map type name |
salon_group_id | integer <int32> ID of the chain where the map type was created |
object An object that contains the "id" and "title" fields: the identifier of the chain where the map type was created and the name of this chain |
[- {
- "id": 10992,
- "title": "Cashback",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Chain 1"
}
}, - {
- "id": 8230,
- "title": "Referral program",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Chain 1"
}
}
]
Returns a list of customer cards with programs that are active in this salon
| Attribute | Type | Description| |----------------|--------|----------------------- -------------------------------------------------- --------------------------------------------| | id | int | Loyalty card ID | | balance | decimal| Loyalty card balance | | paid_amount | decimal| Amount "Paid" | | sold_amount | decimal| Amount "Sold" | | visits_count | int | Number of visits | | number | string | Card number | | type_id | int | Loyalty card type identifier | | salon_group_id | int | ID of the chain where the map was created | | type | object | An object that contains the "id" and "title" fields: map type identifier and map type name, respectively | salon_group | object | An object that contains the "id" and "title" fields: identifier of the chain where the map type was created and the name of this chain | | programs | array | An array with information about promotions linked to a loyalty card | | rules | array | An array with information about the rules configured in the action |
The programs array consists of objects with the following fields:
| Attribute | Type | Description | |-----------------|--------|---------------------- ----------------| | id | int | Promotion ID | | title | string | Action name | | loyalty_type_id | int | Promotion type ID | | item_type_id | int | Is cashback accrued from goods | | value_unit_id | int | Bonus field. Discount % or Fixed. amount | | group_id | int | ID of the chain where the action was created | | loyalty_type | object | Object with information about the action |
The rules array consists of objects with the following fields:
| Attribute | Type | Description | |--------------------|--------|------------------- -------------------------------| | id | int | Rule ID | | loyalty_program_id | int | Identifier of the stock to which the rule is attached | | loyalty_type_id | int | Promotion type ID | | value | decimal| Value from which the rule will work |
phone required | string Customer phone number in the format 70001234567 |
group_id required | number Chain ID |
company_id required | number Branch ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Loyalty card ID |
balance | number <float> Loyalty card balance |
points | integer <int32> |
paid_amount | number <float> Amount Paid |
sold_amount | number <float> Amount "Sold" |
visits_count | integer <int32> Number of visits |
number | string Card number |
type_id | integer <int32> Loyalty card type identifier |
salon_group_id | integer <int32> ID of the chain where the map was created |
object An object that contains the "id" and "title" fields: map type identifier and map type name, respectively | |
object An object that contains the "id" and "title" fields: the identifier of the chain where the map type was created and the name of this chain | |
Array of objects An array with information about promotions linked to a loyalty card |
{- "id": 9210520,
- "balance": 100,
- "points": 0,
- "paid_amount": 1000,
- "sold_amount": 1000,
- "visits_count": 1,
- "number": 14507109210520,
- "type_id": 10992,
- "salon_group_id": 145071,
- "type": {
- "id": 10992,
- "title": "5+2",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Dough chain1."
}, - "programs": [
- {
- "id": 18005,
- "title": "5+2",
- "value": 0,
- "loyalty_type_id": 13,
- "item_type_id": 3,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 13,
- "title": "Discount for a given number of accumulated services",
- "is_discount": true,
- "is_cashback": false,
- "is_static": false,
- "is_accumulative": false
}, - "rules": [
- {
- "id": 72803,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 20,
- "parameter": 0
}, - {
- "id": 72804,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 10,
- "parameter": 0
}, - {
- "id": 72805,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 100,
- "parameter": 0
}
]
}
]
}
Returns a list of customer cards with programs that are active in this salon
The attributes in the response to the request completely match the "Get a list of issued cards by phone number" method described above
client_id required | number Client ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Loyalty card ID |
balance | number <float> Loyalty card balance |
points | integer <int32> |
paid_amount | number <float> Amount Paid |
sold_amount | number <float> Amount "Sold" |
visits_count | integer <int32> Number of visits |
number | string Card number |
type_id | integer <int32> Loyalty card type identifier |
salon_group_id | integer <int32> ID of the chain where the map was created |
object An object that contains the "id" and "title" fields: map type identifier and map type name, respectively | |
object An object that contains the "id" and "title" fields: the identifier of the chain where the map type was created and the name of this chain | |
Array of objects An array with information about promotions linked to a loyalty card |
{- "id": 9210520,
- "balance": 100,
- "points": 0,
- "paid_amount": 1000,
- "sold_amount": 1000,
- "visits_count": 1,
- "number": 14507109210520,
- "type_id": 10992,
- "salon_group_id": 145071,
- "type": {
- "id": 10992,
- "title": "5+2",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Dough chain1."
}, - "programs": [
- {
- "id": 18005,
- "title": "5+2",
- "value": 0,
- "loyalty_type_id": 13,
- "item_type_id": 3,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 13,
- "title": "Discount for a given number of accumulated services",
- "is_discount": true,
- "is_cashback": false,
- "is_static": false,
- "is_accumulative": false
}, - "rules": [
- {
- "id": 72803,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 20,
- "parameter": 0
}, - {
- "id": 72804,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 10,
- "parameter": 0
}, - {
- "id": 72805,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 100,
- "parameter": 0
}
]
}
]
}
Returns a list of cards of an authorized user with programs, filtering cards by salon chain / salon
group_id required | number Chain ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Loyalty card ID |
balance | number <float> Loyalty card balance |
points | integer <int32> |
paid_amount | number <float> Amount Paid |
sold_amount | number <float> Amount "Sold" |
visits_count | integer <int32> Number of visits |
number | string Card number |
type_id | integer <int32> Loyalty card type identifier |
salon_group_id | integer <int32> ID of the chain where the map was created |
object An object that contains the "id" and "title" fields: map type identifier and map type name, respectively | |
object An object that contains the "id" and "title" fields: the identifier of the chain where the map type was created and the name of this chain | |
Array of objects An array with information about promotions linked to a loyalty card |
{- "id": 9210520,
- "balance": 100,
- "points": 0,
- "paid_amount": 1000,
- "sold_amount": 1000,
- "visits_count": 1,
- "number": 14507109210520,
- "type_id": 10992,
- "salon_group_id": 145071,
- "type": {
- "id": 10992,
- "title": "5+2",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Dough chain1."
}, - "programs": [
- {
- "id": 18005,
- "title": "5+2",
- "value": 0,
- "loyalty_type_id": 13,
- "item_type_id": 3,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 13,
- "title": "Discount for a given number of accumulated services",
- "is_discount": true,
- "is_cashback": false,
- "is_static": false,
- "is_accumulative": false
}, - "rules": [
- {
- "id": 72803,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 20,
- "parameter": 0
}, - {
- "id": 72804,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 10,
- "parameter": 0
}, - {
- "id": 72805,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 100,
- "parameter": 0
}
]
}
]
}
| Attribute | Type | Description | |----------------------|--------|----------------- ------------------------------| | loyalty_card_number | number | Loyalty card number | | loyalty_card_type_id | number | Loyalty card type identifier | | phone | number | Customer phone number in the format 70001234567 |
company_id required | number Branch ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
loyalty_card_number | string Loyalty card number |
loyalty_card_type_id | string Loyalty card type identifier |
phone | number Customer phone number in the format 70001234567 |
id | integer <int32> Loyalty card ID |
balance | number <float> Loyalty card balance |
points | integer <int32> |
paid_amount | number <float> Amount Paid |
sold_amount | number <float> Amount "Sold" |
visits_count | integer <int32> Number of visits |
number | string Card number |
type_id | integer <int32> Loyalty card type identifier |
salon_group_id | integer <int32> ID of the chain where the map was created |
object An object that contains the "id" and "title" fields: map type identifier and map type name, respectively | |
object An object that contains the "id" and "title" fields: the identifier of the chain where the map type was created and the name of this chain | |
Array of objects An array with information about promotions linked to a loyalty card |
{- "loyalty_card_number": 9090909,
- "loyalty_card_type_id": "8230",
- "phone": 79091552422
}
{- "id": 9250498,
- "balance": 0,
- "points": 0,
- "paid_amount": 16300,
- "sold_amount": 19320,
- "visits_count": 5,
- "number": "01010101",
- "type_id": 8230,
- "salon_group_id": 145071,
- "type": {
- "id": 8230,
- "title": "cashmesh",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Dough chain1."
}, - "programs": [
- {
- "id": 12720,
- "title": "cumulative cache paid",
- "value": 10,
- "loyalty_type_id": 7,
- "item_type_id": 0,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 7,
- "title": "Cumulative cashback (paid)",
- "is_discount": false,
- "is_cashback": true,
- "is_static": false,
- "is_accumulative": true
}, - "rules": [
- {
- "id": 71149,
- "loyalty_program_id": 12720,
- "loyalty_type_id": 7,
- "value": 10,
- "parameter": 100
}
]
}
]
}
Manual withdraw/deposit to loyalty card in chain
chain_id required | number Example: 123 ID of a chain. |
card_id required | number Loyalty card ID |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
amount required | number Withdraw/deposit amount. Positive for deposit, negative for withdraw. |
title | string Optional comment |
success | boolean (Successful response status) Response status. |
object (loyalty_card) Loyalty card | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "amount": 100.5,
- "title": "string"
}
{- "success": true,
- "data": {
- "id": 0,
- "balance": 0,
- "points": 0,
- "paid_amount": 0,
- "sold_amount": 0,
- "visits_count": 0,
- "number": "string",
- "type_id": 0,
- "salon_group_id": 0,
- "max_discount_percent": 0,
- "max_discount_amount": 0
}, - "meta": { }
}
chain_id required | integer Chain ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Card type identifier |
title | string Map type name |
[- {
- "id": 123,
- "title": "Loyalty card type"
}
]
Manual withdraw/deposit to loyalty card in company
company_id required | number Example: 123 ID of a company. |
card_id required | number Loyalty card ID |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
amount required | number Withdraw/deposit amount. Positive for deposit, negative for withdraw. |
title | string Optional comment |
success | boolean (Successful response status) Response status. |
object (loyalty_card) Loyalty card | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "amount": 100.5,
- "title": "string"
}
{- "success": true,
- "data": {
- "id": 0,
- "balance": 0,
- "points": 0,
- "paid_amount": 0,
- "sold_amount": 0,
- "visits_count": 0,
- "number": "string",
- "type_id": 0,
- "salon_group_id": 0,
- "max_discount_percent": 0,
- "max_discount_amount": 0
}, - "meta": { }
}
Returns a list of card types that are available for issuance to a salon client.
| Attribute | Type | Description | |----------------|--------|----------------------- -------------------------------------------------- --------------------------------------------| | id | int | Card type identifier | | title | string | Map type name | | salon_group_id | int | ID of the chain where the map type was created | | salon_group | object | An object that contains the "id" and "title" fields: identifier of the chain where the map type was created and the name of this chain |
company_id required | number Example: 12345 Company ID |
phone required | number Example: 70001234567 Customer phone number |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Card type identifier |
title | string Map type name |
salon_group_id | integer <int32> ID of the chain where the map type was created |
object An object that contains the "id" and "title" fields: the identifier of the chain where the map type was created and the name of this chain |
[- {
- "id": 10992,
- "title": "Cashback",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Chain 1"
}
}, - {
- "id": 8230,
- "title": "Referral program",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Chain 1"
}
}
]
Applying a promotion to a visit, it only makes sense if there is a visit
company_id required | number Branch ID |
card_id required | number Client card ID |
program_id required | number ID of the promotion linked to the card |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Record ID |
visit_id required | number Visit ID |
payment_transactions | Array of objects Array with information about the financial transactions of the record |
Array of objects An array with information about applied loyalty transactions in a visit | |
object Object with information about KKM write transactions | |
Array of objects Array with information about goods and services of the record |
{- "record_id": 0,
- "visit_id": 0
}
{- "payment_transactions": [ ],
- "loyalty_transactions": [
- {
- "id": 22985556,
- "status_id": 1,
- "amount": 20,
- "type_id": 1,
- "program_id": 20802,
- "card_id": 9223622,
- "salon_group_id": 145071,
- "item_id": 5048384,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96063258,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Promotion Discount"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "test two",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Deep bikini",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Cancellation of the promotion applied to the visit.
company_id required | number Branch ID |
card_id required | number Client card ID |
program_id required | number ID of the promotion linked to the card |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Record ID |
visit_id required | number Visit ID |
payment_transactions | Array of objects Array with information about the financial transactions of the record |
loyalty_transactions | Array of objects An array with information about applied loyalty transactions in a visit |
object Object with information about KKM write transactions | |
Array of objects Array with information about goods and services of the record |
{- "payment_transactions": [ ],
- "loyalty_transactions": [ ],
- "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "test two",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Deep bikini",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Write-off of bonuses from the card The amount will not exceed the balance for payment If 0, then there will be no transaction
company_id required | number Branch ID |
card_id required | number Client card ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Record ID |
visit_id required | number Visit ID |
amount required | number Number of points to redeem |
payment_transactions | Array of objects Array with information about the financial transactions of the record |
Array of objects An array with information about applied loyalty transactions in a visit | |
object Object with information about KKM write transactions | |
Array of objects Array with information about goods and services of the record |
{- "payment_transactions": [ ],
- "loyalty_transactions": [
- {
- "id": 22985556,
- "status_id": 1,
- "amount": 20,
- "type_id": 1,
- "program_id": 20802,
- "card_id": 9223622,
- "salon_group_id": 145071,
- "item_id": 5048384,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96063258,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Promotion Discount"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "test two",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Deep bikini",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Cancellation of write-off from the loyalty card.
company_id required | number Branch ID |
card_id required | number Client card ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Record ID |
visit_id required | number Visit ID |
payment_transactions | Array of objects Array with information about the financial transactions of the record |
loyalty_transactions | Array of objects An array with information about applied loyalty transactions in a visit |
object Object with information about KKM write transactions | |
Array of objects Array with information about goods and services of the record |
{- "payment_transactions": [ ],
- "loyalty_transactions": [ ],
- "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "test two",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Deep bikini",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Applying a referral program to a visit
company_id required | number Branch ID |
group_id required | number ID of the chain where the referral program is configured |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Record ID |
visit_id required | number Visit ID |
referrer_phone required | number Phone number of the inviter |
payment_transactions | Array of objects Array with information about the financial transactions of the record |
Array of objects An array with information about applied loyalty transactions in a visit | |
object Object with information about KKM write transactions | |
Array of objects Array with information about goods and services of the record |
{- "payment_transactions": [ ],
- "loyalty_transactions": [
- {
- "id": 22989715,
- "status_id": 1,
- "amount": 100,
- "type_id": 1,
- "program_id": 12705,
- "card_id": 0,
- "salon_group_id": 145071,
- "item_id": 5048371,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96082477,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Promotion discount"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96082477,
- "item_id": 5048371,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "test",
- "amount": 1,
- "first_cost": 1000,
- "manual_cost": 1000,
- "discount": 0,
- "cost": 1000,
- "master_id": 548042,
- "good_id": 5048371,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}
]
}
List of transactions for loyalty promotions for this visit
visit_id required | number Visit ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Loyalty transaction ID |
status_id | integer <int32> Status ID |
amount | number <float> Transaction amount |
type_id | integer <int32> Transaction type identifier |
program_id | integer <int32> Loyalty program ID |
card_id | integer <int32> Loyalty card ID |
salon_group_id | integer <int32> ID of the chain to which the loyalty belongs |
item_id | integer <int32> Identifier of the product/service to which the promotion applies |
item_type_id | integer <int32> Operation type identifier |
item_record_id | integer <int32> Identifier of the record to which the service/product belongs |
goods_transaction_id | integer <int32> Commodity transaction ID |
is_discount | boolean Is a discount |
is_loyalty_withdraw | boolean Is the application of loyalty canceled |
object Loyalty type | |
object Promotion Information |
[- {
- "id": 22989715,
- "status_id": 1,
- "amount": 100,
- "type_id": 1,
- "program_id": 12705,
- "card_id": 0,
- "salon_group_id": 145071,
- "item_id": 5048371,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96082477,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Promotion discount"
}, - "program": {
- "id": 12705,
- "title": "invited",
- "value": 10,
- "loyalty_type_id": 1,
- "item_type_id": 0,
- "value_unit_id": 1,
- "group_id": 145071
}
}, - {
- "id": 22994127,
- "status_id": 1,
- "amount": 100,
- "type_id": 4,
- "program_id": 19044,
- "card_id": 9234863,
- "salon_group_id": 145071,
- "item_id": 0,
- "item_type_id": 0,
- "item_record_id": 0,
- "goods_transaction_id": 0,
- "is_discount": false,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 4,
- "title": "Referral program accrual"
}, - "program": {
- "id": 19044,
- "title": "inviter 2",
- "value": 100,
- "loyalty_type_id": 6,
- "item_type_id": 0,
- "value_unit_id": 2,
- "group_id": 145071
}
}
]
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "active": 0,
- "salon": 1,
- "service_category": 0,
- "service": 1,
- "good": 1,
- "master": 1,
- "client": 1,
- "record": 1,
- "goods_operations_sale": 1,
- "goods_operations_receipt": 1,
- "goods_operations_consumable": 1,
- "goods_operations_stolen": 1,
- "goods_operations_move": 1,
- "finances_operation": 1
}, - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
urls required | Array of arrays List of addresses to send notifications to |
active required | number 1 - notifications are active, 0 - not active |
salon | number 1 - send events by company entity, 0 - no send |
service_category | number 1 - send events by service category entity, 0 - do not send |
service | number 1 - send events by service entity, 0 - do not send |
good | number 1 - send events by product entity, 0 - don't send |
master | number 1 - send events by employee entity, 0 - don't send |
client | number 1 - send events by client entity, 0 - don't send |
record | number 1 - send events by record entity, 0 - do not send |
goods_operations_sale | number 1 - send events by the item sale entity, 0 - do not send |
goods_operations_receipt | number 1 - send events by the entity arrival of goods, 0 - do not send |
goods_operations_consumable | number 1 - send events by the consumable write-off entity, 0 - do not send |
goods_operations_stolen | number 1 - send events by the item write-off entity, 0 - do not send |
goods_operations_move | number 1 - send events by the item movement entity, 0 - no send |
finances_operation | number 1 - send events by entity financial operation, 0 - no send |
self_sending | number 1 - the webhook creator receives events that are initiated by him, 0 - does not receive |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "active": 0,
- "salon": 1,
- "service_category": 0,
- "service": 1,
- "good": 1,
- "master": 1,
- "client": 1,
- "record": 1,
- "goods_operations_sale": 1,
- "goods_operations_receipt": 1,
- "goods_operations_consumable": 1,
- "goods_operations_stolen": 1,
- "goods_operations_move": 1,
- "finances_operation": 1,
- "self_sending": 0
}
{- "success": true,
- "data": {
- "active": 0,
- "salon": 1,
- "service_category": 0,
- "service": 1,
- "master": 1,
- "client": 1,
- "record": 1,
- "goods_operations_sale": 1,
- "goods_operations_receipt": 1,
- "goods_operations_consumable": 1,
- "goods_operations_stolen": 1,
- "goods_operations_move": 1,
- "finances_operation": 1
}, - "meta": [ ]
}
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of business types found) |
{- "success": true,
- "data": [
- {
- "id": 10,
- "title": "Domestic services",
- "types": [
- {
- "id": 31,
- "title": "Studio",
- "business_group_id": 10
}
]
}, - {
- "id": 1,
- "title": "beauty",
- "types": [
- {
- "id": 1,
- "title": "Beauty Salons",
- "business_group_id": 1
}, - {
- "id": 25,
- "title": "Spa",
- "business_group_id": 1
}
]
}
], - "meta": {
- "count": 10
}
}
company_id required | number Company ID |
entity required | number Category object (0 - general tags, 1 - customer tags, 2 - post tags) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | number Category ID |
salon_id | number Branch ID |
title | string name of category |
color | string Label color in #RRGGBB format |
icon | string Icon name |
entity | number Category object (1 - category for customers, 2 - category for records) |
deleted | number Delete mark |
not_editable | number Whether category changes are allowed (1 - allowed, 0 - not allowed) |
[- {
- "id": "241625",
- "salon_id": "68570",
- "title": "The employee is important",
- "color": "#ff2828",
- "icon": "lock",
- "entity": "2",
- "deleted": "0",
- "not_editable": "1"
}, - {
- "id": "241626",
- "salon_id": "68570",
- "title": "The employee is not important",
- "color": "#009800",
- "icon": "unlock",
- "entity": "2",
- "deleted": "0",
- "not_editable": "1"
}
]
company_id required | number Company ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string name of category |
color | string Label color in #RRGGBB format |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status (false) |
data | string Contains null |
object Metadata (contains an error message) |
success | boolean Execution success status (false) |
data | string Contains null |
object Contains an array with possible error messages |
success | boolean Execution success status (false) |
data | string Contains null |
object Contains an array of possible error messages |
{- "success": true,
- "data": {
- "title": "test",
- "salon_id": 68570,
- "color": "#00ff11",
- "entity": 1,
- "id": "3599560"
}, - "meta": [ ]
}
company_id required | number Company ID |
title required | string name of category |
color required | string Label color in #RRGGBB format |
entity | number Category object (0 - general tags, 1 - customer tags, 2 - post tags) |
icon | string Icon name |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "title": "test",
- "salon_id": 68570,
- "color": "#00ff11",
- "entity": 1,
- "id": "3599560"
}, - "meta": [ ]
}
company_id required | number Company ID |
label_id required | number Tag ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string name of category |
color | string Label color in #RRGGBB format |
entity | number Category object (1 - category for customers, 2 - category for records) |
icon | string Icon name |
{- "title": "Testway2",
- "color": "#aa11ff",
- "entity": 2,
- "icon": "Test"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
company_id required | number Company ID |
label_id required | number Tag ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
company_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
object Metadata (contains the page number and the number of categories found) |
success | boolean Execution success status (false) |
data | string Contains null |
object Contains an array with possible error messages |
success | boolean Execution success status (false) |
data | string Contains null |
object Contains an array of possible error messages |
{- "success": true,
- "data": [
- {
- "id": 3,
- "salon_id": 4564,
- "title": "Regular customer",
- "color": "#1f1038",
- "icon": "tag",
- "entity": 1,
- "deleted": 1,
- "not_editable": 0
}
], - "meta": {
- "page": 1,
- "total_count": 25
}
}
A list of products and product categories can be obtained by requesting a branch ID.
The list can be filtered by the name or article of the product category, by the name, article or barcode of the product by passing the search_term
parameter.
The number of results is limited by the max_count
parameter.
If search_term
is not given, a list of root categories of the branch is output, ignoring max_count
. If search_term
is passed, search by category is performed first, then (if less than max_count
is found) by product
The list is an array of goods tree elements.
Product tree element has the following structure:
| Field | Type | Description | | -------------| ------- | -------------------------------------------------- ----------------------------------------- | | parent_id | number | Parent element ID (0 for root elements) | | item_id | number | Item ID (0 if item is a category) | | category_id | number | Product category ID (0 if the item is a product) | | title | string | Product name or product category | | is_chain | boolean | Is the element chain-bound? true - the element is connected to the chain, false - not connected | | is_category | boolean | Is the element a category? true - category, false - product | | is_item | boolean | Is the item a product? true - product, false - category |
company_id required | number Company ID |
search_term | string Search query by name, article number or barcode |
max_count | number The number of output lines per page. Maximum 100 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
object Metadata (contains the number of categories found) |
{- "success": true,
- "data": [
- {
- "parent_id": 0,
- "item_id": 0,
- "category_id": 123,
- "title": "Root category 1",
- "is_chain": true,
- "is_category": true,
- "is_item": false
}, - {
- "parent_id": 0,
- "item_id": 0,
- "category_id": 456,
- "title": "Root category 2",
- "is_chain": true,
- "is_category": true,
- "is_item": false
}
], - "meta": {
- "count": 2
}
}
##№ Composition of the product category
Information on a product category and its descendants can be obtained by making a request specifying the branch ID and product category.
Pagination is supported, specified by the page
and count
parameters.
Composition of a product category has the following structure:
| Field | Type | Description | | ----------------| ------- | -------------------------------------------------- ------------------------------------------------- | | parent_id | number | Parent element ID (0 for root elements) | | item_id | number | Item ID (always 0) | | category_id | number | Product category ID | | title | string | Product category name | | is_chain | boolean | Is the element chain-bound? true - the element is connected to the chain, false - not connected | | is_category | boolean | Is the element a category? always true | | is_item | boolean | Is the item a product? always false | | children | Array of objects(Product tree element) | Child elements of a product category | | children_count | number | Total number of child products and categories (no recursion) |
company_id required | number Company ID |
category_id required | number Product Category ID |
page | number Page number |
count | number The number of products displayed on the page. Maximum 1000 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data |
{- "success": true,
- "data": {
- "parent_id": 0,
- "item_id": 0,
- "category_id": 123,
- "title": "Root category 1",
- "is_chain": false,
- "is_category": true,
- "is_item": false,
- "children": [
- {
- "parent_id": 123,
- "item_id": 0,
- "category_id": 456,
- "title": "Child category",
- "is_chain": false,
- "is_category": true,
- "is_item": false
}, - {
- "parent_id": 123,
- "item_id": 789,
- "category_id": 0,
- "title": "Child product",
- "is_chain": false,
- "is_category": false,
- "is_item": true
}
], - "children_count": 2
}
}
company_id required | number Company ID |
parent_category_id required | number ID of the parent product category. Default 0 - top-level categories are displayed (optional) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Category 1"
}, - {
- "id": "2",
- "title": "Category 2"
}
], - "meta": [ ]
}
company_id required | number Company ID |
id | number Product category ID (you can specify several additional parameters &ids[]={id} |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Category 1"
}, - {
- "id": "2",
- "title": "Category 2"
}
], - "meta": [ ]
}
company_id required | number Company ID |
parent_category_id required | number ID of the parent product category |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 25214,
- "title": "Doughter 1",
- "parent_category_id": 24843
}, - {
- "id": 25213,
- "title": "Root 1"
}, - {
- "id": 25219,
- "title": "Root 2"
}
], - "meta": {
- "count": 94
}
}
The method allows you to create a product category.
company_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Product category name |
parent_category_id | integer <int32> Parent category ID (optional, but can be 0 or null if you don't need to specify the parent category) |
article | string vendor code |
comment | string A comment |
success | boolean Execution success status |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "title": "Manicure",
- "parent_category_id": 123456,
- "article": "123article",
- "comment": "Category of products for manicure"
}
{- "success": true,
- "data": {
- "id": 123456,
- "title": "Manicure",
- "parent_category_id": 123457
}, - "meta": [ ]
}
The method allows you to edit the product category
company_id required | number Branch ID |
category_id required | number Product category ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Product category name |
parent_category_id | integer <int32> Parent category ID (optional, but can be 0 or null if you don't need to specify the parent category) |
article | string vendor code |
comment | string A comment |
success | boolean Execution success status |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "title": "Manicure",
- "parent_category_id": 123456,
- "article": "123article",
- "comment": "Category of products for manicure"
}
{- "success": true,
- "data": {
- "id": 123456,
- "title": "Manicure",
- "parent_category_id": 123457
}, - "meta": [ ]
}
The method allows you to delete a product category
company_id required | number Branch ID |
category_id required | number Product category ID |
Accept required | string e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
company_id required | number Branch ID |
search | string Example: search='test' parameter for searching by the name of those maps |
page | number Example: page=1 page number |
count | number Example: count=20 number of those cards per page |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of data objects | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Tech map 1",
- "technological_card_items": [
- {
- "id": 3,
- "technological_card_id": 1,
- "storage_id": 4234,
- "good_id": 34234,
- "amount": 12,
- "unit": "l",
- "price": 0.0742,
- "title": "Consumable 3"
}
]
}, - {
- "id": "2",
- "title": "Tech map 2",
- "technological_card_items": [
- {
- "id": 4,
- "technological_card_id": 2,
- "storage_id": 4234,
- "good_id": 34235,
- "amount": 10,
- "unit": "l",
- "price": 0.02412,
- "title": "Consumable 4"
}
]
}
], - "meta": [ ]
}
company_id required | number Branch ID |
staffId required | number Employee ID |
serviceId required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of data objects | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": "1",
- "title": "Tech map 1",
- "technological_card_items": [
- {
- "id": 3,
- "technological_card_id": 1,
- "storage_id": 4234,
- "good_id": 34234,
- "amount": 12,
- "unit": "l",
- "price": 0.0742,
- "title": "Consumable 3"
}
]
}, - "meta": [ ]
}
company_id required | number Branch ID |
record_id required | number Record ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "service_id": 21558,
- "record_id": 1233243,
- "technological_cards": [
- {
- "id": 36069,
- "title": "Tech map",
- "technological_card_items": [
- {
- "id": 208568,
- "technological_card_id": 36069,
- "storage_id": 91303,
- "good_id": 6858783,
- "amount": 10,
- "price": 1000,
- "good": {
- "id": 6858783,
- "title": "Product",
- "unit": "G"
}
}
]
}
], - "consumables": [
- {
- "goods_transaction_id": 2180771,
- "record_id": 121793129,
- "service_id": 695486,
- "storage_id": 91303,
- "good_id": 6858783,
- "price": 1000,
- "amount": 10,
- "good": {
- "id": 6858783,
- "title": "Product",
- "unit": "G"
}
}
]
}
], - "meta": [ ]
}
company_id required | number Branch ID |
record_id required | number Record ID |
service_id required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
delete_consumables | number Whether to remove consumables along with deleting those cards. Default 0 |
success | boolean Execution success status (true) |
Array of objects Array with object | |
object Metadata (empty array0) |
{- "success": true,
- "data": [
- {
- "service_id": 7224099,
- "record_id": 310013764,
- "technological_cards": [ ],
- "consumables": [ ]
}
], - "meta": {
- "count": 1
}
}
company_id required | number Branch ID |
record_id required | number Record ID |
service_id required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
delete_consumables | number Whether to remove consumables along with deleting those cards. Default 0 |
success | boolean Execution success status (true) |
Array of objects Array with object | |
object Metadata (empty array0) |
{- "success": true,
- "data": [
- {
- "service_id": 7224099,
- "record_id": 310013764,
- "technological_cards": [ ],
- "consumables": [ ]
}
], - "meta": {
- "count": 1
}
}
company_id required | number Branch ID |
record_id required | number Record ID |
service_id required | number Service ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
goods_transaction_id required | number commodity transaction id |
record_id required | number post id |
service_id required | number service id |
storage_id required | number warehouse id, |
good_id required | number product id, |
price required | number the cost of the consumable in the record, |
amount required | number the number of consumables in the record, |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "goods_transaction_id": 0,
- "record_id": 0,
- "service_id": 0,
- "storage_id": 0,
- "good_id": 0,
- "price": 0,
- "amount": 0
}
{- "success": true,
- "data": [
- {
- "service_id": 21558,
- "record_id": 1233243,
- "technological_cards": [
- {
- "id": 36069,
- "title": "Tech map",
- "technological_card_items": [
- {
- "id": 208568,
- "technological_card_id": 36069,
- "storage_id": 91303,
- "good_id": 6858783,
- "amount": 10,
- "price": 1000,
- "good": {
- "id": 6858783,
- "title": "Product",
- "unit": "G"
}
}
]
}
], - "consumables": [
- {
- "goods_transaction_id": 2180771,
- "record_id": 121793129,
- "service_id": 695486,
- "storage_id": 91303,
- "good_id": 6858783,
- "price": 1000,
- "amount": 10,
- "good": {
- "id": 6858783,
- "title": "Product",
- "unit": "G"
}
}
]
}
], - "meta": [ ]
}
company_id required | number Company ID |
page | number Example: page=1 page number |
count | number Example: count=20 number of transactions per page |
start_date | string Example: start_date='' period start date |
end_date | string Example: end_date='' period end date |
document_id | string Document ID |
changed_after | string Filtering commodity transactions modified/created since a specific date and time |
changed_before | string Filtering commodity transactions modified/created before a specific date and time |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 123456789,
- "document_id": 22256643,
- "type_id": "987654321",
- "type": "Something",
- "good": {
- "id": "111222333",
- "title": "Something"
}, - "storage": {
- "id": "333222111",
- "title": "Storage 1"
}, - "unit": {
- "id": "333222111",
- "title": "milliliter"
}, - "operation_unit_type": 1,
- "create_date": "2012-12-21T19:08:00+0400",
- "last_change_date": "2020-02-01T12:00:00+0400",
- "cost_per_unit": "1.07",
- "cost": "0.00",
- "discount": "10.00",
- "master": {
- "id": "112233445",
- "title": "James Smith"
}, - "supplier": {
- "id": "11112222",
- "title": "Best Supplier Ever"
}, - "record_id": 1,
- "service": {
- "id": "1234321",
- "title": "Service 4"
}, - "clients": {
- "id": "4321234",
- "name": "George Smith",
- "phone": 79876543210
}
}
], - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
document_id required | number <float> Document ID |
good_id required | number Item ID |
amount required | number Quantity |
cost_per_unit required | number <float> Unit cost |
discount required | number Discount in % |
cost required | number <float> Total transaction amount |
operation_unit_type required | number unit type: 1 - for sale, 2 - for write-off |
master_id | number ID of the artist who sold the item |
client_id | number ID of the customer who bought the item |
supplier_id | number Vendor ID |
comment | string A comment |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "document_id": 22254960,
- "good_id": 232674,
- "amount": 1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "operation_unit_type": 1,
- "master_id": 26781,
- "client_id": 0,
- "supplier_id": 0,
- "comment": "Transaction comment"
}
{- "success": true,
- "data": {
- "id": 3428010,
- "document_id": 22254960,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 26781,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "last_change_date": "2020-02-01T12:00:00+0400",
- "comment": "Transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe"
}, - "storage": {
- "id": 36539,
- "title": "Products"
}, - "supplier": [ ],
- "client": [ ],
- "master": {
- "id": "26781",
- "name": "Angelina Jolie"
}, - "unit": {
- "id": 1,
- "title": "Thing"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
transaction_id required | number transaction ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 3428010,
- "document_id": 22254960,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 26781,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "Transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe",
- "unit": "PC.",
- "value": "delete yy",
- "label": "delete yy",
- "article": "",
- "category": "goose category",
- "category_id": 303603,
- "salon_id": 91372,
- "good_id": 15086312,
- "cost": 500,
- "unit_id": 216760,
- "unit_short_title": "PC",
- "service_unit_id": 216760,
- "service_unit_short_title": "PC",
- "actual_cost": 0,
- "unit_actual_cost": 0,
- "unit_actual_cost_format": "0 USD",
- "unit_equals": 1,
- "barcode": "",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "actual_amounts": [ ],
- "last_change_date": "2021-03-05T18:21:34+0400"
}, - "storage": {
- "id": 36539,
- "title": "Products"
}, - "sale_unit": null,
- "service_unit": null,
- "supplier": [ ],
- "client": [ ],
- "master": {
- "id": "26781",
- "name": "Angelina Jolie"
}, - "unit": {
- "id": 1,
- "title": "Thing",
- "short_title": "PC."
}
}, - "meta": [ ]
}
transaction_id required | number transaction ID |
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
document_id required | number <float> Document ID |
good_id required | number Item ID |
amount required | number Quantity |
cost_per_unit required | number <float> Unit cost |
discount required | number Discount in % |
cost required | number <float> Total transaction amount |
operation_unit_type required | number unit type: 1 - for sale, 2 - for write-off |
master_id | number ID of the artist who sold the item |
client_id | number ID of the customer who bought the item |
supplier_id | number Vendor ID |
comment | string A comment |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 3428010,
- "document_id": 22254960,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "operation_unit_type": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 26781,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "last_change_date": "2020-02-01T12:00:00+0400",
- "comment": "Updated transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe"
}, - "storage": {
- "id": 36539,
- "title": "Products"
}, - "supplier": [ ],
- "client": [ ],
- "master": {
- "id": "26781",
- "name": "Angelina Jolie"
}, - "unit": {
- "id": 1,
- "title": "Thing"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
transaction_id required | number transaction ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Creating a warehouse operation involves creating a document and several commodity transactions within a single API request. When specifying the sign of payment, the necessary financial transactions are created
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type_id required | number Document type (sale 1, receipt 3, write-off 4, transfer 5) |
comment | string A comment |
create_date required | string <date-time> Document creation date |
master_id | number Master ID |
storage_id required | number Warehouse ID |
goods_transactions required | Array of objects An array of objects containing transaction parameters, similar to a request to create a commodity transaction |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "document": {
- "id": 22255506,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "storage_id": 91271,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1254,
- "comment": "test document comment",
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "storage": {
- "id": 91271,
- "title": "Secret place"
}, - "company": {
- "id": 4564,
- "title": "Business example",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "zip": "",
- "phones": [ ],
- "site": "www.example.com"
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "+1-315-555-0175"
}
}, - "transactions": [
- {
- "id": 3428012,
- "document_id": 22255506,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "storage_id": 91271,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 0,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "test transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe"
}, - "storage": {
- "id": 91271,
- "title": "Secret place"
}, - "supplier": [ ],
- "client": [ ],
- "master": [ ],
- "unit": {
- "id": 1,
- "title": "Thing"
}
}
]
}, - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type_id required | number Document type (sale 1, receipt 3, write-off 7) |
comment | string A comment |
storage_id required | number Warehouse ID |
create_date required | string <date-time> Date of the warehouse transaction |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "type_id": 1,
- "comment": "Document comment",
- "storage_id": 36539,
- "create_date": "2014-09-21T23:00:00.000+03:00"
}
{- "success": true,
- "data": {
- "id": 22255503,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "storage_id": 36539,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1251,
- "comment": "Document comment",
- "create_date": "2017-04-24 20:00:00",
- "storage": {
- "id": 36539,
- "title": "Products"
}, - "company": {
- "id": 4564,
- "title": "Business example",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "New York, 787 Jackson Drive",
- "ccoordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "zip": "",
- "phones": [ ],
- "site": "www.example.com"
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "+1-315-555-0175"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
document_id required | number Document ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 22255503,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "storage_id": 36539,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1251,
- "comment": "Document comment",
- "create_date": "2017-04-24 20:00:00",
- "storage": {
- "id": 36539,
- "title": "Products"
}, - "company": {
- "id": 4564,
- "title": "Business example",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "zip": "",
- "phones": [ ],
- "site": "www.example.com"
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "+1-315-555-0175"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
document_id required | number Document ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type_id required | number Document type (sale 1, receipt 3, write-off 7) |
comment | string A comment |
storage_id required | number Warehouse ID |
create_date required | string <date-time> Date of the warehouse transaction |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "id": 22255503,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Sale of goods"
}, - "storage_id": 36539,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1251,
- "comment": "Updated document comment",
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "storage": {
- "id": 36539,
- "title": "Products"
}, - "company": {
- "id": 4564,
- "title": "Business example",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "zip": "",
- "phones": [ ],
- "site": "www.example.com"
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "+1-315-555-0175"
}
}, - "meta": [ ]
}
company_id required | number Company ID |
document_id required | number Document ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
document_id required | number Document ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 9053737,
- "date": "2014-09-21T23:00:00.000+03:00",
- "type_id": 2640,
- "expense_id": 2640,
- "account_id": 35501,
- "amount": 434,
- "client_id": 4240788,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "Transaction comment",
- "item_id": 0,
- "target_type_id": 0,
- "record_id": 0,
- "expense": {
- "id": 2640,
- "title": "Provision of corporate services"
}, - "account": {
- "id": 35501,
- "title": "Cash register",
- "type_id": 0,
- "type": 0,
- "comment": "",
- "company_id": 4564
}, - "client": {
- "id": "4240788",
- "name": "Client",
- "phone": "+1-315-555-0175"
}, - "master": [ ],
- "supplier": [ ]
}, - {
- "id": 9053738,
- "date": "2014-09-21T23:00:00.000+03:00",
- "type_id": 2640,
- "expense_id": 2640,
- "account_id": 35501,
- "amount": 434,
- "client_id": 4240788,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "Transaction comment",
- "item_id": 0,
- "target_type_id": 0,
- "record_id": 0,
- "expense": {
- "id": 2640,
- "title": "Provision of corporate services"
}, - "account": {
- "id": 35501,
- "title": "Cash register",
- "type_id": 0,
- "type": 0,
- "comment": "",
- "company_id": 4564
}, - "client": {
- "id": "4240788",
- "name": "Client",
- "phone": "+1-315-555-0175"
}, - "master": [ ],
- "supplier": [ ]
}
], - "meta": [ ]
}
document_id required | number Document ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (number of transactions found) |
{- "success": true,
- "data": [
- {
- "id": 3728232,
- "document_id": 22256643,
- "type_id": 1,
- "company_id": 4564,
- "good_id": 587018,
- "amount": -10,
- "cost_per_unit": 100,
- "discount": 0,
- "cost": 1000,
- "unit_id": 88272,
- "operation_unit_type": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "record_id": 0,
- "client_id": 0,
- "master_id": 49754,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "",
- "service_id": 0,
- "user_id": 3,
- "deleted": false,
- "pkg_amount": 0
}, - {
- "id": 3728233,
- "document_id": 22256643,
- "type_id": 1,
- "company_id": 4564,
- "good_id": 232674,
- "amount": -10,
- "cost_per_unit": 127.5,
- "discount": 0,
- "cost": 1275,
- "unit_id": 1,
- "operation_unit_type": 2,
- "storage_id": 36539,
- "supplier_id": 0,
- "record_id": 0,
- "client_id": 0,
- "master_id": 49754,
- "create_date": "2014-09-21T23:00:00.000+03:00",
- "comment": "",
- "service_id": 0,
- "user_id": 3,
- "deleted": false,
- "pkg_amount": 0
}
], - "meta": {
- "count": 2
}
}
Creating a transaction with a personal account involves creating a document, a transaction with a personal account, and a financial transaction within a single API request.
salon_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
client_id required | number ID of the client, the owner of the personal account |
deposit_id required | number personal account ID |
amount required | number replenishment amount |
master_id | number Employee ID |
account_id required | number Checkout ID for payment |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "document": {
- "id": 1,
- "user_id": 1,
- "salon_id": 1,
- "type_id": 9,
- "type": {
- "id": 9,
- "title": "Account replenishment (advance payment)"
}, - "comment": "",
- "number": 1,
- "salon": {
- "id": 1,
- "title": "Branch in New York",
- "public_title": "Branch in New York",
- "business_group_id": 1,
- "business_type_id": 1,
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "timezone_name": "America/New_York",
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "zip": "129090",
- "phone": "+1-315-555-0175",
- "phones": [ ],
- "site": "www.example.com",
- "allow_delete_record": true,
- "allow_change_record": true
}, - "user": {
- "id": 1,
- "name": "James Smith",
- "phone": "+1-315-555-0175"
}
}, - "deposits_transactions": [
- {
- "id": 1,
- "salon_id": 1,
- "salon_group_id": 1,
- "document_id": 1,
- "deposit_id": 1,
- "deposit_type_id": 1,
- "master_id": 1,
- "user_id": 1,
- "amount": 100.5,
- "comment": "",
- "date_create": "2014-09-21T23:00:00.000+03:00",
- "deleted": false,
- "deposit": {
- "id": 1,
- "deposit_type_id": 1,
- "salon_group_id": 1,
- "initial_balance": 10000,
- "balance": 12239.56,
- "blocked": false,
- "date_create": "2014-09-21T23:00:00.000+03:00"
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Account type 1",
- "date_create": "2014-09-21T23:00:00.000+03:00",
- "deleted": false
}
}
], - "payment_transactions": [
- {
- "id": 1,
- "document_id": 1,
- "date": "2014-09-21T23:00:00.000+03:00",
- "type_id": 10,
- "expense_id": 10,
- "account_id": 1,
- "amount": 100.5,
- "client_id": 1,
- "master_id": 1,
- "supplier_id": 0,
- "comment": "",
- "item_id": 1,
- "target_type_id": 0,
- "record_id": 0,
- "goods_transaction_id": 0,
- "type": {
- "id": 10,
- "title": "Refill"
}
}
]
}, - "meta": [ ]
}
company_id required | number Branch ID |
client_id required | number Client ID |
Accept | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
{- "success": true,
- "data": [
- {
- "deposit": {
- "id": 1,
- "salon_group_id": 1,
- "deposit_type_id": 1,
- "initial_balance": 0,
- "balance": 1000,
- "blocked": false,
- "date_create": "2014-09-21T23:00:00.000+03:00"
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Account type header",
- "date_create": "2014-09-21T23:00:00.000+03:00",
- "deleted": false
}
}
], - "meta": {
- "count": 1
}
}
chain_id required | number Chain ID |
balance_from | number Minimum balance for filtering |
balance_to | number Maximum balance for filtering |
page | number Page number |
limit | number Number of items per page |
Accept | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
{- "success": true,
- "data": [
- {
- "deposit": {
- "id": 1,
- "salon_group_id": 1,
- "deposit_type_id": 1,
- "initial_balance": 0,
- "balance": 1000,
- "blocked": false,
- "date_create": "2014-09-21T23:00:00.000+03:00"
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Account type header",
- "date_create": "2014-09-21T23:00:00.000+03:00",
- "deleted": false
}, - "client": {
- "id": 1,
- "name": "Client name",
- "phone": 71234567890
}
}
], - "meta": {
- "count": 1
}
}
chain_id required | number Chain ID |
phone required | number Customer phone number |
Accept | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
{- "success": true,
- "data": [
- {
- "deposit": {
- "id": 1,
- "salon_group_id": 1,
- "deposit_type_id": "1,",
- "initial_balance": 0,
- "balance": 1000,
- "blocked": false,
- "date_create": "2014-09-21T23:00:00.000+03:00"
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Account type header",
- "date_create": "2014-09-21T23:00:00.000+03:00",
- "deleted": false
}
}
], - "meta": {
- "count": 1
}
}
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "USA",
- "full_title": "United States",
- "phone_code": "1",
- "phone_template": "+1 xxx xxx-xx-xx",
- "phone_example": "+1 760 230-63-78",
- "currency": "USD",
- "exchange": "1"
}, - {
- "id": "2",
- "title": "Latvia",
- "full_title": "Latvian republic",
- "phone_code": "371",
- "phone_template": "+371 xx xxx xxx",
- "phone_example": "+371 21 654 987",
- "currency": "EUR",
- "exchange": "50"
}
], - "meta": [ ]
}
The store chain object has the following fields:
Field | Type | Description |
---|---|---|
id | number | Salon chain ID |
title | string | Salon chain name |
companies | array | List of chain salons |
access | object | Object with access rights for chain management |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data |
{- "success": true,
- "data": [
- {
- "id": 509,
- "title": "Chain of salons in New York",
- "companies": [
- {
- "id": 38726,
- "title": "Salon in New York"
}, - {
- "id": 39287,
- "title": "Salon in New York"
}
], - "access": {
- "settings_access": "1",
- "clients_access": "1",
- "users_access": "1",
- "loyalty_access": "1",
- "loyalty_cards_manual_transactions_access": "1",
- "chain_services_access": "1"
}
}, - {
- "id": 508,
- "title": "Chain of salons in New York",
- "companies": [
- {
- "id": 38545,
- "title": "Salon in New York"
}, - {
- "id": 38704,
- "title": "Salon in New York"
}
], - "access": {
- "settings_access": "1",
- "clients_access": "1",
- "users_access": "1",
- "loyalty_access": "1",
- "loyalty_cards_manual_transactions_access": "1",
- "chain_services_access": "1"
}
}
]
}
start_date: Report date
master_id: Employee ID
company_id required | integer Company ID |
start_date | string Example: start_date='' period start date |
master_id | integer Example: master_id=0 Employee ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "stats": {
- "clients": 7,
- "clients_average": 123.45,
- "records": 14,
- "records_average": 4231.51,
- "visit_records": 13,
- "visit_records_average": 100500.01,
- "non_visit_records": 1,
- "non_visit_records_average": 200,
- "targets": 14,
- "targets_paid": 10255,
- "goods": 4,
- "goods_paid": 12452.18,
- "certificates": 1,
- "certificates_paid": 9876,
- "abonement": 0,
- "abonement_paid": 0
}, - "paids": {
- "accounts": [
- {
- "title": "Cards",
- "amount": 6987
}, - {
- "title": "Cash",
- "amount": 54321.13
}, - {
- "title": "Cash register",
- "amount": 12531
}
], - "discount": [
- {
- "title": "Advance Discount",
- "amount": 1816.875
}, - {
- "title": "Written off bonuses",
- "amount": 800
}, - {
- "title": "Promotion discount",
- "amount": 123
}
], - "total": {
- "accounts": 2657.13,
- "discount": 1241.875
}
}, - "z_data": {
- "2014-09-21T23:00:00.000+03:00": [
- {
- "client_id": "11223344",
- "client_name": "John Smith",
- "client_phone": "+1-315-555-0175",
- "masters": [
- {
- "master_id": "321123",
- "master_name": "Robert Brown",
- "service": [
- {
- "item_title": "Highlighting from 9 strands",
- "first_cost": 3500,
- "discount": 0,
- "result_cost": 3500,
- "transactions": [
- {
- "accounts_amount": 0,
- "loyalty_amount": 700,
- "payment_type": "Card: Gold Card"
}, - {
- "accounts_amount": 0,
- "loyalty_amount": 100,
- "payment_type": "Card: Gold Card"
}, - {
- "accounts_amount": 0,
- "loyalty_amount": 1,
- "payment_type": "Card: Bonus card"
}
]
}
], - "good": [
- {
- "item_title": "Spray For Hair",
- "first_cost": 15,
- "discount": 2.25,
- "result_cost": 12.75,
- "transactions": [
- {
- "accounts_amount": 12.75,
- "loyalty_amount": 0,
- "payment_type": "Cash"
}
]
}
], - "others": {
- "item_title": "Other operations",
- "first_cost": 347,
- "discount": 0,
- "result_cost": 347,
- "transactions": [
- {
- "accounts_amount": 23,
- "loyalty_amount": 0,
- "payment_type": "Cash"
}, - {
- "accounts_amount": 324,
- "loyalty_amount": 0,
- "payment_type": "Cash"
}
]
}
}
]
}
]
}, - "currency": "USD"
}, - "meta": [ ]
}
field_category required | string Example: record Field category.
|
company_id required | integer Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "salon_id": 1,
- "custom_field": {
- "id": 1,
- "code": "my_text_field",
- "show_in_ui": true,
- "title": "test field",
- "user_can_edit": true,
- "type": {
- "code": "text",
- "title": "Text"
}
}
}
], - "meta": [ ]
}
To add the field, the user must be added to the Chain associated with the location, and have access rights in the section:
Settings - Access to the Additional Fields section - Creating add. fields
field_category required | string Example: record Field category.
|
company_id required | integer Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type required | string Field type |
code required | string Field ID |
title required | string Field name |
user_can_edit required | boolean Can the user edit the field |
show_in_ui required | boolean Whether to show the field in the interface |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "type": "text",
- "code": "my_text_field",
- "title": "test field",
- "user_can_edit": true,
- "show_in_ui": true
}
{- "success": true,
- "data": {
- "id": 1,
- "salon_id": 1,
- "custom_field": {
- "id": 1,
- "code": "my_text_field",
- "show_in_ui": true,
- "title": "test field",
- "user_can_edit": true,
- "type": {
- "code": "text",
- "title": "Text"
}
}
}, - "meta": [ ]
}
To update the field, the user must be added to the Chain associated with the location, and have access rights in the section:
Settings - Access to the Additional Fields section - Modify add. fields
field_category required | string Example: record Field category.
|
company_id required | integer Company ID |
field_id required | integer field ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type required | string Field type |
code required | string Field ID |
title required | string Field name |
user_can_edit required | boolean Can the user edit the field |
show_in_ui required | boolean Whether to show the field in the interface |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "type": "text",
- "code": "my_text_field",
- "title": "test field",
- "user_can_edit": true,
- "show_in_ui": true
}
{- "success": true,
- "data": null,
- "meta": {
- "message": "Saved"
}
}
To remove the field, the user must be added to the Chain associated with the location, and have access rights in the section:
Settings - Access to the Additional Fields section - Remove add. fields
field_category required | string Example: record Field category.
|
company_id required | integer Company ID |
field_id required | integer field ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": null,
- "meta": {
- "message": "Deleted"
}
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
{- "success": true,
- "data": {
- "agreement": {
- "content": "text of the agreement"
}
}, - "meta": [ ]
}
The transferred phone number is checked for compliance with Altegio rules.
phone required | string Checked phone number |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": {
- "is_valid": true
}, - "meta": [ ]
}
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
id | string Unique ID of the sales document |
date | string <date-time> Date and time the document was sent for printing (in ISO-8601 format) |
document_id | integer <int32> Internal document identifier in the Altegio system |
type | string Enum: "sale" "return" Document type (list of possible values) |
print_receipt | boolean Whether to print a paper check at the checkout during fiscalization |
object Client entity | |
Array of objects List of positions in the check | |
Array of objects List of fees applied per check | |
tax | string Type of taxation system (slug from the list of taxation systems) |
object The Essence of a Cashier | |
object Options for the connected POS terminal | |
callback_url | string Link to update fiscal status |
custom_text | string Arbitrary text for printing on a receipt |
{- "id": "d72fece5-6825-4895-9395-0133195612a4",
- "date": "2014-09-21T23:00:00.000+03:00",
- "document_id": 239083104,
- "type": "sale",
- "print_receipt": true,
- "positions": [
- {
- "type": "service",
- "title": "Consultation",
- "price": 13.19,
- "quantity": 1,
- "discount_amount": 2.54,
- "vat": "ru_vat_10",
- "payment_method": "payment",
- "barcode": "12345"
}
], - "payments": [
- {
- "type": "card",
- "sum": 5.55
}, - {
- "type": "cash",
- "sum": 4.55
}, - {
- "type": "prepaid",
- "sum": 0.55
}
], - "tax": "ru_osn",
- "cashier": {
- "uid": "4895-9395-0133195612a4",
- "name": "John Smith",
- "position": "Cashier"
}, - "pos": {
- "enabled": true,
- "slip_count": 2
}, - "custom_text": "some custom text"
}
{- "id": "d72fece5-6825-4895-9395-0133195612a4",
- "status": "success",
- "code": 0,
- "message": "OK"
}
A list of tax systems and VAT available for a country can be obtained by requesting the country ID for which the list is to be obtained. The country ID can be obtained from list of countries.
The list is an array of tax systems with a nested VAT array for each tax system.
The taxation system has the following structure:
Field | Type | Description |
---|---|---|
title | string | Name of taxation system |
slug | string | Code name for the taxation system |
vats | Array of objects(Vat[]) | List of available VAT for the taxation system |
VAT has the following structure:
Field | Type | Description |
---|---|---|
title | string | Title VAT |
slug | string | Code name VAT |
countryId required | number Example: 1 Country ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of taxation systems found) |
{- "success": true,
- "data": [
- {
- "title": "General DOS",
- "slug": "ru_osn",
- "vats": [
- {
- "title": "0%",
- "slug": "ru_vat_0"
}, - {
- "title": "10%",
- "slug": "ru_vat_10"
}, - {
- "title": "20%",
- "slug": "ru_vat_20"
}, - {
- "title": "is not a subject to a tax",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Simplified simplified tax system (Income)",
- "slug": "ru_usn",
- "vats": [
- {
- "title": "is not a subject to a tax",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Simplified simplified tax system (Income minus Expense)",
- "slug": "ru_usnr",
- "vats": [
- {
- "title": "is not a subject to a tax",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Single tax on imputed income UTII",
- "slug": "ru_envd",
- "vats": [
- {
- "title": "is not a subject to a tax",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Unified agricultural tax UST",
- "slug": "ru_esn",
- "vats": [
- {
- "title": "is not a subject to a tax",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Patent taxation system",
- "slug": "ru_psn",
- "vats": [
- {
- "title": "is not a subject to a tax",
- "slug": "ru_vat_none"
}
]
}
], - "meta": {
- "count": 6
}
}
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Conetnt-Type required | string application/json |
Authorization required | string Bearer partner_token |
{ }
chain_id required | integer Chain ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Template ID |
type | string Enum: "big" "mid" "small" "custom" Template option |
body | string Template text |
message_type | string Enum: "loyalty_discount_expiration" "loyalty_cashback_expiration" "loyalty_discount_increased" "loyalty_discount_decreased" "loyalty_card_created" "loyalty_card_withdraw" "loyalty_withdraw_cancelled" "loyalty_card_manual" "loyalty_card_manual_withdraw" "loyalty_card_cashback" "loyalty_card_cashback_cancelled" "loyalty_card_income" "loyalty_discount_changed" "loyalty_cashback_changed" "loyalty_settings_abonement_notification" Message type |
[- {
- "id": 12,
- "type": "small",
- "message_type": "loyalty_discount_expiration",
- "body": "Your discount expires tomorrow"
}
]
chain_id required | integer Chain ID |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Include additional resources in the answer |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string applization/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Share name |
type required | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Promotion type |
service_item_type required | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to services |
good_item_type required | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to goods |
value_unit required | string Enum: "percent" "amount" Bonus or discount measurement unit (percentage, fixed amount) |
usage_limit | integer <int32> Limit on the number of applications (only for cashback) |
visit_multiplicity | integer <int32> Multiplicity of application by visits (only for cashback) |
sold_items_multiplicity | integer <int32> How many services you need to pay to get a discount on promotional services (only for the promotion type "Discount by condition") |
expiration_timeout | integer <int32> Expiration date of bonuses or discounts |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" The unit of measurement for the expiration date of bonuses or discounts |
expiration_notification_timeout | integer <int32> How many days before the bonus or discount expires, a notification must be sent to the client |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts) |
history_start_date | string <date> From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts) |
loyalty_card_type_ids | Array of integers <int32> [ items <int32 > ] Identifiers of types of cards for which the promotion is valid |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Body of the request to bind the loyalty notification template | |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Body of the request to bind the loyalty notification template | |
required | Array of objects (Root Type for LoyaltyProgramRuleRequest) Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) |
company_ids required | Array of integers <int32> [ items <int32 > ] Identifiers of branches where the promotion is valid |
allowed_service_ids | Array of integers <int32> [ items <int32 > ] Service and service category identifiers (if application type is set for some services) |
allowed_good_ids | Array of integers <int32> [ items <int32 > ] Item IDs (if application type is set for some items) |
allowed_good_category_ids | Array of integers <int32> [ items <int32 > ] Product category identifiers (if application type is set for some products) |
id | integer <int32> Stock ID |
title | string Share name |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Promotion type |
service_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to services |
good_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to goods |
value_unit | string Enum: "percent" "amount" Bonus or discount measurement unit (percentage, fixed amount) |
usage_limit | integer <int32> Limit on the number of applications (only for cashback) |
visit_multiplicity | integer <int32> Multiplicity of application by visits (only for cashback) |
sold_items_multiplicity | integer <int32> How many services you need to pay to get a discount on promotional services (only for the type of promotion "Discount by condition") |
expiration_timeout | integer <int32> Expiration date of bonuses or discounts |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" The unit of measurement for the expiration date of bonuses or discounts |
expiration_notification_timeout | integer <int32> How many days before the bonus or discount expires, a notification must be sent to the client |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts) |
history_start_date | string <date> From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts) |
on_changed_notification_template_id | integer <int32> Notification template ID when changing bonus or discount |
on_expiration_notification_template_id | integer <int32> Identifier of the notification template when a bonus or discount burns |
Array of objects (Root Type for LoyaltyCardType) Type of cards for which the promotion is valid (on request) | |
object (Root Type for LoyaltyNotificationMessageTemplate) Loyalty notification template | |
object (Root Type for LoyaltyNotificationMessageTemplate) Loyalty notification template | |
Array of objects (Root Type for LoyaltyProgramRule) Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) (on request) | |
Array of objects (Company) Branches where the promotion is valid (on request) | |
Array of objects (Root Type for LoyaltyEntityAttendanceItem) Related entities for selective application of the promotion (on request) |
{- "title": "Cumulative discount for some services and not for goods",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "allowed_service_ids": [
- 53,
- 92
], - "allowed_good_ids": { },
- "allowed_good_category_ids": { },
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": "2014-09-21T23:00:00.000+03:00",
- "loyalty_card_type_ids": [
- 51,
- 29
], - "on_changed_notification_template": {
- "type": "custom",
- "body": "Your discount has changed"
}, - "on_expiration_notification_template": {
- "type": "big"
}, - "rules": [
- {
- "parameter": 10,
- "value": 2.5,
- "service_id": 0
}, - {
- "parameter": 30,
- "value": 7.5,
- "service_id": 0
}
], - "company_ids": [
- 49
]
}
{- "id": 34,
- "title": "Cumulative discount for some services and not for goods",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": "2014-09-21T23:00:00.000+03:00",
- "on_changed_notification_template_id": 55,
- "on_expiration_notification_template_id": 84,
- "loyalty_card_types": [
- {
- "id": 51,
- "title": "Card type 1"
}, - {
- "id": 29,
- "title": "Card type 2"
}
], - "on_changed_notification_template": {
- "id": 55,
- "type": "custom",
- "body": "Your discount has changed",
- "message_type": "loyalty_discount_changed"
}, - "on_expiration_notification_template": {
- "id": 84,
- "type": "big",
- "body": "Detailed text about discount burning",
- "message_type": "loyalty_discount_expiration"
}, - "rules": [
- {
- "id": 94,
- "parameter": 10,
- "value": 2.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}, - {
- "id": 74,
- "parameter": 30,
- "value": 7.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}
], - "companies": [
- {
- "id": 49,
- "title": "Branch",
- "country": "United States",
- "country_id": 5,
- "city": "New York",
- "city_id": 83,
- "phone": "+1-315-555-0175",
- "timezone": "America/New_York",
- "address": "Branch address",
- "coordinate_lat": "40.730610",
- "coordinate_lng": 18.63
}
], - "applicable_items": [
- {
- "id": 53,
- "title": "Service category 1",
- "is_service": true,
- "is_category": true
}, - {
- "id": 92,
- "title": "Service category 2",
- "is_service": true,
- "is_category": true
}
]
}
chain_id required | integer Chain ID |
loyalty_program_id required | integer Promotion ID |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Include additional resources in the answer |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Stock ID |
title | string Share name |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Promotion type |
service_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to services |
good_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to goods |
value_unit | string Enum: "percent" "amount" Bonus or discount measurement unit (percentage, fixed amount) |
usage_limit | integer <int32> Limit on the number of applications (only for cashback) |
visit_multiplicity | integer <int32> Multiplicity of application by visits (only for cashback) |
sold_items_multiplicity | integer <int32> How many services you need to pay to get a discount on promotional services (only for the type of promotion "Discount by condition") |
expiration_timeout | integer <int32> Expiration date of bonuses or discounts |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" The unit of measurement for the expiration date of bonuses or discounts |
expiration_notification_timeout | integer <int32> How many days before the bonus or discount expires, a notification must be sent to the client |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts) |
history_start_date | string <date> From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts) |
on_changed_notification_template_id | integer <int32> Notification template ID when changing bonus or discount |
on_expiration_notification_template_id | integer <int32> Identifier of the notification template when a bonus or discount burns |
Array of objects (Root Type for LoyaltyCardType) Type of cards for which the promotion is valid (on request) | |
object (Root Type for LoyaltyNotificationMessageTemplate) Loyalty notification template | |
object (Root Type for LoyaltyNotificationMessageTemplate) Loyalty notification template | |
Array of objects (Root Type for LoyaltyProgramRule) Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) (on request) | |
Array of objects (Company) Branches where the promotion is valid (on request) | |
Array of objects (Root Type for LoyaltyEntityAttendanceItem) Related entities for selective application of the promotion (on request) |
{- "id": 34,
- "title": "Cumulative discount for some services and not for goods",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": "2014-09-21T23:00:00.000+03:00",
- "on_changed_notification_template_id": 55,
- "on_expiration_notification_template_id": 84,
- "loyalty_card_types": [
- {
- "id": 51,
- "title": "Card type 1"
}, - {
- "id": 29,
- "title": "Card type 2"
}
], - "on_changed_notification_template": {
- "id": 55,
- "type": "custom",
- "body": "Your discount has changed",
- "message_type": "loyalty_discount_changed"
}, - "on_expiration_notification_template": {
- "id": 84,
- "type": "big",
- "body": "Detailed text about discount burning",
- "message_type": "loyalty_discount_expiration"
}, - "rules": [
- {
- "id": 94,
- "parameter": 10,
- "value": 2.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}, - {
- "id": 74,
- "parameter": 30,
- "value": 7.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}
], - "companies": [
- {
- "id": 49,
- "title": "Branch",
- "country": "United States",
- "country_id": 5,
- "city": "New York",
- "city_id": 83,
- "phone": "+1-315-555-0175",
- "timezone": "America/New_York",
- "address": "Branch address",
- "coordinate_lat": "40.730610",
- "coordinate_lng": 18.63
}
], - "applicable_items": [
- {
- "id": 53,
- "title": "Service category 1",
- "is_service": true,
- "is_category": true
}, - {
- "id": 92,
- "title": "Service category 2",
- "is_service": true,
- "is_category": true
}
]
}
chain_id required | integer Chain ID |
loyalty_program_id required | integer Promotion ID |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Include additional resources in the answer |
title | string Share name |
usage_limit | integer <int32> Limit on the number of applications (only for cashback) |
expiration_timeout | integer <int32> Expiration date of bonuses or discounts |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" The unit of measurement for the expiration date of bonuses or discounts |
expiration_notification_timeout | integer <int32> How many days before the bonus or discount expires, a notification must be sent to the client |
loyalty_card_type_ids | Array of integers <int32> [ items <int32 > ] Identifiers of types of cards for which the promotion is valid |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Body of the request to bind the loyalty notification template | |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Body of the request to bind the loyalty notification template | |
Array of objects (Root Type for LoyaltyProgramRuleRequest) Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) | |
company_ids | Array of integers <int32> [ items <int32 > ] Identifiers of branches where the promotion is valid |
allowed_service_ids | Array of integers <int32> [ items <int32 > ] Service and service category identifiers (if application type is set for some services) |
allowed_good_ids | Array of integers <int32> [ items <int32 > ] Item IDs (if application type is set for some items) |
allowed_good_category_ids | Array of integers <int32> [ items <int32 > ] Product category identifiers (if application type is set for some products) |
id | integer <int32> Stock ID |
title | string Share name |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Promotion type |
service_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to services |
good_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Type of application to goods |
value_unit | string Enum: "percent" "amount" Bonus or discount measurement unit (percentage, fixed amount) |
usage_limit | integer <int32> Limit on the number of applications (only for cashback) |
visit_multiplicity | integer <int32> Multiplicity of application by visits (only for cashback) |
sold_items_multiplicity | integer <int32> How many services you need to pay to get a discount on promotional services (only for the type of promotion "Discount by condition") |
expiration_timeout | integer <int32> Expiration date of bonuses or discounts |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" The unit of measurement for the expiration date of bonuses or discounts |
expiration_notification_timeout | integer <int32> How many days before the bonus or discount expires, a notification must be sent to the client |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts) |
history_start_date | string <date> From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts) |
on_changed_notification_template_id | integer <int32> Notification template ID when changing bonus or discount |
on_expiration_notification_template_id | integer <int32> Identifier of the notification template when a bonus or discount burns |
Array of objects (Root Type for LoyaltyCardType) Type of cards for which the promotion is valid (on request) | |
object (Root Type for LoyaltyNotificationMessageTemplate) Loyalty notification template | |
object (Root Type for LoyaltyNotificationMessageTemplate) Loyalty notification template | |
Array of objects (Root Type for LoyaltyProgramRule) Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) (on request) | |
Array of objects (Company) Branches where the promotion is valid (on request) | |
Array of objects (Root Type for LoyaltyEntityAttendanceItem) Related entities for selective application of the promotion (on request) |
{- "title": "Cumulative discount for some services and not for goods",
- "allowed_service_ids": [
- 53,
- 92
], - "allowed_good_ids": { },
- "allowed_good_category_ids": { },
- "usage_limit": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "loyalty_card_type_ids": [
- 51,
- 29
], - "on_changed_notification_template": {
- "type": "custom",
- "body": "Your discount has changed"
}, - "on_expiration_notification_template": {
- "type": "big"
}, - "rules": [
- {
- "parameter": 10,
- "value": 2.5,
- "service_id": 0
}, - {
- "parameter": 30,
- "value": 7.5,
- "service_id": 0
}
], - "company_ids": [
- 49
]
}
{- "id": 34,
- "title": "Cumulative discount for some services and not for goods",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": "2014-09-21T23:00:00.000+03:00",
- "on_changed_notification_template_id": 55,
- "on_expiration_notification_template_id": 84,
- "loyalty_card_types": [
- {
- "id": 51,
- "title": "Card type 1"
}, - {
- "id": 29,
- "title": "Card type 2"
}
], - "on_changed_notification_template": {
- "id": 55,
- "type": "custom",
- "body": "Your discount has changed",
- "message_type": "loyalty_discount_changed"
}, - "on_expiration_notification_template": {
- "id": 84,
- "type": "big",
- "body": "Detailed text about discount burning",
- "message_type": "loyalty_discount_expiration"
}, - "rules": [
- {
- "id": 94,
- "parameter": 10,
- "value": 2.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}, - {
- "id": 74,
- "parameter": 30,
- "value": 7.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}
], - "companies": [
- {
- "id": 49,
- "title": "Branch",
- "country": "United States",
- "country_id": 5,
- "city": "New York",
- "city_id": 83,
- "phone": "+1-315-555-0175",
- "timezone": "America/New_York",
- "address": "Branch address",
- "coordinate_lat": "40.730610",
- "coordinate_lng": 18.63
}
], - "applicable_items": [
- {
- "id": 53,
- "title": "Service category 1",
- "is_service": true,
- "is_category": true
}, - {
- "id": 92,
- "title": "Service category 2",
- "is_service": true,
- "is_category": true
}
]
}
chain_id required | integer Chain ID |
loyalty_program_id required | integer Promotion ID |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Include additional resources in the answer |
chain_id required | integer Chain ID |
created_after required | string <date> Sample start date in Y-m-d format |
created_before required | string <date> Sample end date in Y-m-d format |
types | Array of strings Items Enum: "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" Types of loyalty transactions included in the selection: 1 - Promotion discount, 2 - Loyalty program accrual, 3 - Loyalty card withdrawal, 4 - Referral program accrual, 5 - Manual replenishment, 6 - Manual withdrawal, 7 - Overdue points withdrawal , 8 - Withdrawal from the certificate, 9 - Use of the subscription, 10 - Recalculation of the cost of the subscription, 11 - Withdrawal from the personal account |
company_ids | Array of integers Loyalty transaction affiliate IDs included in the sample |
visit_ids | Array of integers Loyalty transaction visit IDs included in the sample |
page | integer Selection page |
count | integer Number of results per selection page |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of items in the response) |
{- "success": true,
- "data": [
- {
- "id": 0,
- "visit_id": 0,
- "status_id": 0,
- "amount": 0,
- "type_id": 0,
- "card_id": 0,
- "program_id": 0,
- "certificate_id": 0,
- "abonement_id": 0,
- "salon_group_id": 0,
- "item_id": 0,
- "item_type_id": 0,
- "item_record_id": 0,
- "goods_transaction_id": 0,
- "services_transaction_id": 0,
- "is_discount": true,
- "is_loyalty_withdraw": true,
- "type": {
- "id": 0,
- "title": "string"
}
}
], - "meta": {
- "count": 0
}
}
1
) - salon ID1
) - product ID (certificate/subscription)company_id required | number Branch ID |
good_Id required | number Item ID (subscription/certificate) |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
object (LoyaltyGenerateCode200Option) | |
required | object (LoyaltyGenerateCode200DataOption) |
meta required | Array of objects |
success required | boolean |
object (LoyaltyGenerateCodeErrorOption) | |
required | object (LoyaltyGenerateCodeErrorMetaOption) |
success required | boolean |
object (LoyaltyGenerateCodeErrorOption) | |
required | object (LoyaltyGenerateCodeErrorMetaOption) |
success required | boolean |
{- "success": true,
- "data": {
- "code": "1"
}, - "meta": [ ]
}
A list of subscription types available at a branch can be obtained by requesting the branch ID.
The list can be filtered by subscription type name by passing the title
parameter.
Pagination is supported, specified by the page
and page_size
parameters.
The list is an array of subscription types.
Subscription type has the following structure:
| Field | Type | Description | | -------------------------------| ------- | -------------------------------------------------- -------------------------------------------------- ---------------------------------- | | id | number | Subscription type identifier | | title | string | Subscription type name | | allow_freeze | boolean | Is it possible to freeze memberships? true - allowed, false - not allowed | | freeze limit | number | Maximum total freezing period (days) | | salon_group_id | number | Identifier of the chain in which the subscription type is valid | | period | number | Subscription expiration date (0 if not set) | | period_unit_id | number | Subscription expiration unit (list of possible values, if not set - 0) | | is_allow_empty_code | boolean | Allow the sale of a subscription without a code? true - allow, false - do not allow | | is_united_balance | boolean | Total or separate subscription balance: true - total, false - separate | | united_balance_services_count | number | Number of visits for total balance |
Measurement units of subscription type validity period
Meaning | Description |
---|---|
1 | Day |
2 | Week |
3 | Month |
4 | Year |
company_id required | number Company ID |
title | string Subscription type name |
page | number Page number |
page_size | number The number of output lines per page. Maximum 100 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Conetnt-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
object Metadata (contains the number of subscription types found) |
{- "success": true,
- "data": [
- {
- "id": 12233,
- "salon_group_id": 123,
- "title": "Subscription with the possibility of freezing for 14 days",
- "period": 0,
- "period_unit_id": 0,
- "allow_freeze": true,
- "freeze_limit": 14,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0
}, - {
- "id": 255789,
- "salon_group_id": 456,
- "title": "Subscription for 6 months",
- "period": 6,
- "period_unit_id": 3,
- "allow_freeze": false,
- "freeze_limit": 0,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0
}
], - "meta": {
- "count": 2
}
}
A list of subscription types available at a branch can be obtained by querying the branch ID and subscription type IDs.
The list is an array of subscription types.
&ids[]={id}
company_id required | number Company ID |
ids[] | number Subscription type ID (you can specify several additional parameters &ids[]={id} |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
object Metadata (contains the number of subscription types found) |
{- "success": true,
- "data": [
- {
- "id": 12233,
- "salon_group_id": 123,
- "title": "Subscription with the possibility of freezing for 14 days",
- "period": 0,
- "period_unit_id": 0,
- "allow_freeze": true,
- "freeze_limit": 14,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0
}
], - "meta": {
- "count": 1
}
}
A list of certificate types available at a branch can be obtained by querying the branch ID.
The list can be filtered by the name of the certificate type by passing the title
parameter.
Pagination is supported, specified by the page
and page_size
parameters.
The list is an array of certificate types.
Certificate type has the following structure:
| Field | Type | Description | | ----------------------| ------- | -------------------------------------------------- -------------------------------------------------- ------------------------------------------------- | | id | number | Certificate type identifier | | title | string | Certificate type name | | balance | number | Certificate denomination | | is_multi | boolean | Write-off type: true - multiple write-off, false - single write-off | | company_group_id | number | ID of the chain where the certificate type is valid | | item_type_id | number | Application Constraint (list of possible values) | | expiration_type_id | number | Expiration limit (list of possible values) | | expiration_date | string | Fixed burn date in ISO8601 format (null if not set) | | expiration_timeout | number | Certificate validity period from the date of sale (0 if not set) | | expiration_timeout_unit_id | number | The unit of measurement of the validity period of the certificate from the moment of sale (list of possible values, if not set - 0) | | is_allow_empty_code | boolean | Allow sale of certificate without code? true - allow, false - do not allow |
Meaning | Description |
---|---|
0 | Unlimited |
1 | Any services without goods |
2 | Any goods without services |
3 | Some services without goods |
4 | Some services and any goods |
Certificate Type Expiration Limit
Meaning | Description |
---|---|
0 | No expiration date |
1 | Fixed date for all instances |
2 | Fixed period of validity from the date of sale |
Units of certificate type validity period
Meaning | Description |
---|---|
1 | Day |
2 | Week |
3 | Month |
4 | Year |
company_id required | number Company ID |
title | string Certificate type name |
page | number Page number |
page_size | number The number of output lines per page. Maximum 100 |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | integer Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of certificate types found) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Fixed burn date certificate without application restrictions",
- "balance": 10,
- "is_multi": true,
- "company_group_id": 12,
- "item_type_id": 0,
- "expiration_type_id": 1,
- "expiration_date": "2014-09-21T23:00:00.000+03:00",
- "expiration_timeout": 0,
- "expiration_timeout_unit_id": 0,
- "is_allow_empty_code": true
}, - {
- "id": 11,
- "title": "Certificate valid for 6 months from the date of sale for any goods without services",
- "balance": 100,
- "is_multi": false,
- "company_group_id": 12,
- "item_type_id": 2,
- "expiration_type_id": 2,
- "expiration_timeout": 6,
- "expiration_timeout_unit_id": 3,
- "is_allow_empty_code": false
}
], - "meta": {
- "count": 2
}
}
A list of certificate types available at the branch can be obtained by querying the branch ID and certificate type IDs.
The list is an array of certificate types.
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of certificate types found) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Fixed burn date certificate without application restrictions",
- "balance": 10,
- "is_multi": true,
- "company_group_id": 12,
- "item_type_id": 0,
- "expiration_type_id": 1,
- "expiration_date": "2014-09-21T23:00:00.000+03:00",
- "expiration_timeout": 0,
- "expiration_timeout_unit_id": 0,
- "is_allow_empty_code": true
}
], - "meta": {
- "count": 1
}
}
The method allows you to get a list of promotions that are active for the specified branch.
company_id required | number Company ID |
include | string The first_transaction_date value adds the date of the first stock transaction to the response. |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Promotion type |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Execution success status. |
Array of objects An array of data objects. | |
object Metadata (contains the number of objects found) |
{- "success": true,
- "data": [
- {
- "id": 53591,
- "title": "100 rub discount on Altegio Implementation Consultation",
- "type": "discount_static",
- "loyalty_type_id": 1,
- "item_type_id": 4,
- "service_item_type": "custom_allowed",
- "good_item_type": "any_allowed",
- "value_unit_id": 2,
- "value_unit": "amount",
- "group_id": 502054,
- "usage_limit": 0,
- "visit_multiplicity": 1,
- "sold_items_multiplicity": 1,
- "current_package_progress": 0,
- "allowed_usages_amount": 0,
- "expiration_timeout": 0,
- "expiration_timeout_unit": "day",
- "expiration_notification_timeout": 0,
- "params_source_type": "loyalty_card",
- "on_changed_notification_template_id": 0,
- "on_expiration_notification_template_id": 0
}
], - "meta": {
- "count": 1
}
}
The method allows you to get statistics on returning, new and lost customers
company_id required | number Company ID |
date_to required | string Period end date |
date_from required | string Period start date |
loyalty_program_id required | string Promotion ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Execution success status |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "client_stats": {
- "new": {
- "all_count": 0,
- "lost_count": 0,
- "returned_count": 0,
- "returned_percent": 0
}, - "old": {
- "all_count": 0,
- "lost_count": 0,
- "returned_count": 0,
- "returned_percent": 0
}, - "total": {
- "all_count": 0,
- "lost_count": 0,
- "returned_count": 0,
- "returned_percent": 0
}
}, - "visits_stats_by_day": [
- {
- "date": "2014-09-21T23:00:00.000+03:00",
- "new_count": 0,
- "old_count": 0
}, - {
- "date": "2014-09-21T23:00:00.000+03:00",
- "new_count": 0,
- "old_count": 0
}
]
}, - "meta": [ ]
}
The method allows you to get statistics on revenue.
company_id required | number Company ID |
date_to required | string Period end date |
date_from required | string Period start date |
loyalty_program_id required | string Promotion ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Execution success status |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "income_stats": {
- "new": {
- "all_sum": 0,
- "returned_sum": 0
}, - "old": {
- "all_sum": 0,
- "returned_sum": 0
}, - "total": {
- "all_sum": 0,
- "returned_sum": 0
}
}, - "currency": {
- "id": 1,
- "iso": "RUB",
- "name": "US Dollar",
- "symbol": "USD",
- "is_symbol_after_amount": true
}, - "income_stats_by_day": [
- {
- "date": "2014-09-21T23:00:00.000+03:00",
- "new_sum": 0,
- "old_sum": 0
}, - {
- "date": "2014-09-21T23:00:00.000+03:00",
- "new_sum": 0,
- "old_sum": 0
}
]
}, - "meta": [ ]
}
The method allows you to get the return statistics for an employee
company_id required | number Company ID |
date_to required | string Period end date |
date_from required | string Period start date |
loyalty_program_id required | string Promotion ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Execution success status |
Array of objects Array with data objects | |
object Metadata (contains the number of objects found) |
{- "success": true,
- "data": [
- {
- "client_stats": {
- "all_count": 1,
- "lost_count": 0,
- "returned_count": 1,
- "returned_percent": 100
}, - "staff": {
- "id": 1140369,
- "name": "Doniella Davy"
}
}
], - "meta": {
- "count": 1
}
}
The JSON Object containing the user record parameters has the following fields:
Field | Type | Mandatory | Description |
---|---|---|---|
id | number | YES | Record ID |
services | array of numbers | YES | List of ID service records |
company | object | YES | Company parameters |
staff | object | YES | Parameters of the specialist who was booked |
clients_count | int | YES | Number of clients |
date | string | YES | Session date |
datetime | string | YES | Session date in ISO |
create_date | string | YES | Record creation date |
length | number | YES | Session duration |
deleted | boolean | YES | Has the entry been made (true if deleted) |
notify_by_sms | number | NO | How many hours in advance to send an SMS reminder about the appointment (0 if you do not need to be reminded) |
notify_by_email | number | NO | How many hours in advance to send an email reminder about the appointment (0 if you do not need to be reminded) |
comment | string | YES | Post Comment |
master_requested | boolean | YES | Whether a specific specialist was specified when recording (false if "doesn't matter" was specified) |
online | boolean | YES | Whether the entry is online or not (false if the entry was made by an administrator) |
visit_attendance | number | YES | 2 - The user confirmed the entry, 1 - The user came, the services were provided, 0 - the user was waiting, -1 - the user did not come to visit |
api_id | string | NO | External Record ID |
last_change_date | string | NO | Date of the last edit of the record |
prepaid | boolean | NO | Is online payment available for registration |
prepaid_confirmed | boolean | NO | Online payment status |
last_change_date | string | NO | Date of the last edit of the record |
activity_id | int | NO | ID bringing group entry |
Each object in the services array has the following fields:
Field | Type | Description |
---|---|---|
id | number | Service ID |
title | string | Service name |
cost | float | Service cost |
price_min | float | Minimum price of the service |
price_max | float | Maximum service price |
discount | float | Discount |
amount | int | Number of ordered services |
session_length | int | Service duration in seconds (only if filter by employee is set) |
The company object has the following fields:
Field | Type | Description |
---|---|---|
id | number | Company ID |
title | string | Company name |
country_id | number | Identifier of the country in which the company is located |
country | string | Company name |
city_id | number | Identifier of the city where the company is located) |
city | string | Company city name |
time zone | string | timezone companies |
address | string | Address where the company is located |
phone | string | Company's main phone number |
phones | array of strings | All phone numbers of the company |
coordinate_lat | float | Latitude where the company is located |
coordinate lng | float | Longitude |
allow_delete_record | boolean | Is it possible to delete an entry |
allow_change_record | boolean | Is it possible to transfer the entry |
site | string | Company website |
currency_short_title | string | Currency symbol |
allow_change_record_delay_step | int | Time after which you can transfer the record |
allow_delete_record_delay_step | int | Time after which you can delete a record |
The staff object has the following fields:
Field | Type | Description |
---|---|---|
id | number | Employee ID |
name | string | Employee name |
specialization | string | Employee specialization |
position | object | Employee position |
show_rating | number | Whether to show employee's rating (1 - show, 0 - don't show) |
rating | number | Employee rating |
votes_count | number | Number of votes rated employee |
comments_count | number | Number of comments to an employee |
avatar | string | Path to employee avatar file |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 13132699,
- "services": [
- {
- "id": 389043,
- "title": "Correction of extended nails",
- "cost": 2300,
- "price_min": 2300,
- "price_max": 2300,
- "discount": 0,
- "amount": 1,
- "seance_length": 1800
}
], - "company": {
- "id": 4564,
- "title": "Nail correction salon",
- "country_id": 1,
- "country": "United States",
- "city_id": 2,
- "city": "New York",
- "phone": "+1-315-555-0175",
- "phones": [ ],
- "timezone": 12,
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "allow_delete_record": true,
- "allow_change_record": true,
- "site": "www.example.com",
- "currency_short_title": "USD",
- "allow_change_record_delay_step": 0,
- "allow_delete_record_delay_step": 0
}, - "staff": {
- "id": 55436,
- "name": "Natalia",
- "specialization": "Master of manicure and pedicure",
- "position": {
- "id": 446,
- "title": "Manicurist"
}, - "show_rating": 1,
- "rating": 4.84,
- "votes_count": 0,
- "comments_count": 37
}, - "clients_count": 1,
- "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2017-10-24T17:30:00+0000",
- "create_date": "2017-10-20T21:40:24+0000",
- "comment": "",
- "deleted": true,
- "attendance": 0,
- "length": 1800,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "",
- "last_change_date": "2017-10-24T23:54:02+0000",
- "prepaid": false,
- "prepaid_confirmed": false,
- "activity_id": 0
}, - {
- "id": 13133413,
- "services": [
- {
- "id": 389045,
- "title": "Hand massage (10 min)",
- "cost": 300,
- "price_min": 300,
- "price_max": 400,
- "discount": 0,
- "amount": 1,
- "seance_length": 1800
}
], - "company": {
- "id": 4564,
- "title": "Nail correction salon",
- "country_id": 1,
- "country": "United States",
- "city_id": 2,
- "city": "New York",
- "phone": "+1-315-555-0175",
- "phones": [ ],
- "timezone": 12,
- "address": "New York, 787 Jackson Drive",
- "coordinate_lat": "40.730610",
- "coordinate_lon": "-73.935242",
- "allow_delete_record": true,
- "allow_change_record": true,
- "site": "www.example.com",
- "currency_short_title": "USD",
- "allow_change_record_delay_step": 0,
- "allow_delete_record_delay_step": 0
}, - "staff": {
- "id": 55436,
- "name": "Natalia",
- "specialization": "Master of manicure and pedicure",
- "position": {
- "id": 446,
- "title": "Manicurist"
}, - "show_rating": 1,
- "rating": 4.84,
- "votes_count": 0,
- "comments_count": 37
}, - "clients_count": 1,
- "date": "2014-09-21T23:00:00.000+03:00",
- "datetime": "2017-10-24T17:30:00+0000",
- "create_date": "2017-10-20T21:40:24+0000",
- "comment": "",
- "deleted": true,
- "attendance": 0,
- "length": 1800,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "",
- "last_change_date": "2017-10-24T23:54:02+0000",
- "prepaid": false,
- "prepaid_confirmed": false,
- "activity_id": 0
}
], - "meta": [ ]
}
Creates a new employee with a minimal set of parameters.
company_id required | number Example: 123 ID of a company. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
name required | string Name of an employee. |
specialization required | string Specialization of an employee. |
position_id required | number or null ID of a position that should be linked to an employee. |
phone_number required | string or null Phone number of a user that should be linked to an employee (without "+", 9 to 15 digits). |
success | boolean (Successful response status) Response status. |
object (Object of model "Employee with Position") | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "name": "John Johnson",
- "specialization": "Master",
- "position_id": 123,
- "phone_number": "11234567890"
}
{- "success": true,
- "data": {
- "id": 123,
- "name": "John Johnson",
- "company_id": 123,
- "specialization": "Master",
- "position": {
- "id": 123,
- "title": "Position"
}
}, - "meta": { }
}
company_id required | number Company ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name | string Employee name |
specialization | string Employee specialization |
weight | number Employee weight. Employees are sorted by weight on exit, heavier first |
information | string Employee information (HTML format) |
api_id | string External employee ID |
hidden | number Display status in online entry, 1 - hidden, 0 - not hidden |
fired | number The employee's dismissal status, 1 - dismissed, 0 - not dismissed |
user_id | number Linked user ID, 0 - unlink user |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of employees found) |
{- "name": "Basil",
- "specialization": "the hairdresser",
- "weight": 10,
- "information": "Trimming with three hands",
- "api_id": "42",
- "hidden": 0,
- "fired": 0,
- "user_id": 123
}
{- "success": true,
- "data": {
- "id": 17969,
- "api_id": "42",
- "name": "Basil",
- "specialization": "the hairdresser",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "show_rating": 0,
- "rating": 0,
- "votes_count": 0,
- "user_id": 12345,
- "comments_count": 0,
- "weight": 10,
- "information": "<span><span><span> </span></span></span>",
- "hidden": 0,
- "fired": 0,
- "status": 0
}, - "meta": [ ]
}
company_id required | number Branch ID |
staff_id required | number Employee ID, if you need to work with a specific employee. |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of employees found) |
success | boolean Execution success status (false) |
data | string Contains null |
object Metadata (contains an error message) |
success | boolean Execution success status (false) |
object Metadata (contains an error message) |
{- "success": true,
- "data": [
- {
- "id": 1001539,
- "name": "Employee 1",
- "company_id": 176275,
- "specialization": "specialist",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "fired": 0,
- "status": 0,
- "hidden": 0,
- "user_id": 12345
}
], - "meta": {
- "total_count": 1
}
}
company_id required | number Company ID |
staff_id required | number Employee ID, if you need to work with a specific employee. |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": "17969",
- "name": "Basil",
- "specialization": "the hairdresser",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "show_rating": "0",
- "rating": "0",
- "votes_count": "0",
- "user_id": 12345,
- "comments_count": "0",
- "weight": "10",
- "information": "<span><span><span> </span></span></span>",
- "hidden": "0",
- "fired": "0",
- "status": "0",
- "image_group": {
- "id": 72250,
- "entity": "master",
- "entity_id": 26427,
- "images": {
- "sm": {
- "id": "186817",
- "width": "100",
- "height": "100",
- "type": "jpeg",
- "image_group_id": 72250,
- "version": "sm"
}, - "norm": {
- "id": "186818",
- "width": "180",
- "height": "220",
- "type": "jpeg",
- "image_group_id": 72250,
- "version": "norm"
}, - "origin": {
- "id": "186819",
- "width": "800",
- "height": "600",
- "type": "jpeg",
- "image_group_id": 72250,
- "version": "origin"
}
}
}
}, - {
- "id": "34006",
- "api_id": "42",
- "name": "Denis",
- "specialization": "the hairdresser",
- "position": [ ],
- "show_rating": "0",
- "rating": "0",
- "votes_count": "0",
- "user_id": 12345,
- "comments_count": "0",
- "weight": "9",
- "information": "<span><span> </span></span>",
- "hidden": "0",
- "fired": "0",
- "status": "0",
- "image_group": [ ]
}, - {
- "id": "13616",
- "name": "Alexander",
- "specialization": "the hairdresser",
- "position": [ ],
- "show_rating": "0",
- "rating": "4.76921",
- "votes_count": "0",
- "user_id": 12345,
- "comments_count": "26",
- "weight": "8",
- "information": "<span><span><span> </span></span></span>",
- "hidden": "0",
- "fired": "0",
- "status": "0",
- "image_group": [ ]
}
], - "meta": [ ]
}
company_id required | number Company ID |
staff_id required | number Employee ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name | string Employee name |
specialization | string Employee specialization |
weight | number Employee weight. Employees are sorted by weight on exit, heavier first |
information | string Employee information (HTML format) |
api_id | string External employee ID |
hidden | number Display status in online entry, 1 - hidden, 0 - not hidden |
fired | number The employee's dismissal status, 1 - dismissed, 0 - not dismissed |
user_id | number Linked user ID, 0 - unlink user |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of employees found) |
{- "success": true,
- "data": {
- "id": 17969,
- "api_id": "42",
- "name": "Basil",
- "specialization": "the hairdresser",
- "position": {
- "id": 1,
- "title": "Administrator"
}, - "show_rating": 0,
- "rating": 0,
- "votes_count": 0,
- "user_id": 12345,
- "comments_count": 0,
- "weight": 10,
- "information": "<span><span><span> </span></span></span>",
- "hidden": 0,
- "fired": 0,
- "status": 0
}, - "meta": [ ]
}
company_id required | number Company ID |
staff_id required | number Employee ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
43877
) - Id of the salon chaingroup_id required | number Salon chain ID |
phone required | string Example: phone='79264037640' Phone to filter clients, required parameter |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token.User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status |
data | string Contains null |
object Object with error message |
{- "success": true,
- "data": {
- "salon_group_id": 312,
- "phone": "+1-315-555-0175",
- "clients": [
]
}, - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
object Metadata (contains the number of resources found) |
{- "success": true,
- "data": [
- {
- "id": 70,
- "title": "Pedicure chair",
- "instances": [
- {
- "id": 181,
- "title": "Pedicure chair #1",
- "resource_id": 70
}
]
}, - {
- "id": 464,
- "title": "massage room",
- "instances": [
- {
- "id": 1094,
- "title": "Massage room 1st floor",
- "resource_id": 464
}, - {
- "id": 1162,
- "title": "Massage room 2nd floor",
- "resource_id": 464
}
]
}
], - "meta": {
- "count": 2
}
}
company_id required | number Company ID |
staff_id required | number Employee ID. |
start_date required | number Example: '' Period start date |
end_date required | number Example: '' Period end date |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string date in iso8601 format. |
is_working required | boolean Free time or not. |
slots | Array of objects An array of (from, to) working time intervals. |
{- "success": true,
- "data": [
- {
- "date": "2014-09-21T23:00:00.000+03:00",
- "is_working": 1,
- "slots": [
- {
- "from": "10:00",
- "to": "14:00"
}, - {
- "from": "15:00",
- "to": "23:15"
}
]
}, - {
- "date": "2014-09-21T23:00:00.000+03:00",
- "is_working": 1,
- "slots": [
- {
- "from": "10:00",
- "to": "14:30"
}, - {
- "from": "15:00",
- "to": "22:10"
}
]
}, - {
- "date": "2014-09-21T23:00:00.000+03:00",
- "is_working": 0,
- "slots": [ ]
}, - {
- "date": "2014-09-21T23:00:00.000+03:00",
- "is_working": 1,
- "slots": [
- {
- "from": "10:00",
- "to": "14:00"
}, - {
- "from": "15:00",
- "to": "22:00"
}
]
}
], - "meta": [ ]
}
company_id required | number Company ID |
staff_id required | number Employee ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string date |
is_working required | boolean Working date or not |
slots required | object Array of (from, to) working hours |
The sessions object for the log has the following fields:
Field | Type | Description |
---|---|---|
time | string | Session time (17:30 for example) |
free | boolean | Free time or busy |
company_id required | number Company ID |
date required | string date in iso8601 format. Filter by booking date (eg '2015-09-30') |
staff_id required | number Employee ID. |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
time required | string Session time |
is_free required | boolean free time or not |
{- "success": true,
- "data": [
- {
- "time": "10:00",
- "is_free": true
}, - {
- "time": "10:15",
- "is_free": true
}, - {
- "time": "10:30",
- "is_free": true
}, - {
- "time": "10:45",
- "is_free": true
}, - {
- "time": "11:00",
- "is_free": false
}, - {
- "time": "11:15",
- "is_free": false
}, - {
- "time": "11:30",
- "is_free": false
}, - {
- "time": "11:45",
- "is_free": false
}, - {
- "time": "12:00",
- "is_free": false
}, - {
- "time": "12:15",
- "is_free": false
}, - {
- "time": "12:30",
- "is_free": false
}, - {
- "time": "12:45",
- "is_free": false
}, - {
- "time": "13:00",
- "is_free": true
}, - {
- "time": "13:15",
- "is_free": true
}, - {
- "time": "13:30",
- "is_free": true
}, - {
- "time": "13:45",
- "is_free": true
}, - {
- "time": "14:00",
- "is_free": true
}, - {
- "time": "14:15",
- "is_free": true
}, - {
- "time": "14:30",
- "is_free": true
}, - {
- "time": "14:45",
- "is_free": true
}, - {
- "time": "15:00",
- "is_free": true
}, - {
- "time": "15:15",
- "is_free": true
}, - {
- "time": "15:30",
- "is_free": true
}, - {
- "time": "15:45",
- "is_free": true
}, - {
- "time": "16:00",
- "is_free": true
}, - {
- "time": "16:15",
- "is_free": true
}, - {
- "time": "16:30",
- "is_free": false
}, - {
- "time": "16:45",
- "is_free": false
}, - {
- "time": "17:00",
- "is_free": false
}
], - "meta": [ ]
}
Filters
Parameter | Description |
---|---|
page | Page number |
editable_length | Number of clients per page |
type | Operation type |
status | Operation status |
start_date | Period start date |
end_date | Period end date |
Types of all transactions with cash register
Meaning | Description |
---|---|
0 | Sales operation (active for a document with the "Visit" type) |
1 | Sale return operation (active for a document with the "Visit" type) |
2 | Correction operation |
4 | Shift opening operation |
5 | Shift closing operation |
9 | The operation of obtaining the status of KKM |
11 | The operation of obtaining the status of the KKM team |
12 | Correction operation |
13 | Print X-report |
6 | Cash deposit |
7 | Withdrawal of cash |
Statuses of all operations with KKM
Meaning | Description |
---|---|
0 | Connection error with KKM |
1 | Successfully |
2 | Sent for printing |
3 | Runtime error |
4 | Status check error |
5 | Waiting for KKM readiness |
Document types
Meaning | Description |
---|---|
1 | Sale of goods |
2 | Provision of services |
3 | Arrival of goods |
4 | Goods write-off |
5 | Movement of goods |
6 | Inventory |
7 | Visit |
8 | Write-off of consumables |
9 | Deposit replenishment |
company_id required | number Company ID |
page | number Example: page=1 Page number |
editable_length | number Example: editable_length=25 Number of customers per page |
type | number Example: type=20 Type of transaction |
status | number Example: status=6 Operation status |
start_date | number Example: start_date='' Period start date |
end_date | number Example: end_date='' Period end date |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer access_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of transactions found) |
{- "success": true,
- "data": [
- {
- "id": 1059,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 1,
- "sum": 10,
- "type": {
- "id": 1,
- "title": "Sales return operation"
}, - "status": {
- "id": 3,
- "title": "Runtime error"
}, - "document": {
- "id": 2045,
- "type": 7,
- "type_title": "Visit"
}, - "cashier": {
- "id": 746310,
- "name": "Jack Smith"
}
}
], - "meta": {
- "count": 1
}
}
Types of all transactions with cash register
Meaning | Description |
---|---|
0 | Sale operation (active for documents with types "Visit" and "Deposit replenishment") |
1 | Sale return operation (active for documents with types "Visit" and "Deposit replenishment") |
2 | Correction operation |
4 | Shift opening operation |
5 | Shift closing operation |
9 | The operation of obtaining the status of KKM |
11 | The operation of obtaining the status of the KKM team |
12 | Correction operation |
13 | Print X-report |
6 | Cash deposit |
7 | Withdrawal of cash |
Document types
Meaning | Description |
---|---|
1 | Sale of goods |
2 | Provision of services |
3 | Arrival of goods |
4 | Goods write-off |
5 | Movement of goods |
6 | Inventory |
7 | Visit |
8 | Write-off of consumables |
9 | Deposit replenishment |
company_id required | number Branch ID |
document_id required | number Document ID |
type required | number type of operation with cash register (see table of types of all operations) |
is_pos_enabled | boolean enable POS terminal (default false) |
success | boolean Execution success status (true) |
object Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "kkm_type": 0,
- "kkm_transactions": [
- {
- "id": 1954,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Sale operation"
}, - "status": {
- "id": 2,
- "title": "Sent for printing"
}, - "document": {
- "id": 164,
- "type": 9,
- "type_title": "Deposit replenishment"
}, - "cashier": {
- "id": 1138453,
- "name": "Jack Smith"
}
}
], - "status": 2,
- "bill_json": [
- [ ]
]
}, - "meta": [ ]
}
document_id required | integer Sales Document ID |
company_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "item 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Manicure",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "YC BE Chain"
}, - "type": {
- "id": 11,
- "title": "Withdrawal from personal account"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Example chain."
}, - "type": {
- "id": 2,
- "title": "Loyalty programs"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Loyalty program template test"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Cumulative cashback (paid)"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Write-off from the certificate"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Test Certificate",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Cash by default",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "cash desk",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring by default",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Sale operation"
}, - "status": {
- "id": 1,
- "title": "Successfully"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Sale of goods"
}, - "cashier": {
- "id": 746310,
- "name": "Jack Smith"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Cash desk - non-cash",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "permanent discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "subscription to 5000 QA net",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Manicure"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Lesson"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Fixed discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}
]
}, - "meta": [ ]
}
As a response, information about the Sale operation is returned
document_id required | integer Sales Document ID |
payment_transaction_id required | integer transaction ID |
company_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "item 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Manicure",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "YC BE Chain"
}, - "type": {
- "id": 11,
- "title": "Withdrawal from personal account"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Example chain."
}, - "type": {
- "id": 2,
- "title": "Loyalty programs"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Loyalty program template test"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Cumulative cashback (paid)"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Write-off from the certificate"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Test Certificate",
- "is_code_required": true
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Cash by default",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "cash desk",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring by default",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Sale operation"
}, - "status": {
- "id": 1,
- "title": "Successfully"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Sale of goods"
}, - "cashier": {
- "id": 746310,
- "name": "Jack Smith"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Cash desk - non-cash",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "permanent discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "subscription to 5000 QA net",
- "is_code_required": true
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Manicure"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Lesson"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Fixed discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}
]
}, - "meta": [ ]
}
As a response, information about the Sale operation is returned
document_id required | integer Sales Document ID |
payment_transaction_id required | integer transaction ID |
company_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "item 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Manicure",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "YC BE chain"
}, - "type": {
- "id": 11,
- "title": "Withdrawal from personal account"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Example chain."
}, - "type": {
- "id": 2,
- "title": "Loyalty programs"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Loyalty program template test"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Cumulative cashback (paid)"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Write-off from the certificate"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Test Certificate",
- "is_code_required": true
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Cash by default",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "cash desk",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring by default",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Sale operation"
}, - "status": {
- "id": 1,
- "title": "Successfully"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Sale of goods"
}, - "cashier": {
- "id": 746310,
- "name": "Jack Smith"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Cash desk - non-cash",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "permanent discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "subscription to 5000 QA net",
- "is_code_required": true
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Manicure"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Lesson"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Fixed discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}
]
}, - "meta": [ ]
}
As a response, information about the Sale operation is returned
document_id required | number Document ID |
company_id required | number Branch ID |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
object Object containing the payment method |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "payment": {
- "method": {
- "slug": "account",
- "account_id": 90218
}, - "amount": 123
}
}
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "item 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Manicure",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "YC BE chain"
}, - "type": {
- "id": 11,
- "title": "Withdrawal from personal account"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Example chain."
}, - "type": {
- "id": 2,
- "title": "Loyalty programs"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Loyalty program template test"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Cumulative cashback (paid)"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": "2014-09-21T23:00:00.000+03:00",
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Write-off from the certificate"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Test Certificate",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Cash by default",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "cash desk",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring by default",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Cards - acquiring",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Sale of goods"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": "2014-09-21T23:00:00.000+03:00",
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Sale operation"
}, - "status": {
- "id": 1,
- "title": "Successfully"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Sale of goods"
}, - "cashier": {
- "id": 746310,
- "name": "Jack Smith"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Cash desk - non-cash",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "discount card"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "permanent discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "subscription to 5000 QA net",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Manicure"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Lesson"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Fixed discount",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Fixed discount"
}, - "chain": {
- "id": 231,
- "title": "Example chain."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "deposit 1"
}
}
}
]
}, - "meta": [ ]
}
To use the api and activate access to the settings in the user interface, you need to activate the integration by sending the "Enable integration" request. After a successful connection, access to the section with routing settings will be opened in the chain user interface.
To disable the integration, you can use the "Disable integration" method. After the integration is disabled, access to the user interface settings section is closed, the requests "Call notification" and "Call information saving" are not processed.
To display notifications about an incoming call, the "Call notification" method is used, the call type ("incoming", "outgoing", "internal") is specified in the parameters, but currently notifications are displayed only for the "incoming" value. Notifications are displayed for users defined based on routing settings. When specifying the "user" and "diversion" parameters at the same time, "user" is the priority when searching for routes.
The information about the call is automatically saved to the chain history and to the history of chain companies in accordance with the call routing settings.
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
Request bodies
command required | string Slug of operation 'setup' |
type required | string Operation type, in this case 'enable' |
crm_token required | string CRM-token from the Telephony-Integration in the client's chain section |
success | boolean Success status (true) |
data | string Contains null |
object Metadata (contain an "Accepted" message) |
{- "command": "setup",
- "type": "enable",
- "crm_token": "7cf262d6-1656-43f9-86ac-2826bdc125d2"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
This endpoint is designed to get a list of calls in a branch, taking into account filters and pagination
salon_id required | number Branch ID. |
date_from required | string Sample start date. |
date_to required | string Sample start end. |
phone | string Phone number. |
types | Array of strings Items Enum: "incoming" "outgoing" "internal" Call types list |
statuses | Array of strings Items Enum: "success" "missed" "cancel" "busy" "notallowed" "notavailable" "notfound" Call statuses list |
page | number Page number |
limit | number <= 1000 Amount of elements on page |
success | boolean (Successful response status) Response status. |
Array of objects Calls list | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
{- "salon_id": 615243,
- "date_from": "2023-01-01",
- "date_to": "2023-02-01",
- "phone": "79111234567",
- "types": [
- "incoming",
- "internal"
], - "statuses": [
- "success",
- "cancel"
], - "page": 1,
- "limit": 25
}
{- "success": true,
- "data": [
- {
- "id": 8923525,
- "client_id": 51342134,
- "caller_phone": "791112345678",
- "duration": 244,
- "status": "success",
- "type": "outgoing",
- "call_date": "2023-01-17 23:52:21"
}, - {
- "id": 66795308,
- "client_id": 0,
- "caller_phone": "791112345678",
- "record_link": "",
- "duration": 0,
- "status": "missed",
- "type": "incoming",
- "call_date": "2023-01-17 12:31:12"
}
]
}
chain_id required | number Example: 123 Chain ID. |
abonementId required | number Example: 123 Subscription ID. |
freeze_till required | string The date until which the subscription will be frozen. |
{- "freeze_till": "string"
}
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Services (x5)",
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "activated_date": "2014-09-21T23:00:00.000+03:00",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "activated",
- "extended_title": "activated"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Subscription for everything",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
]
chain_id required | number Example: 123 Chain ID. |
abonementId required | number Example: 123 Subscription ID. |
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Services (x5)",
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "activated_date": "2014-09-21T23:00:00.000+03:00",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "activated",
- "extended_title": "activated"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Subscription for everything",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
]
chain_id required | number Example: 123 Chain ID. |
abonementId required | number Example: 123 Subscription ID. |
period required | number Period duration |
period_unit_id required | number Period type (1 - day, 2 - week, 3 - month, 4 - year) |
{- "period": 0,
- "period_unit_id": 0
}
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Services (x5)",
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "activated_date": "2014-09-21T23:00:00.000+03:00",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "activated",
- "extended_title": "activated"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Subscription for everything",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
]
chain_id required | number Example: 123 Chain ID. |
abonementId required | number Example: 123 Subscription ID. |
united_balance_services_count required | number Number of services for a subscription with a pooled balance |
required | Array of objects Transfer service-amount for a subscription with a separate balance |
{- "united_balance_services_count": 0,
- "services_balance_count": [
- {
- "service_id": 0,
- "balance": 0
}
]
}
[- {
- "success": false,
- "meta": {
- "message": "Can't change balance"
}
}
]
chain_id required | number Example: 123 Chain ID. |
created_after | string Example: created_after=2014-09-21T23:00:00.000+03:00 Creation date from (filter by creation date). |
created_before | string Example: created_before=2014-09-21T23:00:00.000+03:00 Creation date by (filter by creation date). |
abonements_ids | Array of numbers List of identifiers for the filter. |
page | number Example: page=1 Page number. |
count | number Example: count=25 The number of entries per page. |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Services (x5)",
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "activated_date": "2014-09-21T23:00:00.000+03:00",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "activated",
- "extended_title": "activated"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Subscription for everything",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Services"
}
}
]
}
}
}, - {
- "id": 720,
- "number": 208867,
- "balance_string": "Some services (x10)",
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 3,
- "title": "Overdue",
- "extended_title": "Overdue"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Some services"
}
}
]
}, - "type": {
- "id": 897,
- "salon_group_id": 279982,
- "title": "Subscription for everything",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Some services"
}
}
]
}
}
}
], - "meta": {
- "count": 2
}
}
]
Returns a list of customer's subscriptions by phone
company_id required | number Branch ID |
phone required | number Customer phone number |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of subscriptions found) |
{- "success": true,
- "data": [
- {
- "id": 659878,
- "number": "788376",
- "balance_string": "Surfing (x10)",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 9999,
- "period_unit_id": 3,
- "status": {
- "id": 1,
- "title": "Released",
- "extended_title": "Released"
}, - "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Surfing"
}
}
]
}, - "type": {
- "id": 97804,
- "salon_group_id": 145071,
- "title": "89999",
- "period": 9999,
- "period_unit_id": 3,
- "allow_freeze": false,
- "freeze_limit": 0,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Surfing"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
Returns a list of subscriptions of an authorized user
company_id required | number Branch ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of subscriptions found) |
{- "success": true,
- "data": [
- {
- "id": 659878,
- "number": "788376",
- "balance_string": "Surfing (x10)",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 9999,
- "period_unit_id": 3,
- "status": {
- "id": 1,
- "title": "Released",
- "extended_title": "Released"
}, - "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Surfing"
}
}
]
}, - "type": {
- "id": 97804,
- "salon_group_id": 145071,
- "title": "89999",
- "period": 9999,
- "period_unit_id": 3,
- "allow_freeze": false,
- "freeze_limit": 0,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Surfing"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
Returns a list of client certificates by phone
| Attribute | Type | Description | |-----------------|-----------|------------------- ---------------------------------| | id | int | Certificate ID | | number | string | Certificate code | | balance | decimal | Current balance | | default_balance | decimal | Initial balance | | type_id | int | Certificate type identifier | | status_id | int | Status ID | | created_date | timestamp | Date of sale | | expiration_date | datetime | Burn date | | type | object | Object with certificate type information | | status | object | An object with information about the current certificate status |
The type array contains the following objects:
| Attribute | Type | Description | |----------------------|---------|---------- -------------------------------------------------- -------------------------------------------------- ----------------------------------------| | id | int | Certificate type identifier | | title | string | Type name | | balance | decimal | Certificate denomination | | is_multi | boolean | Is it available for multiple debits | | company_group_id | int | ID of the chain where the certificate type was created | | item_type_id | int | Restriction on the use of redemption points. 0 - no limit, 1 - services only, 2 - some services + all products, 3 - some services, 4 - products only | | expiration_type_id | int | The ID of the expiration limit. 0 - unlimited, 1 - fixed date, 2 - fixed term | | expiration_date |timestamp| Burn date of all certificates. Populated with expiration_type_id = 1 | | expiration_timeout | int | Validity period of certificates. Populated with expiration_type_id = 2 | | expiration_timeout_unit_id | int | Time units. 1 - Day, 2 - Week, 3 - Month, 4 - Year | | is_allow_empty_code | boolean | Sale without code | | item_type | object | Object with item_type_id and its name
copmany_id required | number Branch ID |
phone required | number Customer phone number |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of certificates found) |
{- "success": true,
- "data": [
- {
- "id": 409726,
- "number": "888",
- "balance": 9000,
- "default_balance": 9000,
- "type_id": 27841,
- "status_id": 2,
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "expiration_date": "2014-09-21T23:00:00.000+03:00",
- "type": {
- "id": 27841,
- "title": "certificate 9000",
- "balance": 9000,
- "is_multi": true,
- "company_group_id": 128284,
- "item_type_id": 0,
- "expiration_type_id": 2,
- "expiration_timeout": 365,
- "expiration_timeout_unit_id": 1,
- "is_allow_empty_code": false,
- "item_type": {
- "id": 0,
- "title": "No limits"
}
}, - "status": {
- "id": 2,
- "title": "activated"
}
}
], - "meta": {
- "count": 1
}
}
Returns a list of authorized user certificates
company_id required | number Branch ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of certificates found) |
{- "success": true,
- "data": [
- {
- "id": 409726,
- "number": "888",
- "balance": 9000,
- "default_balance": 9000,
- "type_id": 27841,
- "status_id": 2,
- "created_date": "2014-09-21T23:00:00.000+03:00",
- "expiration_date": "2014-09-21T23:00:00.000+03:00",
- "type": {
- "id": 27841,
- "title": "certificate 9000",
- "balance": 9000,
- "is_multi": true,
- "company_group_id": 128284,
- "item_type_id": 0,
- "expiration_type_id": 2,
- "expiration_timeout": 365,
- "expiration_timeout_unit_id": 1,
- "is_allow_empty_code": false,
- "item_type": {
- "id": 0,
- "title": "No limits"
}
}, - "status": {
- "id": 2,
- "title": "activated"
}
}
], - "meta": {
- "count": 1
}
}
country_id | number Country ID to get cities from |
company_id | number Branch ID. If passed, the city of the branch will also be returned, regardless of whether it belongs to the specified country or not |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "id": 2,
- "country_id": 1,
- "title": "New York"
}, - {
- "id": 1040,
- "country_id": 30,
- "title": "Belfast"
}, - {
- "id": 1201,
- "country_id": 38,
- "title": "București"
}, - {
- "id": 1334,
- "country_id": 31,
- "title": "Budapest"
}
], - "meta": [ ]
}
The response object has the following fields:
Field | Type | Description |
---|---|---|
image_binded | boolean | Status of linking images to an entity |
image_group | object | Image group object |
entity required | string Example: "master" entity name (master/service) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string form-data |
Authorization required | string Bearer partner_token, User user_token |
company_id | number Salon ID for image binding (for entity=service) |
service_id | number Service ID for image binding (for entity=service) |
master_id | number Employee ID for image binding (for entity=master) |
image required | string transferred image (image/jpeg, image/png) |
object (ImageGroup) | |
required | object (ImageGroup) |
{- "success": true,
- "data": {
- "image_binded": false,
- "image_group ": {
- "id": 72256,
- "entity": "",
- "entity_id": 0,
- "images": {
- "basic": {
- "id": 186826,
- "width": 373,
- "height": 280,
- "type": "jpeg",
- "image_group_id": 72256,
- "version": "basic"
}
}
}
}, - "meta": [ ]
}
The response object has the following fields:
Field | Type | Description |
---|---|---|
success | boolean | Deletion result |
entity required | string entity name (master/service) |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string form-data |
Authorization required | string Bearer partner_token, User user_token |
image_group_id required | number Image group ID to delete |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
object (LicenseOption) | |
active required | number Is the license active |
deactivation_date required | string License expiration date |
id required | number License ID |
name required | string License name |
options required | Array of objects License options |
salon_id required | number Company ID |
staff_limit required | number Employee limit |
start_date required | string License start date |
{- "success": true,
- "data": {
- "id": 1,
- "salon_id": 4523464,
- "staff_limit": 5,
- "deactivation_date": "08.11.2019",
- "start_date": "07.05.2018",
- "name": "Start",
- "active": 1,
- "options": [
- {
- "id": 3,
- "title": "Online payment"
}
]
}, - "meta": [ ]
}
recordToken required | string Short entry token |
success | boolean Execution success status (true) |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "is_review_submitted": false,
- "page_title": "Leave feedback",
- "master": {
- "id": 58961,
- "name": "Alexey Uvarov",
- "company_id": 28939,
- "specialization": "Permanent Makeup, Artistic Tattoo",
- "rating": 5,
- "show_rating": 1,
- "prepaid": "forbidden",
- "position": {
- "id": 2185,
- "title": "Master PM"
}
}, - "company": {
- "id": 28939,
- "title": "\"Eyes-n-Lips\" New York",
- "address": "New York, 787 Jackson Drive"
}, - "tips": [ ],
- "record": {
- "id": 8219891,
- "payed_cost": "2000",
- "date": "2017-08-11T15:00:00+0000"
}, - "currency": {
- "id": 1,
- "iso": "RUB",
- "name": "US Dollar",
- "symbol": "USD",
- "is_symbol_after_amount": true
}, - "agreement_links": {
}, - "language": {
- "id": 1,
- "locale": "en-US",
- "iso": "usa"
}
}, - "meta": [ ]
}
recordToken required | string Short entry token |
rating required | integer <int32> Rating for the review (number of stars from 1 to 5) |
text | string Feedback text |
tips_amount | number <double> Tip amount |
redirect_prefix | string The prefix part of the url that will be redirected to after returning from the payment form |
{- "rating": 5,
- "text": "Excellent master!",
- "tips_amount": 22.5,
}
{- "success": true,
- "meta": [ ]
}
company_id required | integer salon id |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of found masters) |
{- "success": true,
- "data": [
- {
- "id": 3120,
- "location_id": 4564,
- "staff_id": 1071804,
- "hash": "1a27116c-726d-4cec-a7dd-7bd6d669a8c1",
- "status": 1,
- "status_title": "new settings",
- "is_enabled": false,
- "landing_external": "https://app.alteg.io/tips/external/4564/1a27116c-726d-4cec-a7dd-7bd6d669a8c1/",
- "staff": {
- "id": 1071804,
- "name": "Testimonials Branch Business Example",
- "specialization": "Reviews"
}
}, - {
- "id": 1,
- "location_id": 4564,
- "staff_id": 37695,
- "hash": "abf52f53-e94c-41e8-9f76-93485fd76e5e",
- "status": 1,
- "status_title": "new settings",
- "is_enabled": false,
- "landing_external": "https://app.alteg.io/tips/external/4564/abf52f53-e94c-41e8-9f76-93485fd76e5e/",
- "staff": {
- "id": 37695,
- "name": "Kim Kardashian",
- "specialization": "Cosmetologist-makeup artist",
- "user": {
- "id": 746310,
- "name": "James Smith",
- "phone": "+1-315-555-0175"
}, - "position": {
- "id": 452,
- "title": "Masseur"
}
}
}
]
}
master_tips_settings_id required | integer tip settings id |
company_id required | number Company ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of found masters) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "location_id": 253859,
- "staff_id": 742418,
- "hash": "ba816199-eecf-4bd2-9f1d-db470545bfaf",
- "status": 3,
- "status_title": "pending account",
- "is_enabled": true,
- "landing_external": "https://app.alteg.io/tips/external/253859/ba816199-eecf-4bd2-9f1d-db470545bfaf/",
- "invite_sms_sent": false,
- "staff": {
- "id": 742418,
- "name": "Fusa",
- "specialization": "specialist",
- "employee": {
- "id": 733043,
- "phone": "+1-315-555-0175"
}, - "user": {
- "id": 1553930,
- "name": "James Smith",
- "phone": "+1-315-555-0175"
}, - "position": {
- "id": 103883,
- "title": "Yogist"
}
}
}, - {
- "id": 152763,
- "location_id": 253859,
- "staff_id": 743018,
- "hash": "b7c81cab-290a-4b0a-ad05-9c4b98ef3565",
- "status": 4,
- "status_title": "everything is set",
- "is_enabled": true,
- "landing_external": "https://app.alteg.io/tips/external/253859/b7c81cab-290a-4b0a-ad05-9c4b98ef3565/",
- "invite_sms_sent": false,
- "staff": {
- "id": 743018,
- "name": "Natasha M",
- "specialization": "manicurist",
- "employee": {
- "id": 733547,
- "phone": "+1-315-555-0175"
}, - "user": {
- "id": 6259059,
- "name": "Alice Smith",
- "phone": "+1-315-555-0175"
}, - "position": {
- "id": 103731,
- "title": "Manicurist"
}
}
}
], - "meta": {
- "count": 2
}
}
company_id required | integer salon id |
master_tips_settings_id required | integer tip settings id |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array of objects with data | |
object Metadata (contains the number of found masters) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "location_id": 253859,
- "staff_id": 742418,
- "hash": "ba816199-eecf-4bd2-9f1d-db470545bfaf",
- "status": 3,
- "status_title": "pending account",
- "is_enabled": true,
- "landing_external": "https://app.alteg.io/tips/external/253859/ba816199-eecf-4bd2-9f1d-db470545bfaf/",
- "invite_sms_sent": false,
- "staff": {
- "id": 742418,
- "name": "Fusa",
- "specialization": "specialist",
- "employee": {
- "id": 733043,
- "phone": "+1-315-555-0175"
}, - "position": {
- "id": 103883,
- "title": "Yogist"
}
}
}, - {
- "id": 152763,
- "location_id": 253859,
- "staff_id": 743018,
- "hash": "b7c81cab-290a-4b0a-ad05-9c4b98ef3565",
- "status": 4,
- "status_title": "everything is set",
- "is_enabled": true,
- "landing_external": "https://app.alteg.io/tips/external/253859/b7c81cab-290a-4b0a-ad05-9c4b98ef3565/",
- "invite_sms_sent": false,
- "staff": {
- "id": 743018,
- "name": "Natasha M",
- "specialization": "manicurist",
- "employee": {
- "id": 733547,
- "phone": "+1-315-555-0175"
}, - "user": {
- "id": 6259059,
- "name": "Alice Smith",
- "phone": "+1-315-555-0175"
}, - "position": {
- "id": 103731,
- "title": "Manicurist"
}
}
}
], - "meta": {
- "count": 2
}
}
The method allows company owner to search payroll calculations for the period for an employee.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Mutual settlements) | |
object (Meta object with response results count) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": [
- {
- "id": 123,
- "company_id": 456,
- "staff_id": 789,
- "amount": 1000,
- "status": "confirmed",
- "date_create": "2023-03-03",
- "date_from": "2023-03-01",
- "date_to": "2023-03-02",
- "comment": "Calculation per day"
}
], - "meta": {
- "count": 1
}
}
The method allows company owner to get details of a specific payroll calculation.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
calculation_id required | number Example: 789 ID of a salary calculation. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Salary calculation object with details) | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": {
- "id": 123,
- "company_id": 456,
- "staff_id": 789,
- "amount": 1000,
- "status": "confirmed",
- "date_create": "2023-03-03",
- "date_from": "2023-03-01",
- "date_to": "2023-03-02",
- "comment": "Calculation per day",
- "salary_items": [
- {
- "date": "2023-03-01",
- "time": "12:00",
- "item_id": 123,
- "item_type_slug": "record",
- "salary_sum": "10",
- "record_id": 123,
- "client_id": 456,
- "cost": "1000",
- "paid": {
- "money_sum": "900",
- "discount_sum": "30",
- "bonus_sum": "70",
- "certificate_sum": "0",
- "abonement_sum": "0",
- "deposit_sum": "0"
}, - "salary_calculation_info": {
- "criteria_title": "Applied calculation criterium",
- "param_title": "Applied calculation parameter",
- "scheme_title": "Applied calculation scheme"
}, - "targets": [
- {
- "target_type_slug": "service",
- "target_id": 321,
- "title": "Cuttings",
- "cost": "1000",
- "net_cost": "500",
- "salary_sum": "10",
- "salary_promotion_sum": "1",
- "salary_calculation": {
- "type_slug": "percent",
- "value": 1.5,
- "description": "1.5% of cost"
}
}
], - "salary_discrepancy": {
- "reason": "updated_rule",
- "actual_sum": "15",
- "difference_sum": "5"
}
}
], - "currency": {
- "id": 2,
- "iso": "USD",
- "name": "US Dollar",
- "symbol": "$",
- "is_symbol_after_amount": false
}
}, - "meta": [ ]
}
The method allows you to get salary calculation schemes count for an employee before trying to obtain calculation data.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Salary schemes count) | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": {
- "staff_id": 1112684,
- "salary_schemes_count": 2
}, - "meta": [ ]
}
The method allows company owner to get mutual settlements of an employee.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Mutual settlements) Mutual settlements. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": {
- "total_sum": {
- "income": "0",
- "expense": "0",
- "balance": "240746.48"
}, - "currency": {
- "symbol": "$"
}
}, - "meta": [ ]
}
The method allows company owner to get mutual settlements of an employee grouped by date.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Mutual settlements grouped by date) Mutual settlements grouped by date. | |
object (Meta object with response results count) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": {
- "payroll_daily": [
- {
- "date": "2023-03-01",
- "payroll_sum": {
- "income": "0",
- "expense": "0",
- "balance": "240746.48"
}
}
], - "currency": {
- "symbol": "$"
}
}, - "meta": {
- "count": 1
}
}
The method allows company owner to get the calculation for the period for an employee.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Mutual settlements) Mutual settlements. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": {
- "working_days_count": 32,
- "working_hours_count": 353,
- "group_services_count": 3,
- "services_count": 0,
- "services_sum": "0",
- "goods_sales_count": 0,
- "goods_sales_sum": "0",
- "total_sum": "0",
- "salary": "70600",
- "currency": {
- "symbol": "$"
}
}, - "meta": [ ]
}
The method allows company owner to get the calculation for the period for an employee grouped by date.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Payroll for a period for an employee grouped by date) Payroll for a period for a specific employee grouped by date. | |
object (Meta object with response results count) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": {
- "period_calculation_daily": [
- {
- "date": "2023-03-01",
- "period_calculation": {
- "working_days_count": 32,
- "working_hours_count": 353,
- "group_services_count": 3,
- "services_count": 0,
- "services_sum": "0",
- "goods_sales_count": 0,
- "goods_sales_sum": "0",
- "total_sum": "0",
- "salary": "70600"
}
}
], - "currency": {
- "symbol": "$"
}
}, - "meta": {
- "count": 1
}
}
The method allows you to get own mutual settlements of a specific employee. In the user's access rights, the checkbox "Access to payroll only for a specific employee" must be specified.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Mutual settlements) Mutual settlements. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": {
- "total_sum": {
- "income": "0",
- "expense": "0",
- "balance": "240746.48"
}, - "currency": {
- "symbol": "$"
}
}, - "meta": [ ]
}
The method allows you to get own salary calculation schemes for a specific employee. In the user's access rights, the checkbox "Access to payroll only for a specific employee" must be specified.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
Array of objects (Salary scheme object) | |
object (Meta object with response results count) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
{- "success": true,
- "data": [
- {
- "staff_id": 1112684,
- "date_start": "2014-09-21T23:00:00.000+03:00",
- "date_end": "2014-09-21T23:00:00.000+03:00",
- "salary_scheme": {
- "id": 28681,
- "title": "Service 20%"
}
}, - {
- "staff_id": 1112684,
- "date_start": "2014-09-21T23:00:00.000+03:00",
- "salary_scheme": {
- "id": 28680,
- "title": "Service 30%"
}
}
], - "meta": {
- "count": 2
}
}
The method allows you to get the calculation for the period for a specific employee. In the user's access rights, the checkbox "Access to payroll only for a specific employee" must be checked.
company_id required | number Example: 123 ID of a company. |
staff_id required | number Example: 123 ID of an employee. |
date_from required | string Example: date_from=2023-03-01 Start from date. |
date_to required | string Example: date_to=2023-03-31 End to date. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
success | boolean (Successful response status) Response status. |
object (Payroll for a period for an employee) Payroll for a period for a specific employee. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "success": true,
- "data": {
- "working_days_count": 32,
- "working_hours_count": 353,
- "group_services_count": 3,
- "services_count": 0,
- "services_sum": "0",
- "goods_sales_count": 0,
- "goods_sales_sum": "0",
- "total_sum": "0",
- "salary": "70600",
- "currency": {
- "symbol": "$"
}
}, - "meta": [ ]
}
The method allows you to get notification settings in a branch.
company_id required | number Company ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, USer user_token |
success | boolean Execution success status |
Array of objects Array of objects | |
object Metadata (contains the number of objects) |
{- "success": true,
- "data": [
- {
- "type": "record_create_online_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_move_admin",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 1,
- "sms": 1,
- "email": 1
}
}, - {
- "type": "record_create_offline_admin",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_create_offline_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_create_online_admin",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_delete_admin",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_delete_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_move_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}
], - "meta": {
- "count": 9
}
}
The method allows you to get notification settings for a particular branch user.
company_id required | number Company ID |
user_id required | number User ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Execution success status |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": {
- "mode": "staff",
- "notification_types": [
- {
- "type": "record_create_online_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_create_offline_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_delete_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_move_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}
]
}, - "meta": [ ]
}
The method allows you to change the user's PUSH notification settings. The type of notification to be changed (record_create_online_staff or record_create_online_admin, etc.) should be selected based on the type of notification specified by the user (mode: admin or mode: staff)
company_id required | number Company ID |
user_id required | number User ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
Array of objects Array of objects |
success | boolean Execution success status |
object Object with data | |
meta | Array of objects Metadata (empty array) |
{- "notification_types": [
- {
- "type": "record_create_online_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "record_create_offline_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "record_delete_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "record_move_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 1
}
}
]
}
{- "success": true,
- "data": {
- "mode": "staff",
- "notification_types": [
- {
- "type": "record_create_online_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_create_offline_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_delete_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_move_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}
]
}, - "meta": [ ]
}
The method allows you to create a product
company_id required | number Branch ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Product Name |
print_title | string Title to be printed on receipt |
article | string vendor code |
barcode | string Barcode |
category_id required | integer Product category ID |
cost | number <float> Selling price |
actual_cost | number <float> Cost price |
sale_unit_id required | integer Sales unit |
service_unit_id required | integer Write-off unit |
unit_equals | number <float> The ratio of the unit of measure for sale to the unit of measure for write-off |
critical_amount | number <float> critical residue |
desired_amount | number <float> Desired balance |
netto | number <float> Net weight |
brutto | number <float> Gross weight |
comment | string A comment |
tax_variant | integer Taxation system |
vat_id | integer VAT |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status |
data | string Contains null |
object Contains an error message |
{- "title": "Shampoo",
- "print_title": "Shampoo",
- "article": "123",
- "barcode": "123",
- "category_id": 289632,
- "cost": 1000,
- "actual_cost": 500,
- "sale_unit_id": 216762,
- "service_unit_id": 216762,
- "unit_equals": 100,
- "critical_amount": 1,
- "desired_amount": 1,
- "netto": 200,
- "brutto": 250,
- "comment": "Test comment 123",
- "tax_variant": 0,
- "vat_id": 3
}
{- "success": true,
- "data": [
- {
- "title": "Shampoo 1",
- "value": "Shampoo 1",
- "label": "Shampoo 1 (123)",
- "good_id": "123456",
- "cost": "100500",
- "unit_id": "4835",
- "unit_short_title": "PC",
- "service_unit_id": "3548",
- "service_unit_short_title": "gr",
- "actual_cost": "1050",
- "unit_actual_cost": "105",
- "unit_actual_cost_format": "105 r",
- "unit_equals": "10",
- "barcode": "123",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "critical_amount": 0,
- "desired_amount": 0,
- "actual_amounts": [
- {
- "storage_id": "987",
- "amount": "1000000"
}
], - "last_change_date": "2017-01-01T12:00:00+0400"
}
], - "meta": [ ]
}
term: Name, article or barcode
page (number, 1
) - Page number (not used if good_id is passed)
count (number, 25
) - Number of products on the page (not used if good_id is passed)
category_id (number, 777
) - Id of the product category (not used if good_id is passed)
changed_after (string) - filtering products changed/created since a specific date and time (not used if good_id is passed)
changed_before (string) - filtering products changed/created before a specific date and time (not used if good_id is passed)
company_id required | number Company ID |
good_id required | number Product ID (if you need to get a specific product) |
term | string name, article number or barcode |
page | number Example: page=1 page number |
count | number Example: count=25 number of products per page |
category_id | number Product category ID |
changed_after | string Example: changed_after=2014-09-21T23:00:00.000+03:00 filtering products modified/created since a specific date and time |
changed_before | string Example: changed_before=2017-01-01T12:00:00+0400 filtering products modified/created before a specific date and time |
Accept required | string Example: application/vnd.api.v2+json e.g. application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
meta | Array of objects Metadata (empty array) |
{- "success": true,
- "data": [
- {
- "title": "Shampoo 1",
- "value": "Shampoo 1",
- "label": "Shampoo 1 (123)",
- "good_id": "123456",
- "cost": "100500",
- "unit_id": "4835",
- "unit_short_title": "PC",
- "service_unit_id": "3548",
- "service_unit_short_title": "gr",
- "actual_cost": "1050",
- "unit_actual_cost": "105",
- "unit_actual_cost_format": "105 r",
- "unit_equals": "10",
- "barcode": "123",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "critical_amount": 0,
- "desired_amount": 0,
- "actual_amounts": [
- {
- "storage_id": "987",
- "amount": "1000000"
}
], - "last_change_date": "2017-01-01T12:00:00+0400"
}
], - "meta": [ ]
}
The method allows you to change the product parameters. When editing units of measure for an item that already has warehouse operations, you must add an array of rules for recalculating units of measure - correction_rules. Otherwise, the array is optional.
company_id required | number Branch ID |
good_id required | number Item ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Product Name |
print_title | string Title to be printed on receipt |
article | string vendor code |
barcode | string Barcode |
category_id required | integer Product category ID |
cost | number <float> Selling price |
actual_cost | number <float> Cost price |
sale_unit_id required | integer Sales unit |
service_unit_id required | integer Write-off unit |
unit_equals | number <float> The ratio of the unit of measure for sale to the unit of measure for write-off |
critical_amount | number <float> critical residue |
desired_amount | number <float> Desired balance |
netto | number <float> Net weight |
brutto | number <float> Gross weight |
comment | string A comment |
tax_variant | integer Taxation system |
vat_id | integer VAT |
Array of objects An array of rules for converting units of measurement (required if there are warehouse operations for the product) |
success | boolean Execution success status (true) |
Array of objects Array with data objects | |
meta | Array of objects Metadata (empty array) |
success | boolean Execution success status |
data | string Contains null |
object Object with error message |
success | boolean Execution success status |
data | string Contains null |
object Contains an error message |
{- "title": "Shampoo",
- "print_title": "Shampoo",
- "article": "123",
- "barcode": "123",
- "category_id": 289632,
- "cost": 1000,
- "actual_cost": 500,
- "sale_unit_id": 216762,
- "service_unit_id": 216762,
- "unit_equals": 100,
- "critical_amount": 1,
- "desired_amount": 1,
- "netto": 200,
- "brutto": 250,
- "comment": "Test comment 123",
- "tax_variant": 0,
- "vat_id": 3,
- "correction_rules": [
- {
- "type": 1,
- "base_unit": "service"
}, - {
- "type": 2,
- "base_unit": "service"
}, - {
- "type": 3,
- "base_unit": "sale"
}, - {
- "type": 4,
- "base_unit": "sale"
}, - {
- "type": 5,
- "base_unit": "sale"
}
]
}
{- "success": true,
- "data": [
- {
- "title": "Shampoo 1",
- "value": "Shampoo 1",
- "label": "Shampoo 1 (123)",
- "good_id": "123456",
- "cost": "100500",
- "unit_id": "4835",
- "unit_short_title": "PC",
- "service_unit_id": "3548",
- "service_unit_short_title": "gr",
- "actual_cost": "1050",
- "unit_actual_cost": "105",
- "unit_actual_cost_format": "105 r",
- "unit_equals": "10",
- "barcode": "123",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "critical_amount": 0,
- "desired_amount": 0,
- "actual_amounts": [
- {
- "storage_id": "987",
- "amount": "1000000"
}
], - "last_change_date": "2017-01-01T12:00:00+0400"
}
], - "meta": [ ]
}
The method allows you to remove the product
company_id required | number Branch ID |
good_id required | number Item ID |
Accept required | string application/vnd.api.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
success | boolean Execution success status (true) |
object (Root Type for company_get_online_settings_response_data_field_data_types) | |
meta | Array of objects metadata |
{- "success": true,
- "data": {
- "confirm_number": false,
- "any_master": true,
- "seance_delay_step": 90,
- "activity_online_record_clients_count_max": 1
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
confirm_number required | boolean Confirm customer number via SMS |
any_master required | boolean "Any employee" mode |
seance_delay_step required | integer [ 0 .. 1380 ] Delay to the next session, in minutes from 0 to 23 hours (inclusive) in increments of 30 minutes |
activity_online_record_clients_count_max required | integer [ 1 .. 255 ] Maximum number of seats in one event record |
success | boolean Execution success status (true) |
object (Root Type for company_get_online_settings_response_data_field_data_types) | |
meta | Array of objects metadata |
{- "confirm_number": false,
- "any_master": true,
- "seance_delay_step": 90,
- "activity_online_record_clients_count_max": 1
}
{- "success": true,
- "data": {
- "confirm_number": false,
- "any_master": true,
- "seance_delay_step": 90,
- "activity_online_record_clients_count_max": 1
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
success | boolean Execution success status (true) |
object (Root Type for company_get_timetable_settings_response_data_field_data_types) | |
meta | Array of objects metadata |
{- "success": true,
- "data": {
- "record_type": 0,
- "activity_record_clients_count_max": 1
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
record_type required | integer [ 0 .. 2 ] Default record type: 0 - Mixed record, 1 - Individual record, 2 - Group record |
activity_record_clients_count_max required | integer [ 1 .. 255 ] Maximum number of seats in one event record |
success | boolean Execution success status (true) |
object (Root Type for company_get_timetable_settings_response_data_field_data_types) | |
meta | Array of objects metadata |
{- "record_type": 0,
- "activity_record_clients_count_max": 1
}
{- "success": true,
- "data": {
- "record_type": 90,
- "activity_record_clients_count_max": 1
}, - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
required | Array of objects (Root Type BookformSettingsResponse) Array of data |
meta required | Array of objects Metadata (contains the total count of bookforms) |
success required | boolean Success status (true) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Name",
- "is_default": false,
- "description": "Description",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}
], - "meta": [ ]
}
company_id required | number Company ID |
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
title required | string Name of the letterform |
description | string Default: "" Letter description |
is_default | boolean Default: false Default letterform flag |
without_menu | boolean Default: false Step mode flag |
service_step_default | number Service ID |
service_step_hide | boolean Default: false Service Hiding Flag |
master_step_default | number Master ID |
master_step_hide | boolean Default: false Master hide flag |
service_step_num | number Service step sequence number |
master_step_num | number Sequence number of the wizard step |
datetime_step_num | number Sequence number of the date and time step |
show_button | boolean Default: true Button visibility flag |
button_position | string Default: "bottom right" Enum: "bottom right" "bottom left" "top right" "top left " Button location on the page |
form_position | string Default: "right" Enum: "right" "left" Panel position on the page |
button_color | string Default: "#1c84c6" Button color |
button_animation | boolean Default: true Button animation enable flag |
required | object (Root Type BookformSettingsResponse) Letterform settings |
meta required | Array of objects Metadata |
success required | boolean Success status (true) |
{- "title": "string",
- "description": "",
- "is_default": false,
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 0,
- "master_step_num": 0,
- "datetime_step_num": 0,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true
}
{- "success": true,
- "data": {
- "id": 1,
- "title": "Name",
- "is_default": false,
- "description": "Description",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}, - "meta": [ ]
}
company_id required | number Company ID |
form_id required | number Letterform ID |
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
required | object (Root Type BookformSettingsResponse) Letterform settings |
meta required | Array of objects Metadata |
success required | boolean Success status (true) |
{- "success": true,
- "data": {
- "id": 1,
- "title": "Name",
- "is_default": false,
- "description": "Description",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}, - "meta": [ ]
}
company_id required | number Company ID |
form_id required | number Letterform ID |
Accept required | string e.g. application/vnd.api.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
title required | string Name of the letterform |
description required | string Letter description |
is_default required | boolean Default letterform flag |
without_menu required | boolean Step mode flag |
service_step_default required | number Service ID |
service_step_hide required | boolean Service Hiding Flag |
master_step_default required | number Master ID |
master_step_hide required | boolean Master hide flag |
service_step_num required | number Service step sequence number |
master_step_num required | number Sequence number of the wizard step |
datetime_step_num required | number Sequence number of the date and time step |
show_button required | boolean Button Visibility Step |
button_position required | string Enum: "bottom right" "bottom left" "top right" "top left" Button location on the page |
form_position required | string Enum: "right" "left" Panel position on the page |
button_color required | string Button color |
button_animation required | boolean Button animation enable flag |
required | object (Root Type BookformSettingsResponse) Letterform settings |
meta required | Array of objects Metadata |
success required | boolean Success status (true) |
{- "title": "string",
- "description": "string",
- "is_default": true,
- "without_menu": true,
- "service_step_default": 0,
- "service_step_hide": true,
- "master_step_default": 0,
- "master_step_hide": true,
- "service_step_num": 0,
- "master_step_num": 0,
- "datetime_step_num": 0,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "string",
- "button_animation": true
}
{- "success": true,
- "data": {
- "id": 1,
- "title": "Name",
- "is_default": false,
- "description": "Description",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}, - "meta": [ ]
}
The method allows you to get a list of current positions in the company
company_id required | number Company ID |
required | Array of objects (StaffPosition) Array of objects with data |
meta required | Array of objects Metadata (contains the number of posts found) |
success required | boolean Execution success status (true) |
{- "data": [
- {
- "id": 123,
- "title": "Job title"
}
], - "meta": [
- { }
], - "success": true
}
Creates a new position in a company; position is created as a chain entity and at the same time linked to a company initiated its creation.
company_id required | number Example: 123 ID of a company. |
Accept required | string Example: application/vnd.api.v2+json Should be equal to |
Content-Type required | string Example: application/json Should be equal to |
title required | string Title of a position. |
success | boolean (Successful response status) Response status. |
object (Object of model "Position") Data for an existing position in a chain. | |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Response error message) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
meta | object (Empty meta object) Additional response data. |
success | boolean (Unsuccessful response status) Response status. |
data | object or null (No data in response) Response data. |
object (Request validation error message) Additional response data. |
{- "title": "Position"
}
{- "success": true,
- "data": {
- "id": 123,
- "chain_id": 123,
- "title": "Position",
- "description": "Position description",
- "services_binding_type": 0,
- "rules_required_fields": [
- "employee_name",
- "surname",
- "patronymic",
- "date_admission",
- "date_registration_end",
- "phone_number",
- "citizenship",
- "sex",
- "passport_data",
- "inn",
- "number_insurance_certificates"
], - "only_chain_appointment": false
}, - "meta": { }
}
The method allows you to get the main indicators of the company for the selected period and compare with the previous period of the same duration
company_id required | number Company ID |
date_from required | string <date> Start date of the analyzed period |
date_to required | string <date> End date of the analyzed period (included in the report) |
staff_id | integer ID of the company employee whose work needs to be analyzed |
position_id | integer Company position ID to analyze the work of all employees belonging to the same position |
user_id | integer The user ID of the company whose work you want to analyze |
required | object (AnalyticsReportOverallStats) Summary indicators |
meta required | Array of objects metadata |
success required | boolean Execution success status (true) |
{- "data": {
- "income_total_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "USD"
}
}, - "income_services_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "USD"
}
}, - "income_goods_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "USD"
}
}, - "income_average_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "USD"
}
}, - "income_average_services_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "USD"
}
}, - "fullness_stats": {
- "current_percent": 12.1,
- "previous_percent": 10.2,
- "change_percent": 18
}, - "record_stats": {
- "current_completed_count": 150,
- "current_completed_percent": 75,
- "current_pending_count": 30,
- "current_pending_percent": 15,
- "current_canceled_count": 20,
- "current_canceled_percent": 10,
- "current_total_count": 200,
- "previous_total_count": 180,
- "change_percent": 11
}, - "client_stats": {
- "total_count": 1000,
- "new_count": 50,
- "new_percent": 10,
- "return_count": 450,
- "return_percent": 90,
- "active_count": 500,
- "lost_count": 20,
- "lost_percent": 2
}
}, - "meta": [
- { }
], - "success": true
}
company_id required | number Company ID |
date_from required | string <date> Start date of the analyzed period |
date_to required | string <date> End date of the analyzed period (included in the report) |
staff_id | integer ID of the company employee whose work needs to be analyzed |
position_id | integer Company position ID to analyze the work of all employees belonging to the same position |
user_id | integer The user ID of the company whose work you want to analyze |
label | string Name of data series |
data | Array of integers (AnalyticsReportOverallChartDailyRowItem) [ items <int32 >[ items <int32 > ] ] Data for each day. Each day is an array of two numbers. The first number is the timestamp of the beginning of the day in the UTC zone, the second number is the value of the indicator on that day. |
[- {
- "label": "Revenue",
- "data": [
- [
- "2014-09-21T23:00:00.000+03:00",
- 1000
], - [
- "2014-09-21T23:00:00.000+03:00",
- 500
]
]
}
]
company_id required | number Company ID |
date_from required | string <date> Start date of the analyzed period |
date_to required | string <date> End date of the analyzed period (included in the report) |
staff_id | integer ID of the company employee whose work needs to be analyzed |
user_id | integer User ID of the company whose work you want to analyze |
label | string Name of data series |
data | Array of integers (AnalyticsReportOverallChartDailyRowItem) [ items <int32 >[ items <int32 > ] ] Data for each day. Each day is an array of two numbers. The first number is the timestamp of the beginning of the day in the UTC zone, the second number is the value of the indicator on that day. |
[- {
- "label": "Number of records",
- "data": [
- [
- "2014-09-21T23:00:00.000+03:00",
- 1000
], - [
- "2014-09-21T23:00:00.000+03:00",
- 500
]
]
}, - {
- "label": "Number of online entries",
- "data": [
- [
- "2014-09-21T23:00:00.000+03:00",
- 1000
], - [
- "2014-09-21T23:00:00.000+03:00",
- 500
]
]
}, - {
- "label": "Number of new customer entries",
- "data": [
- [
- "2014-09-21T23:00:00.000+03:00",
- 1000
], - [
- "2014-09-21T23:00:00.000+03:00",
- 500
]
]
}
]
company_id required | number Company ID |
date_from required | string <date> Start date of the analyzed period |
date_to required | string <date> End date of the analyzed period (included in the report) |
staff_id | integer ID of the company employee whose work needs to be analyzed |
user_id | integer The user ID of the company whose work you want to analyze |
label | string Name of data series |
data | Array of integers (AnalyticsReportOverallChartDailyRowItem) [ items <int32 >[ items <int32 > ] ] Data for each day. Each day is an array of two numbers. The first number is the timestamp of the beginning of the day in the UTC zone, the second number is the value of the indicator on that day. |
[- {
- "label": "Working day occupancy, %",
- "data": [
- [
- "2014-09-21T23:00:00.000+03:00",
- 89.7
], - [
- "2014-09-21T23:00:00.000+03:00",
- 91.2
]
]
}
]
company_id required | number Company ID |
date_from required | string <date> Start date of the analyzed period |
date_to required | string <date> End date of the analyzed period (included in the report) |
staff_id | integer ID of the company employee whose work needs to be analyzed |
user_id | integer The user ID of the company whose work you want to analyze |
label | string Name of indicator |
data | integer Indicator value |
[- {
- "label": "Administrator",
- "data": 10
}, - {
- "label": "Widget",
- "data": 30
}
]
company_id required | number Company ID |
date_from required | string <date> Start date of the analyzed period |
date_to required | string <date> End date of the analyzed period (included in the report) |
staff_id | integer ID of the company employee whose work needs to be analyzed |
user_id | integer The user ID of the company whose work you want to analyze |
label | string Name of indicator |
data | integer Indicator value |
[- {
- "label": "Customer expectation",
- "data": 10
}, - {
- "label": "The client came",
- "data": 30
}, - {
- "label": "Customer confirmed",
- "data": 5
}, - {
- "label": "Client didn't come",
- "data": 2
}
]