API — документация
Прямой программный интерфейс InnSYNC PMS для интеграций: номера и квоты, тарифы и цены, правила бронирования, выгрузка бронирований, доп. услуги. Поддерживаются протоколы JSON и XML-RPC.
9 разделов
JSON + XML-RPC
600 вызовов / 3600 c
- Транспорты: JSON /wired-json/api/ и XML-RPC /xrws/.
- Авторизация: токен — заголовок X-API-KEY (JSON) или первый параметр (XML-RPC).
- Лимиты: 600/3600 c и до 16000 номеро-дней на запрос.
- 58 методов в 9 разделах; есть вебхуки.
Быстрый старт
- Запросите токен у техподдержки InnSync PMS.
- Выберите транспорт: JSON (рекомендуется) или XML-RPC.
- Отправьте метод с параметрами. В JSON-режиме токен передаётся заголовком X-API-KEY, в XML-RPC — первым аргументом.
- Соблюдайте лимиты — квоты общие для гостиницы (см. раздел «Лимиты»).
Транспорты и адреса
JSON
- Адрес
- https://pms.innsync.ru/wired-json/api/
- Заголовок
- X-API-KEY: YOUR_TOKEN
- Content-Type
- application/json
JSON-RPC 2.0-совместимый вызов: method и params.
XML-RPC
- Адрес
- https://pms.innsync.ru/xrws/
- Токен
- первый
<param> - Content-Type
- text/xml
Классический XML-RPC: <methodCall> с <methodName> и параметрами.
Пример: JSON
Один и тот же метод get_pricing_plans: разверните нужный формат — тело запроса, curl, Python или PHP.
JSON — тело запроса
{
"jsonrpc": "2.0",
"id": 1,
"method": "get_pricing_plans",
"params": {
"lcode": 1000
}
}
curl (JSON)
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"get_pricing_plans","params":{"lcode":1000}}'
Python (JSON)
import json, urllib.request
params = json.loads('{"lcode":1000}')
request = urllib.request.Request(
"https://pms.innsync.ru/wired-json/api/",
data=json.dumps({"jsonrpc": "2.0", "id": 1, "method": "get_pricing_plans", "params": params}).encode(),
headers={"Content-Type": "application/json", "X-API-KEY": "YOUR_TOKEN"},
)
result = json.load(urllib.request.urlopen(request))
PHP (JSON)
<?php
// Метод: get_pricing_plans
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'get_pricing_plans',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
Пример: XML-RPC
Тот же метод через XML-RPC. Токен передаётся первым параметром.
XML-RPC — тело запроса
<?xml version="1.0"?>
<methodCall><methodName>get_pricing_plans</methodName><params>
<param><value><string>YOUR_TOKEN</string></value></param>
<param><value><struct>
<member><name>lcode</name><value><int>1000</int></value></member>
</struct></value></param>
</params></methodCall>
curl (XML-RPC)
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>get_pricing_plans</methodName><params> <param><value><string>YOUR_TOKEN</string></value></param> <param><value><struct> <member><name>lcode</name><value><int>1000</int></value></member> </struct></value></param></params></methodCall>'
Python (XML-RPC)
import json, xmlrpc.client
params = json.loads('{"lcode":1000}')
api = xmlrpc.client.ServerProxy("https://pms.innsync.ru/xrws/", allow_none=True)
result = api.get_pricing_plans("YOUR_TOKEN", params)
PHP (XML-RPC)
<?php
// Токен передаётся первым <param> в теле XML-RPC
$xml = <<<'XML'
<?xml version="1.0"?>
<methodCall><methodName>get_pricing_plans</methodName><params>
<param><value><string>YOUR_TOKEN</string></value></param>
<param><value><struct>
<member><name>lcode</name><value><int>1000</int></value></member>
</struct></value></param>
</params></methodCall>
XML;
$ch = curl_init('https://pms.innsync.ru/xrws/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: text/xml'],
CURLOPT_POSTFIELDS => $xml,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
curl_close($ch);
// Если установлено расширение xmlrpc — можно распарсить ответ:
// $data = xmlrpc_decode($response);
echo $response;
Лимиты
Общая квота
600 вызовов за 3600 секунд на гостиницу.
Максимум на запрос
16000 «номеро-дней» (категория × дата) в одном запросе.
Точечные лимиты по методам
Указаны вызовы в рамках окна (секунд). Лимиты нормативные и общие для гостиницы.
| Метод | Вызовов | Окно, сек. |
|---|---|---|
fetch_rooms_values |
240 | 43200 |
rplan_get_rplan_values |
240 | 43200 |
fetch_bookings |
288 | 43200 |
fetch_bookings_codes |
24 | 3600 |
fetch_rooms |
240 | 86400 |
fetch_single_room |
187 | 86400 |
rplan_rplans |
240 | 86400 |
update_avail |
200 | 3600 |
Лимиты по номерам
Порог «номеро-дней» и окно, в котором он действует.
| Порог (номеро-дней) | Окно, сек. |
|---|---|
| 1460 | 1 |
| 4380 | 180 |
| 13140 | 3600 |
| 25550 | 43200 |
| 29200 | 86400 |
| 32850 | 172800 |
| 36500 | 259200 |
Общие сведения о данных
- Все идентификаторы сущностей — первичные ключи InnSYNC PMS.
- Значения
0и−1сохраняют служебный смысл стандартного тарифа или отсутствия значения. - Запись квот и цен выполняется в native-календарь InnSYNC; активное подключение Channel Manager блокирует write-профиль.
- Неизвестные ID и непредставимые значения возвращают ошибку; методы без подключённого обработчика завершаются ошибкой
−102.
Частые вопросы
Короткие ответы про подключение, транспорты, лимиты, вебхуки и ошибки.
Что такое API InnSync PMS?
Программный интерфейс InnSync PMS для интеграций: номера и квоты, тарифы и цены, правила бронирования, бронирования, доп. услуги и вебхуки. Данные доступны в рамках одного объекта размещения.
Какие протоколы поддерживаются?
Два транспорта: JSON (JSON-RPC-совместимый) по адресу /wired-json/api/ и XML-RPC по адресу /xrws/. Примеры даны для обоих.
Как аутентифицироваться?
По токену объекта размещения. В JSON токен передаётся заголовком X-API-KEY, в XML-RPC — первым параметром. Токен выдаёт техподдержка InnSync PMS, он работает только с выбранным объектом.
Какие лимиты у API?
Общая квота — 600 вызовов за час на гостиницу и максимум 16 000 «номеро-дней» на запрос. Также действуют точечные лимиты по отдельным методам (см. таблицу лимитов).
Есть ли вебхуки?
Да. push_activation и push_url управляют callback новых и изменённых броней; push_update_activation и push_update_url — callback изменений календаря. Разрешены только публичные HTTP(S)-адреса, доставка идёт с повторями.
Какие методы для квот и цен?
Квоты: update_avail, update_sparse_avail, fetch_rooms_values. Цены и тарифы: get_pricing_plans, add_pricing_plan, update_plan_rack, update_plan_prices, mod_vplans.
Как получить бронирования?
Метод fetch_bookings (и fetch_new_bookings) возвращает брони, mark_bookings отмечает их обработанными, fetch_deleted_bookings — удалённые.
Где примеры кода?
Для каждого метода приведены JSON-тело, команда curl, PHP и XML-RPC. В разделах «Пример: JSON» и «Пример: XML-RPC» — те же вызовы на curl, Python и PHP.
Что означают коды ошибок −102 и −7?
−102 — метод объявлен в контракте, но обработчик не подключён. −7 — запрошенная структура недоступна без явно импортированных особенностей; неизвестная структура не выдумывается.
Методы
🛏️ Номера (категории номеров)
fetch_rooms
Получить категории номеров гостиницы в формате.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- ancillary=1 пока недоступен: официальная страница не определяет точные дополнительные ключи; неизвестная структура не выдумывается. Каталог требует явно импортированных особенностей, иначе возвращается −7.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_rooms",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_rooms","params":{"lcode":1000}}'
<?php
// Метод: fetch_rooms
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_rooms',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_rooms</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_rooms</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
fetch_single_room
Получить одну категорию номера по ID PMS.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- ancillary=1 пока недоступен: официальная страница не определяет точные дополнительные ключи; неизвестная структура не выдумывается. Каталог требует явно импортированных особенностей, иначе возвращается −7.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rid |
да | — | ID PMS категории номера; для new_virtual_room — ID обычного родителя. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_single_room",
"params": {
"lcode": 1000,
"rid": 101
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_single_room","params":{"lcode":1000,"rid":101}}'
<?php
// Метод: fetch_single_room
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_single_room',
'params' => [
'lcode' => 1000,
'rid' => 101
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_single_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_single_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param></params></methodCall>'
new_room
Создать обычную категорию номера.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Обработчик не подключён: метод описан контрактом, но вызов завершится ошибкой −102.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
woodoo |
да | — | Признак использования категории в WooDoo: 0 или 1. |
name |
да | — | Основное название сущности. |
beds |
да | — | Количество взрослых для категории номера. |
defprice |
да | — | Цена категории по умолчанию. |
avail |
да | — | Доступное количество номеров по умолчанию. |
shortname |
да | — | Уникальное короткое имя категории, до четырёх символов. |
defboard |
да | — | Питание по умолчанию: nb, bb, hb, fb или ai. |
names |
нет | — | Переводы названия: объект с ключами name_XX. |
descriptions |
нет | — | Переводы описания категории номера по языкам. |
boards |
нет | — | Изменения цены для питания: ключ board и объект {dtype, value}. |
rtype |
нет | — | Тип категории номера. |
min_price |
нет | — | Минимальная цена категории. |
max_price |
нет | — | Максимальная цена категории. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_room",
"params": {
"lcode": 1000,
"woodoo": 0,
"name": "Стандарт",
"beds": 2,
"defprice": 100,
"avail": 2,
"shortname": "STD",
"defboard": "nb"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_room","params":{"lcode":1000,"woodoo":0,"name":"Стандарт","beds":2,"defprice":100,"avail":2,"shortname":"STD","defboard":"nb"}}'
<?php
// Метод: new_room
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_room',
'params' => [
'lcode' => 1000,
'woodoo' => 0,
'name' => 'Стандарт',
'beds' => 2,
'defprice' => 100,
'avail' => 2,
'shortname' => 'STD',
'defboard' => 'nb'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>0</int></value></param><param><value><string>Стандарт</string></value></param><param><value><int>2</int></value></param><param><value><int>100</int></value></param><param><value><int>2</int></value></param><param><value><string>STD</string></value></param><param><value><string>nb</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>0</int></value></param><param><value><string>Стандарт</string></value></param><param><value><int>2</int></value></param><param><value><int>100</int></value></param><param><value><int>2</int></value></param><param><value><string>STD</string></value></param><param><value><string>nb</string></value></param></params></methodCall>'
new_virtual_room
Создать виртуальную категорию с общим фондом родителя.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Обработчик не подключён: метод описан контрактом, но вызов завершится ошибкой −102.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rid |
да | — | ID PMS категории номера; для new_virtual_room — ID обычного родителя. |
woodoo |
да | — | Признак использования категории в WooDoo: 0 или 1. |
name |
да | — | Основное название сущности. |
beds |
да | — | Количество взрослых для категории номера. |
children |
да | — | Количество детей для виртуальной категории. |
defprice |
да | — | Цена категории по умолчанию. |
shortname |
да | — | Уникальное короткое имя категории, до четырёх символов. |
defboard |
да | — | Питание по умолчанию: nb, bb, hb, fb или ai. |
names |
нет | — | Переводы названия: объект с ключами name_XX. |
descriptions |
нет | — | Переводы описания категории номера по языкам. |
boards |
нет | — | Изменения цены для питания: ключ board и объект {dtype, value}. |
dec_avail |
нет | — | Величина уменьшения доступности родителя виртуальной категории. |
min_price |
нет | — | Минимальная цена категории. |
max_price |
нет | — | Максимальная цена категории. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_virtual_room",
"params": {
"lcode": 1000,
"rid": 101,
"woodoo": 0,
"name": "Стандарт плюс",
"beds": 2,
"children": 0,
"defprice": 100,
"shortname": "STP",
"defboard": "nb"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_virtual_room","params":{"lcode":1000,"rid":101,"woodoo":0,"name":"Стандарт плюс","beds":2,"children":0,"defprice":100,"shortname":"STP","defboard":"nb"}}'
<?php
// Метод: new_virtual_room
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_virtual_room',
'params' => [
'lcode' => 1000,
'rid' => 101,
'woodoo' => 0,
'name' => 'Стандарт плюс',
'beds' => 2,
'children' => 0,
'defprice' => 100,
'shortname' => 'STP',
'defboard' => 'nb'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_virtual_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param><param><value><int>0</int></value></param><param><value><string>Стандарт плюс</string></value></param><param><value><int>2</int></value></param><param><value><int>0</int></value></param><param><value><int>100</int></value></param><param><value><string>STP</string></value></param><param><value><string>nb</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_virtual_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param><param><value><int>0</int></value></param><param><value><string>Стандарт плюс</string></value></param><param><value><int>2</int></value></param><param><value><int>0</int></value></param><param><value><int>100</int></value></param><param><value><string>STP</string></value></param><param><value><string>nb</string></value></param></params></methodCall>'
mod_room
Изменить параметры обычной категории номера.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Обработчик не подключён: метод описан контрактом, но вызов завершится ошибкой −102.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rid |
да | — | ID PMS категории номера; для new_virtual_room — ID обычного родителя. |
name |
да | — | Основное название сущности. |
beds |
да | — | Количество взрослых для категории номера. |
defprice |
да | — | Цена категории по умолчанию. |
avail |
да | — | Доступное количество номеров по умолчанию. |
shortname |
да | — | Уникальное короткое имя категории, до четырёх символов. |
defboard |
да | — | Питание по умолчанию: nb, bb, hb, fb или ai. |
names |
нет | — | Переводы названия: объект с ключами name_XX. |
descriptions |
нет | — | Переводы описания категории номера по языкам. |
boards |
нет | — | Изменения цены для питания: ключ board и объект {dtype, value}. |
min_price |
нет | — | Минимальная цена категории. |
max_price |
нет | — | Максимальная цена категории. |
rtype |
нет | — | Тип категории номера. |
woodoo_only |
нет | — | Признак категории только для WooDoo: 0 или 1. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mod_room",
"params": {
"lcode": 1000,
"rid": 101,
"name": "Стандарт",
"beds": 2,
"defprice": 100,
"avail": 2,
"shortname": "STD",
"defboard": "nb"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mod_room","params":{"lcode":1000,"rid":101,"name":"Стандарт","beds":2,"defprice":100,"avail":2,"shortname":"STD","defboard":"nb"}}'
<?php
// Метод: mod_room
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mod_room',
'params' => [
'lcode' => 1000,
'rid' => 101,
'name' => 'Стандарт',
'beds' => 2,
'defprice' => 100,
'avail' => 2,
'shortname' => 'STD',
'defboard' => 'nb'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mod_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param><param><value><string>Стандарт</string></value></param><param><value><int>2</int></value></param><param><value><int>100</int></value></param><param><value><int>2</int></value></param><param><value><string>STD</string></value></param><param><value><string>nb</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mod_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param><param><value><string>Стандарт</string></value></param><param><value><int>2</int></value></param><param><value><int>100</int></value></param><param><value><int>2</int></value></param><param><value><string>STD</string></value></param><param><value><string>nb</string></value></param></params></methodCall>'
mod_virtual_room
Изменить параметры виртуальной категории номера.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Обработчик не подключён: метод описан контрактом, но вызов завершится ошибкой −102.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rid |
да | — | ID PMS категории номера; для new_virtual_room — ID обычного родителя. |
name |
да | — | Основное название сущности. |
beds |
да | — | Количество взрослых для категории номера. |
children |
да | — | Количество детей для виртуальной категории. |
defprice |
да | — | Цена категории по умолчанию. |
short |
да | — | Короткое имя виртуальной категории, до четырёх символов. |
defboard |
да | — | Питание по умолчанию: nb, bb, hb, fb или ai. |
names |
нет | — | Переводы названия: объект с ключами name_XX. |
descriptions |
нет | — | Переводы описания категории номера по языкам. |
boards |
нет | — | Изменения цены для питания: ключ board и объект {dtype, value}. |
dec_avail |
нет | — | Величина уменьшения доступности родителя виртуальной категории. |
min_price |
нет | — | Минимальная цена категории. |
max_price |
нет | — | Максимальная цена категории. |
woodoo_only |
нет | — | Признак категории только для WooDoo: 0 или 1. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mod_virtual_room",
"params": {
"lcode": 1000,
"rid": 102,
"name": "Стандарт плюс",
"beds": 2,
"children": 0,
"defprice": 110,
"short": "STP",
"defboard": "nb"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mod_virtual_room","params":{"lcode":1000,"rid":102,"name":"Стандарт плюс","beds":2,"children":0,"defprice":110,"short":"STP","defboard":"nb"}}'
<?php
// Метод: mod_virtual_room
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mod_virtual_room',
'params' => [
'lcode' => 1000,
'rid' => 102,
'name' => 'Стандарт плюс',
'beds' => 2,
'children' => 0,
'defprice' => 110,
'short' => 'STP',
'defboard' => 'nb'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mod_virtual_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>102</int></value></param><param><value><string>Стандарт плюс</string></value></param><param><value><int>2</int></value></param><param><value><int>0</int></value></param><param><value><int>110</int></value></param><param><value><string>STP</string></value></param><param><value><string>nb</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mod_virtual_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>102</int></value></param><param><value><string>Стандарт плюс</string></value></param><param><value><int>2</int></value></param><param><value><int>0</int></value></param><param><value><int>110</int></value></param><param><value><string>STP</string></value></param><param><value><string>nb</string></value></param></params></methodCall>'
del_room
Удалить категорию номера.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Обработчик не подключён: метод описан контрактом, но вызов завершится ошибкой −102.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rid |
да | — | ID PMS категории номера; для new_virtual_room — ID обычного родителя. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "del_room",
"params": {
"lcode": 1000,
"rid": 101
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"del_room","params":{"lcode":1000,"rid":101}}'
<?php
// Метод: del_room
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'del_room',
'params' => [
'lcode' => 1000,
'rid' => 101
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>del_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>del_room</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param></params></methodCall>'
room_images
Получить фотографии категории с временными ссылками S3.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- id_room — ID категории номера в PMS; image_link содержит временный presigned URL.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rid |
да | — | ID PMS категории номера; для new_virtual_room — ID обычного родителя. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "room_images",
"params": {
"lcode": 1000,
"rid": 101
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"room_images","params":{"lcode":1000,"rid":101}}'
<?php
// Метод: room_images
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'room_images',
'params' => [
'lcode' => 1000,
'rid' => 101
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>room_images</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>room_images</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>101</int></value></param></params></methodCall>'
📅 Доступность и квоты
update_avail
Записать последовательные дневные квоты и флаг no_ota.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Запись выполняется в native календарь InnSYNC; активное подключение Channel Manager блокирует этот write-профиль. Неизвестные ID PMS и непредставимые значения дают ошибку.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
rooms |
да | — | Массив {id, days:[{avail, no_ota}..]}; дни последовательны начиная с dfrom. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "update_avail",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"rooms": [
{
"id": 101,
"days": [
{
"avail": 2,
"no_ota": 0
},
{
"avail": 2
}
]
}
]
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"update_avail","params":{"lcode":1000,"dfrom":"19/10/2026","rooms":[{"id":101,"days":[{"avail":2,"no_ota":0},{"avail":2}]}]}}'
<?php
// Метод: update_avail
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'update_avail',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'rooms' => [
[
'id' => 101,
'days' => [
[
'avail' => 2,
'no_ota' => 0
],
[
'avail' => 2
]
]
]
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>update_avail</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><array><data><value><struct><member><name>id</name><value><int>101</int></value></member><member><name>days</name><value><array><data><value><struct><member><name>avail</name><value><int>2</int></value></member><member><name>no_ota</name><value><int>0</int></value></member></struct></value><value><struct><member><name>avail</name><value><int>2</int></value></member></struct></value></data></array></value></member></struct></value></data></array></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>update_avail</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><array><data><value><struct><member><name>id</name><value><int>101</int></value></member><member><name>days</name><value><array><data><value><struct><member><name>avail</name><value><int>2</int></value></member><member><name>no_ota</name><value><int>0</int></value></member></struct></value><value><struct><member><name>avail</name><value><int>2</int></value></member></struct></value></data></array></value></member></struct></value></data></array></value></param></params></methodCall>'
update_sparse_avail
Записать квоты только для явно указанных дат.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Запись выполняется в native календарь InnSYNC; активное подключение Channel Manager блокирует этот write-профиль. Неизвестные ID PMS и непредставимые значения дают ошибку.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rooms |
да | — | Массив {id, days:[{date:"dd/mm/yyyy", avail, no_ota}..]}. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "update_sparse_avail",
"params": {
"lcode": 1000,
"rooms": [
{
"id": 101,
"days": [
{
"date": "19/10/2026",
"avail": 2,
"no_ota": 0
}
]
}
]
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"update_sparse_avail","params":{"lcode":1000,"rooms":[{"id":101,"days":[{"date":"19/10/2026","avail":2,"no_ota":0}]}]}}'
<?php
// Метод: update_sparse_avail
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'update_sparse_avail',
'params' => [
'lcode' => 1000,
'rooms' => [
[
'id' => 101,
'days' => [
[
'date' => '19/10/2026',
'avail' => 2,
'no_ota' => 0
]
]
]
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>update_sparse_avail</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><array><data><value><struct><member><name>id</name><value><int>101</int></value></member><member><name>days</name><value><array><data><value><struct><member><name>date</name><value><string>19/10/2026</string></value></member><member><name>avail</name><value><int>2</int></value></member><member><name>no_ota</name><value><int>0</int></value></member></struct></value></data></array></value></member></struct></value></data></array></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>update_sparse_avail</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><array><data><value><struct><member><name>id</name><value><int>101</int></value></member><member><name>days</name><value><array><data><value><struct><member><name>date</name><value><string>19/10/2026</string></value></member><member><name>avail</name><value><int>2</int></value></member><member><name>no_ota</name><value><int>0</int></value></member></struct></value></data></array></value></member></struct></value></data></array></value></param></params></methodCall>'
fetch_rooms_values
Получить дневные цены, доступность и стандартные ограничения.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
rooms |
нет | — | Массив ID PMS категорий; пустой массив означает все категории. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_rooms_values",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"dto": "21/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_rooms_values","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
<?php
// Метод: fetch_rooms_values
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_rooms_values',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_rooms_values</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_rooms_values</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>'
💰 Тарифы и цены
add_pricing_plan
Создать дневной тарифный план.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "add_pricing_plan",
"params": {
"lcode": 1000,
"name": "Пример"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"add_pricing_plan","params":{"lcode":1000,"name":"Пример"}}'
<?php
// Метод: add_pricing_plan
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'add_pricing_plan',
'params' => [
'lcode' => 1000,
'name' => 'Пример'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>add_pricing_plan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Пример</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>add_pricing_plan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Пример</string></value></param></params></methodCall>'
add_vplan
Создать виртуальный тариф как изменение цены родителя.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
pid |
да | — | ID PMS тарифа или плана; для цен 0 означает Parity, для политик — ID политики. |
dtype |
да | — | −1/1 — уменьшение/увеличение в процентах; −2/2 — фиксированная величина. |
value |
да | — | Величина изменения цены или штрафа в зависимости от метода. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "add_vplan",
"params": {
"lcode": 1000,
"name": "Тариф со скидкой",
"pid": 0,
"dtype": -1,
"value": 10
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"add_vplan","params":{"lcode":1000,"name":"Тариф со скидкой","pid":0,"dtype":-1,"value":10}}'
<?php
// Метод: add_vplan
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'add_vplan',
'params' => [
'lcode' => 1000,
'name' => 'Тариф со скидкой',
'pid' => 0,
'dtype' => -1,
'value' => 10
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>add_vplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Тариф со скидкой</string></value></param><param><value><int>0</int></value></param><param><value><int>-1</int></value></param><param><value><int>10</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>add_vplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Тариф со скидкой</string></value></param><param><value><int>0</int></value></param><param><value><int>-1</int></value></param><param><value><int>10</int></value></param></params></methodCall>'
del_plan
Удалить тарифный план, если его зависимости разрешают удаление.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS тарифа или плана; для цен 0 означает Parity, для политик — ID политики. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "del_plan",
"params": {
"lcode": 1000,
"pid": 10
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"del_plan","params":{"lcode":1000,"pid":10}}'
<?php
// Метод: del_plan
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'del_plan',
'params' => [
'lcode' => 1000,
'pid' => 10
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>del_plan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>del_plan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param></params></methodCall>'
update_plan_name
Изменить название тарифного плана.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS тарифа или плана; для цен 0 означает Parity, для политик — ID политики. |
name |
да | — | Основное название сущности. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "update_plan_name",
"params": {
"lcode": 1000,
"pid": 10,
"name": "Пример"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"update_plan_name","params":{"lcode":1000,"pid":10,"name":"Пример"}}'
<?php
// Метод: update_plan_name
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'update_plan_name',
'params' => [
'lcode' => 1000,
'pid' => 10,
'name' => 'Пример'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>update_plan_name</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>Пример</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>update_plan_name</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>Пример</string></value></param></params></methodCall>'
get_pricing_plans
Получить тарифные планы и связи виртуальных тарифов.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "get_pricing_plans",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"get_pricing_plans","params":{"lcode":1000}}'
<?php
// Метод: get_pricing_plans
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'get_pricing_plans',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>get_pricing_plans</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>get_pricing_plans</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
update_plan_rack
Задать недельные цены дневного тарифа с понедельника по воскресенье.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Запись выполняется в native календарь InnSYNC; активное подключение Channel Manager блокирует этот write-профиль. Неизвестные ID PMS и непредставимые значения дают ошибку.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS тарифа или плана; для цен 0 означает Parity, для политик — ID политики. |
rack |
да | — | Объект ID категории → семь цен с понедельника по воскресенье. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "update_plan_rack",
"params": {
"lcode": 1000,
"pid": 10,
"rack": {
"101": [
100,
100,
100,
100,
100,
120,
120
]
}
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"update_plan_rack","params":{"lcode":1000,"pid":10,"rack":{"101":[100,100,100,100,100,120,120]}}}'
<?php
// Метод: update_plan_rack
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'update_plan_rack',
'params' => [
'lcode' => 1000,
'pid' => 10,
'rack' => [
'101' => [
100,
100,
100,
100,
100,
120,
120
]
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>update_plan_rack</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><struct><member><name>101</name><value><array><data><value><int>100</int></value><value><int>100</int></value><value><int>100</int></value><value><int>100</int></value><value><int>100</int></value><value><int>120</int></value><value><int>120</int></value></data></array></value></member></struct></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>update_plan_rack</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><struct><member><name>101</name><value><array><data><value><int>100</int></value><value><int>100</int></value><value><int>100</int></value><value><int>100</int></value><value><int>100</int></value><value><int>120</int></value><value><int>120</int></value></data></array></value></member></struct></value></param></params></methodCall>'
mod_vplans
Изменить величину и тип изменения цены виртуальных тарифов.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
plans |
да | — | Массив {pid, variation_type, variation}; тип −1/1 — процент, −2/2 — фиксированная величина. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mod_vplans",
"params": {
"lcode": 1000,
"plans": [
{
"pid": 11,
"variation_type": -1,
"variation": 10
}
]
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mod_vplans","params":{"lcode":1000,"plans":[{"pid":11,"variation_type":-1,"variation":10}]}}'
<?php
// Метод: mod_vplans
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mod_vplans',
'params' => [
'lcode' => 1000,
'plans' => [
[
'pid' => 11,
'variation_type' => -1,
'variation' => 10
]
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mod_vplans</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><array><data><value><struct><member><name>pid</name><value><int>11</int></value></member><member><name>variation_type</name><value><int>-1</int></value></member><member><name>variation</name><value><int>10</int></value></member></struct></value></data></array></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mod_vplans</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><array><data><value><struct><member><name>pid</name><value><int>11</int></value></member><member><name>variation_type</name><value><int>-1</int></value></member><member><name>variation</name><value><int>10</int></value></member></struct></value></data></array></value></param></params></methodCall>'
update_plan_prices
Записать последовательные дневные цены выбранного тарифа.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Запись выполняется в native календарь InnSYNC; активное подключение Channel Manager блокирует этот write-профиль. Неизвестные ID PMS и непредставимые значения дают ошибку.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS тарифа или плана; для цен 0 означает Parity, для политик — ID политики. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
prices |
да | — | Объект ID категории → массив дневных цен, начиная с dfrom. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "update_plan_prices",
"params": {
"lcode": 1000,
"pid": 10,
"dfrom": "19/10/2026",
"prices": {
"101": [
100,
110
]
}
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"update_plan_prices","params":{"lcode":1000,"pid":10,"dfrom":"19/10/2026","prices":{"101":[100,110]}}}'
<?php
// Метод: update_plan_prices
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'update_plan_prices',
'params' => [
'lcode' => 1000,
'pid' => 10,
'dfrom' => '19/10/2026',
'prices' => [
'101' => [
100,
110
]
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>update_plan_prices</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><struct><member><name>101</name><value><array><data><value><int>100</int></value><value><int>110</int></value></data></array></value></member></struct></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>update_plan_prices</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><struct><member><name>101</name><value><array><data><value><int>100</int></value><value><int>110</int></value></data></array></value></member></struct></value></param></params></methodCall>'
fetch_plan_prices
Получить дневные цены выбранного тарифа.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS тарифа или плана; для цен 0 означает Parity, для политик — ID политики. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
rooms |
нет | Массив ID PMS категорий; пустой массив означает все категории. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_plan_prices",
"params": {
"lcode": 1000,
"pid": 10,
"dfrom": "19/10/2026",
"dto": "21/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_plan_prices","params":{"lcode":1000,"pid":10,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
<?php
// Метод: fetch_plan_prices
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_plan_prices',
'params' => [
'lcode' => 1000,
'pid' => 10,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_plan_prices</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_plan_prices</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>'
⛔ Правила бронирования
rplan_add_rplan
Создать дневной или компактный план ограничений.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
compact |
да | — | 0 — дневной план ограничений; 1 — компактный с общими правилами. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_add_rplan",
"params": {
"lcode": 1000,
"name": "Стандартные ограничения",
"compact": 0
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_add_rplan","params":{"lcode":1000,"name":"Стандартные ограничения","compact":0}}'
<?php
// Метод: rplan_add_rplan
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_add_rplan',
'params' => [
'lcode' => 1000,
'name' => 'Стандартные ограничения',
'compact' => 0
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_add_rplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Стандартные ограничения</string></value></param><param><value><int>0</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_add_rplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Стандартные ограничения</string></value></param><param><value><int>0</int></value></param></params></methodCall>'
rplan_rplans
Получить планы ограничений и правила компактных планов.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_rplans",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_rplans","params":{"lcode":1000}}'
<?php
// Метод: rplan_rplans
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_rplans',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_rplans</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_rplans</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
rplan_del_rplan
Удалить план ограничений, если он не используется.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rpid |
да | — | ID PMS плана ограничений. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_del_rplan",
"params": {
"lcode": 1000,
"rpid": 21
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_del_rplan","params":{"lcode":1000,"rpid":21}}'
<?php
// Метод: rplan_del_rplan
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_del_rplan',
'params' => [
'lcode' => 1000,
'rpid' => 21
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_del_rplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>21</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_del_rplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>21</int></value></param></params></methodCall>'
rplan_rename_rplan
Изменить название плана ограничений.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rpid |
да | — | ID PMS плана ограничений. |
name |
да | — | Основное название сущности. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_rename_rplan",
"params": {
"lcode": 1000,
"rpid": 21,
"name": "Пример"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_rename_rplan","params":{"lcode":1000,"rpid":21,"name":"Пример"}}'
<?php
// Метод: rplan_rename_rplan
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_rename_rplan',
'params' => [
'lcode' => 1000,
'rpid' => 21,
'name' => 'Пример'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_rename_rplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>21</int></value></param><param><value><string>Пример</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_rename_rplan</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>21</int></value></param><param><value><string>Пример</string></value></param></params></methodCall>'
rplan_update_rplan_rules
Заменить полные правила компактного плана ограничений.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Запись выполняется в native календарь InnSYNC; активное подключение Channel Manager блокирует этот write-профиль. Неизвестные ID PMS и непредставимые значения дают ошибку.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS плана ограничений; для rules нужен компактный, для values — дневной. |
rules |
да | — | Полный объект семи ограничений: min_stay, max_stay, min_stay_arrival, max_stay_arrival, closed, closed_arrival, closed_departure. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_update_rplan_rules",
"params": {
"lcode": 1000,
"pid": 20,
"rules": {
"min_stay": 1,
"max_stay": 0,
"min_stay_arrival": 1,
"max_stay_arrival": 0,
"closed": 0,
"closed_arrival": 0,
"closed_departure": 0
}
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_update_rplan_rules","params":{"lcode":1000,"pid":20,"rules":{"min_stay":1,"max_stay":0,"min_stay_arrival":1,"max_stay_arrival":0,"closed":0,"closed_arrival":0,"closed_departure":0}}}'
<?php
// Метод: rplan_update_rplan_rules
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_update_rplan_rules',
'params' => [
'lcode' => 1000,
'pid' => 20,
'rules' => [
'min_stay' => 1,
'max_stay' => 0,
'min_stay_arrival' => 1,
'max_stay_arrival' => 0,
'closed' => 0,
'closed_arrival' => 0,
'closed_departure' => 0
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_update_rplan_rules</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>20</int></value></param><param><value><struct><member><name>min_stay</name><value><int>1</int></value></member><member><name>max_stay</name><value><int>0</int></value></member><member><name>min_stay_arrival</name><value><int>1</int></value></member><member><name>max_stay_arrival</name><value><int>0</int></value></member><member><name>closed</name><value><int>0</int></value></member><member><name>closed_arrival</name><value><int>0</int></value></member><member><name>closed_departure</name><value><int>0</int></value></member></struct></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_update_rplan_rules</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>20</int></value></param><param><value><struct><member><name>min_stay</name><value><int>1</int></value></member><member><name>max_stay</name><value><int>0</int></value></member><member><name>min_stay_arrival</name><value><int>1</int></value></member><member><name>max_stay_arrival</name><value><int>0</int></value></member><member><name>closed</name><value><int>0</int></value></member><member><name>closed_arrival</name><value><int>0</int></value></member><member><name>closed_departure</name><value><int>0</int></value></member></struct></value></param></params></methodCall>'
rplan_update_rplan_values
Записать дневные ограничения с частичным обновлением полей.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Запись выполняется в native календарь InnSYNC; активное подключение Channel Manager блокирует этот write-профиль. Неизвестные ID PMS и непредставимые значения дают ошибку.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS плана ограничений; для rules нужен компактный, для values — дневной. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
values |
да | — | Объект ID категории → массив дневных patches ограничений; отсутствие поля сохраняет прежнее значение. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_update_rplan_values",
"params": {
"lcode": 1000,
"pid": 21,
"dfrom": "19/10/2026",
"values": {
"101": [
{
"min_stay": 2,
"closed": 0
},
{}
]
}
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_update_rplan_values","params":{"lcode":1000,"pid":21,"dfrom":"19/10/2026","values":{"101":[{"min_stay":2,"closed":0},{}]}}}'
<?php
// Метод: rplan_update_rplan_values
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_update_rplan_values',
'params' => [
'lcode' => 1000,
'pid' => 21,
'dfrom' => '19/10/2026',
'values' => [
'101' => [
[
'min_stay' => 2,
'closed' => 0
],
[]
]
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_update_rplan_values</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>21</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><struct><member><name>101</name><value><array><data><value><struct><member><name>min_stay</name><value><int>2</int></value></member><member><name>closed</name><value><int>0</int></value></member></struct></value><value><struct></struct></value></data></array></value></member></struct></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_update_rplan_values</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>21</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><struct><member><name>101</name><value><array><data><value><struct><member><name>min_stay</name><value><int>2</int></value></member><member><name>closed</name><value><int>0</int></value></member></struct></value><value><struct></struct></value></data></array></value></member></struct></value></param></params></methodCall>'
rplan_get_rplan_values
Получить дневные значения планов ограничений.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
rpids |
нет | — | Массив ID дневных планов ограничений; отсутствие фильтра выбирает все доступные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "rplan_get_rplan_values",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"dto": "21/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"rplan_get_rplan_values","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
<?php
// Метод: rplan_get_rplan_values
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'rplan_get_rplan_values',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>rplan_get_rplan_values</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>rplan_get_rplan_values</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>'
📥 Выгрузка бронирований
fetch_booking
Получить одну бронь без маркировки её receipt.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rcode |
да | — | Код брони выбранной гостиницы. |
ancillary |
нет | false | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_booking",
"params": {
"lcode": 1000,
"rcode": 2000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_booking","params":{"lcode":1000,"rcode":2000}}'
<?php
// Метод: fetch_booking
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_booking',
'params' => [
'lcode' => 1000,
'rcode' => 2000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_booking</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_booking</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>'
fetch_new_bookings
Получить до 120 непрочитанных броней; по умолчанию пометить их прочитанными.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Receipt общий для гостиницы и всех её токенов. mark=1 по умолчанию меняет receipt; максимум 120 броней за вызов.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
mark |
нет | 1 | 1 — отметить возвращённые брони прочитанными, 0 — оставить для повторного получения. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_new_bookings",
"params": {
"lcode": 1000,
"mark": 0
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_new_bookings","params":{"lcode":1000,"mark":0}}'
<?php
// Метод: fetch_new_bookings
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_new_bookings',
'params' => [
'lcode' => 1000,
'mark' => 0
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_new_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_new_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param></params></methodCall>'
mark_bookings
Пометить указанные брони прочитанными; пустой массив отмечает все.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Пустой массив reservations отмечает все брони гостиницы; действие влияет на другие токены этой гостиницы.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
reservations |
да | — | Массив кодов броней; пустой массив маркирует все гостиничные receipts. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mark_bookings",
"params": {
"lcode": 1000,
"reservations": [
2000
]
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mark_bookings","params":{"lcode":1000,"reservations":[2000]}}'
<?php
// Метод: mark_bookings
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mark_bookings',
'params' => [
'lcode' => 1000,
'reservations' => [
2000
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mark_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><array><data><value><int>2000</int></value></data></array></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mark_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><array><data><value><int>2000</int></value></data></array></value></param></params></methodCall>'
fetch_bookings
Получить брони по датам; без фильтра действует как fetch_new_bookings с mark=1.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Без dfrom/dto вызов маркирует общие гостиничные receipts; с датами маркировки нет. Максимум 120 броней за вызов.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
нет | — | Начальная дата в формате dd/mm/yyyy. |
dto |
нет | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
oncreated |
нет | 1 | 1 — фильтровать по дате создания, 0 — по дате заселения. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_bookings",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"dto": "21/10/2026",
"oncreated": 1
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_bookings","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026","oncreated":1}}'
<?php
// Метод: fetch_bookings
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_bookings',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026',
'oncreated' => 1
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><int>1</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><int>1</int></value></param></params></methodCall>'
fetch_deleted_bookings
Получить отменённые брони по датам без маркировки receipts.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
нет | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_deleted_bookings",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_deleted_bookings","params":{"lcode":1000,"dfrom":"19/10/2026"}}'
<?php
// Метод: fetch_deleted_bookings
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_deleted_bookings',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_deleted_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_deleted_bookings</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param></params></methodCall>'
fetch_bookings_codes
Получить только коды броней за период.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
oncreated |
нет | 1 | 1 — фильтровать по дате создания, 0 — по дате заселения. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_bookings_codes",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"dto": "21/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_bookings_codes","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
<?php
// Метод: fetch_bookings_codes
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_bookings_codes',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_bookings_codes</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_bookings_codes</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>'
get_fount_symbols
Получить словарь доступных идентификаторов источников Fount.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- В текущем InnSYNC словарь Fount пуст; неизвестные источники не выдумываются.
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "get_fount_symbols",
"params": {}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"get_fount_symbols","params":{}}'
<?php
// Метод: get_fount_symbols
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'get_fount_symbols',
'params' => [],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>get_fount_symbols</methodName><params><param><value><string>YOUR_TOKEN</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>get_fount_symbols</methodName><params><param><value><string>YOUR_TOKEN</string></value></param></params></methodCall>'
🧾 Бронирования (создание и отмена)
new_reservation
Создать прямую бронь с заданной итоговой суммой и проверкой доступности.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- ccard поддерживается только как 0; передача карточных данных недоступна без защищённого native workflow. ignore_avail=1 допускает overbooking, ignore_restrs=1 отключает проверку ограничений.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
rooms |
да | — | Объект ID категории → [количество, питание]; питание nb, bb, hb, fb или ai. |
customer |
да | — | Объект lname, fname, email, city, phone, street, country, arrival_hour, notes; country — двухбуквенный код. |
amount |
да | — | Итоговая сумма брони; текущая реализация сохраняет её как заданную клиентом цену. |
origin |
нет | xml | Подпись источника прямой брони. |
ccard |
нет | 0 | Карточная гарантия; текущая реализация принимает только 0. |
ancillary |
нет | 0 | 0 либо произвольный объект дополнительных сведений брони. |
guests |
нет | 0 | 0 либо объект с целым men и необязательным children. |
ignore_restrs |
нет | 0 | 1 — пропустить проверку ограничений, 0 — соблюдать их. |
ignore_avail |
нет | 0 | 1 — разрешить создание без доступности, 0 — проверять доступность. |
status |
нет | 1 | 1 — подтверждена, 2 — ожидает подтверждения. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_reservation",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"dto": "21/10/2026",
"rooms": {
"101": [
1,
"nb"
]
},
"customer": {
"lname": "Пример",
"fname": "Гость",
"email": "guest@example.invalid",
"city": "",
"phone": "",
"street": "",
"country": "RU",
"arrival_hour": "",
"notes": ""
},
"amount": 200,
"ccard": 0,
"ancillary": 0,
"guests": {
"men": 2,
"children": 0
}
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_reservation","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026","rooms":{"101":[1,"nb"]},"customer":{"lname":"Пример","fname":"Гость","email":"guest@example.invalid","city":"","phone":"","street":"","country":"RU","arrival_hour":"","notes":""},"amount":200,"ccard":0,"ancillary":0,"guests":{"men":2,"children":0}}}'
<?php
// Метод: new_reservation
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_reservation',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026',
'rooms' => [
'101' => [
1,
'nb'
]
],
'customer' => [
'lname' => 'Пример',
'fname' => 'Гость',
'email' => 'guest@example.invalid',
'city' => '',
'phone' => '',
'street' => '',
'country' => 'RU',
'arrival_hour' => '',
'notes' => ''
],
'amount' => 200,
'ccard' => 0,
'ancillary' => 0,
'guests' => [
'men' => 2,
'children' => 0
]
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><struct><member><name>101</name><value><array><data><value><int>1</int></value><value><string>nb</string></value></data></array></value></member></struct></value></param><param><value><struct><member><name>lname</name><value><string>Пример</string></value></member><member><name>fname</name><value><string>Гость</string></value></member><member><name>email</name><value><string>guest@example.invalid</string></value></member><member><name>city</name><value><string></string></value></member><member><name>phone</name><value><string></string></value></member><member><name>street</name><value><string></string></value></member><member><name>country</name><value><string>RU</string></value></member><member><name>arrival_hour</name><value><string></string></value></member><member><name>notes</name><value><string></string></value></member></struct></value></param><param><value><int>200</int></value></param><param><value><string>xml</string></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><struct><member><name>men</name><value><int>2</int></value></member><member><name>children</name><value><int>0</int></value></member></struct></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><struct><member><name>101</name><value><array><data><value><int>1</int></value><value><string>nb</string></value></data></array></value></member></struct></value></param><param><value><struct><member><name>lname</name><value><string>Пример</string></value></member><member><name>fname</name><value><string>Гость</string></value></member><member><name>email</name><value><string>guest@example.invalid</string></value></member><member><name>city</name><value><string></string></value></member><member><name>phone</name><value><string></string></value></member><member><name>street</name><value><string></string></value></member><member><name>country</name><value><string>RU</string></value></member><member><name>arrival_hour</name><value><string></string></value></member><member><name>notes</name><value><string></string></value></member></struct></value></param><param><value><int>200</int></value></param><param><value><string>xml</string></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><struct><member><name>men</name><value><int>2</int></value></member><member><name>children</name><value><int>0</int></value></member></struct></value></param></params></methodCall>'
cancel_reservation
Отменить прямую бронь и при необходимости запросить ваучер.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Изменение статуса разрешено только прямым броням; OTA-брони через эти методы не изменяются.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rcode |
да | — | Код брони выбранной гостиницы. |
reason |
нет | Комментарий к изменению статуса. | |
send_voucher |
нет | 1 | 1 — запросить отправку ваучера гостю, 0 — без ваучера. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "cancel_reservation",
"params": {
"lcode": 1000,
"rcode": 2000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"cancel_reservation","params":{"lcode":1000,"rcode":2000}}'
<?php
// Метод: cancel_reservation
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'cancel_reservation',
'params' => [
'lcode' => 1000,
'rcode' => 2000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>cancel_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>cancel_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>'
confirm_reservation
Подтвердить прямую бронь, ожидающую подтверждения.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Изменение статуса разрешено только прямым броням; OTA-брони через эти методы не изменяются.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rcode |
да | — | Код брони выбранной гостиницы. |
reason |
нет | Комментарий к изменению статуса. | |
send_voucher |
нет | 1 | 1 — запросить отправку ваучера гостю, 0 — без ваучера. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "confirm_reservation",
"params": {
"lcode": 1000,
"rcode": 2000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"confirm_reservation","params":{"lcode":1000,"rcode":2000}}'
<?php
// Метод: confirm_reservation
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'confirm_reservation',
'params' => [
'lcode' => 1000,
'rcode' => 2000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>confirm_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>confirm_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>'
reconfirm_reservation
Восстановить отменённую прямую бронь после проверки доступности.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Изменение статуса разрешено только прямым броням; OTA-брони через эти методы не изменяются.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
rcode |
да | — | Код брони выбранной гостиницы. |
reason |
нет | Комментарий к изменению статуса. | |
send_voucher |
нет | 1 | 1 — запросить отправку ваучера гостю, 0 — без ваучера. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "reconfirm_reservation",
"params": {
"lcode": 1000,
"rcode": 2000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"reconfirm_reservation","params":{"lcode":1000,"rcode":2000}}'
<?php
// Метод: reconfirm_reservation
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'reconfirm_reservation',
'params' => [
'lcode' => 1000,
'rcode' => 2000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>reconfirm_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>reconfirm_reservation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>2000</int></value></param></params></methodCall>'
🔔 Push-уведомления
push_activation
Установить callback новых и изменённых броней либо отключить его.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Разрешены только публичные HTTP(S) адреса; private DNS/IP и redirects запрещены. Пустой URL отключает общую гостиничную подписку. Доставка выполняется из транзакционного outbox с повторами.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
url |
да | — | Публичный HTTP(S) URL callback; пустая строка отключает подписку. |
test |
нет | 0 | 1 — выполнить пробный POST до сохранения URL: lcode — ID PMS гостиницы, rcode — ID её последней брони (0, если броней нет). |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "push_activation",
"params": {
"lcode": 1000,
"url": ""
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"push_activation","params":{"lcode":1000,"url":""}}'
<?php
// Метод: push_activation
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'push_activation',
'params' => [
'lcode' => 1000,
'url' => ''
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>push_activation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string></string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>push_activation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string></string></value></param></params></methodCall>'
push_url
Получить текущий URL callback броней.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "push_url",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"push_url","params":{"lcode":1000}}'
<?php
// Метод: push_url
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'push_url',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>push_url</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>push_url</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
push_update_activation
Установить callback изменений календаря либо отключить его.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Разрешены только публичные HTTP(S) адреса; private DNS/IP и redirects запрещены. Пустой URL отключает общую гостиничную подписку. Доставка выполняется из транзакционного outbox с повторами.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
url |
да | — | Публичный HTTP(S) URL callback; пустая строка отключает подписку. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "push_update_activation",
"params": {
"lcode": 1000,
"url": ""
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"push_update_activation","params":{"lcode":1000,"url":""}}'
<?php
// Метод: push_update_activation
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'push_update_activation',
'params' => [
'lcode' => 1000,
'url' => ''
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>push_update_activation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string></string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>push_update_activation</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string></string></value></param></params></methodCall>'
push_update_url
Получить текущий URL callback календаря.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "push_update_url",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"push_update_url","params":{"lcode":1000}}'
<?php
// Метод: push_update_url
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'push_update_url',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>push_update_url</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>push_update_url</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
📜 Политики отмены
fetch_policies
Получить политики отмены, включая единственную Policy Master.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_policies",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_policies","params":{"lcode":1000}}'
<?php
// Метод: fetch_policies
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_policies',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_policies</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_policies</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
new_policy
Создать политику отмены и её переводы.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
pshow |
да | — | 0 — правила и текст; 1 — только правила, 2 — только текст (1/2 устарели). |
ptype |
да | — | Штраф: 1 первая ночь, 2 процент, 3 ночь и процент, 4 без штрафа, 5 вся сумма, 6/7 невозвратный. |
value |
да | — | Процент от 1 до 99 для ptype=2/3; для остальных типов штрафа — 0. |
days |
да | — | Количество дней до заселения для отмены без штрафа. |
descrs |
нет | [object Object] | Переводы описания: объект с ключами descr_XX. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_policy",
"params": {
"lcode": 1000,
"name": "Отмена за два дня",
"pshow": 0,
"ptype": 2,
"value": 50,
"days": 2
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_policy","params":{"lcode":1000,"name":"Отмена за два дня","pshow":0,"ptype":2,"value":50,"days":2}}'
<?php
// Метод: new_policy
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_policy',
'params' => [
'lcode' => 1000,
'name' => 'Отмена за два дня',
'pshow' => 0,
'ptype' => 2,
'value' => 50,
'days' => 2
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_policy</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Отмена за два дня</string></value></param><param><value><int>0</int></value></param><param><value><int>2</int></value></param><param><value><int>50</int></value></param><param><value><int>2</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_policy</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Отмена за два дня</string></value></param><param><value><int>0</int></value></param><param><value><int>2</int></value></param><param><value><int>50</int></value></param><param><value><int>2</int></value></param></params></methodCall>'
mod_policy
Изменить переданные поля политики отмены.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS политики отмены. |
name |
нет | — | Основное название сущности. |
pshow |
нет | — | 0 — правила и текст; 1 — только правила, 2 — только текст (1/2 устарели). |
ptype |
нет | — | Штраф: 1 первая ночь, 2 процент, 3 ночь и процент, 4 без штрафа, 5 вся сумма, 6/7 невозвратный. |
value |
нет | — | Процент от 1 до 99 для ptype=2/3; для остальных типов штрафа — 0. |
days |
нет | — | Количество дней до заселения для отмены без штрафа. |
descrs |
нет | [object Object] | Переводы описания: объект с ключами descr_XX. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mod_policy",
"params": {
"lcode": 1000,
"pid": 30,
"name": "Отмена за три дня",
"pshow": 0,
"ptype": 2,
"value": 50,
"days": 3
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mod_policy","params":{"lcode":1000,"pid":30,"name":"Отмена за три дня","pshow":0,"ptype":2,"value":50,"days":3}}'
<?php
// Метод: mod_policy
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mod_policy',
'params' => [
'lcode' => 1000,
'pid' => 30,
'name' => 'Отмена за три дня',
'pshow' => 0,
'ptype' => 2,
'value' => 50,
'days' => 3
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mod_policy</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>30</int></value></param><param><value><string>Отмена за три дня</string></value></param><param><value><int>0</int></value></param><param><value><int>2</int></value></param><param><value><int>50</int></value></param><param><value><int>3</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mod_policy</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>30</int></value></param><param><value><string>Отмена за три дня</string></value></param><param><value><int>0</int></value></param><param><value><int>2</int></value></param><param><value><int>50</int></value></param><param><value><int>3</int></value></param></params></methodCall>'
del_policy
Удалить политику отмены; Policy Master удалить нельзя.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS политики отмены. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "del_policy",
"params": {
"lcode": 1000,
"pid": 10
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"del_policy","params":{"lcode":1000,"pid":10}}'
<?php
// Метод: del_policy
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'del_policy',
'params' => [
'lcode' => 1000,
'pid' => 10
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>del_policy</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>del_policy</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param></params></methodCall>'
fetch_policy_calendar
Получить назначенные по дням политики; пропущенный день использует Policy Master.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_policy_calendar",
"params": {
"lcode": 1000,
"dfrom": "19/10/2026",
"dto": "21/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_policy_calendar","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
<?php
// Метод: fetch_policy_calendar
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_policy_calendar',
'params' => [
'lcode' => 1000,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_policy_calendar</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_policy_calendar</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>'
set_policy_calendar
Назначить политику отмены каждому дню периода.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
pid |
да | — | ID PMS политики отмены. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "set_policy_calendar",
"params": {
"lcode": 1000,
"pid": 10,
"dfrom": "19/10/2026",
"dto": "21/10/2026"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"set_policy_calendar","params":{"lcode":1000,"pid":10,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
<?php
// Метод: set_policy_calendar
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'set_policy_calendar',
'params' => [
'lcode' => 1000,
'pid' => 10,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>set_policy_calendar</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>set_policy_calendar</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>10</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param></params></methodCall>'
✨ Доп. услуги и предложения
fetch_opportunities
Получить услуги и скидочные услуги с правилами доступности.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
нет | — | Начальная дата в формате dd/mm/yyyy. |
dto |
нет | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_opportunities",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_opportunities","params":{"lcode":1000}}'
<?php
// Метод: fetch_opportunities
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_opportunities',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_opportunities</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_opportunities</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
new_opportunity
Создать услугу с ценой, периодом, количеством и категориями номеров.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
active |
да | — | 0 — выключено, 1 — активно. |
perday |
да | — | 1 — стоимость за каждый день, 0 — однократно. |
extra |
да | — | 1 — доплата, 0 — уменьшение стоимости. |
price |
да | — | Цена услуги. |
how |
да | — | Максимально допустимое количество услуги: от 1 до 30. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
wdays |
нет | Массив семи флагов 0/1, первый день — понедельник; пустой массив означает все дни. | |
rooms |
нет | Массив ID PMS категорий; пустой массив означает все категории. | |
names |
нет | [object Object] | Переводы названия: объект с ключами name_XX. |
descrs |
нет | [object Object] | Переводы описания: объект с ключами descr_XX. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_opportunity",
"params": {
"lcode": 1000,
"name": "Завтрак",
"active": 1,
"perday": 1,
"extra": 1,
"price": 15,
"how": 4,
"dfrom": "19/10/2026",
"dto": "21/10/2026",
"wdays": [
1,
1,
1,
1,
1,
1,
1
],
"rooms": []
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_opportunity","params":{"lcode":1000,"name":"Завтрак","active":1,"perday":1,"extra":1,"price":15,"how":4,"dfrom":"19/10/2026","dto":"21/10/2026","wdays":[1,1,1,1,1,1,1],"rooms":[]}}'
<?php
// Метод: new_opportunity
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_opportunity',
'params' => [
'lcode' => 1000,
'name' => 'Завтрак',
'active' => 1,
'perday' => 1,
'extra' => 1,
'price' => 15,
'how' => 4,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026',
'wdays' => [
1,
1,
1,
1,
1,
1,
1
],
'rooms' => []
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_opportunity</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Завтрак</string></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>15</int></value></param><param><value><int>4</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><array><data><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value></data></array></value></param><param><value><array><data></data></array></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_opportunity</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Завтрак</string></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>15</int></value></param><param><value><int>4</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><array><data><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value></data></array></value></param><param><value><array><data></data></array></value></param></params></methodCall>'
mod_opportunity
Изменить переданные поля услуги.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
oid |
да | — | ID PMS услуги. |
name |
нет | — | Основное название сущности. |
active |
нет | — | 0 — выключено, 1 — активно. |
perday |
нет | — | 1 — стоимость за каждый день, 0 — однократно. |
extra |
нет | — | 1 — доплата, 0 — уменьшение стоимости. |
price |
нет | — | Цена услуги. |
how |
нет | — | Максимально допустимое количество услуги: от 1 до 30. |
dfrom |
нет | — | Начальная дата в формате dd/mm/yyyy. |
dto |
нет | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
wdays |
нет | — | Массив семи флагов 0/1, первый день — понедельник; пустой массив означает все дни. |
rooms |
нет | — | Массив ID PMS категорий; пустой массив означает все категории. |
names |
нет | — | Переводы названия: объект с ключами name_XX. |
descrs |
нет | — | Переводы описания: объект с ключами descr_XX. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mod_opportunity",
"params": {
"lcode": 1000,
"oid": 40,
"name": "Завтрак",
"active": 1,
"perday": 1,
"extra": 1,
"price": 18
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mod_opportunity","params":{"lcode":1000,"oid":40,"name":"Завтрак","active":1,"perday":1,"extra":1,"price":18}}'
<?php
// Метод: mod_opportunity
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mod_opportunity',
'params' => [
'lcode' => 1000,
'oid' => 40,
'name' => 'Завтрак',
'active' => 1,
'perday' => 1,
'extra' => 1,
'price' => 18
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mod_opportunity</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>40</int></value></param><param><value><string>Завтрак</string></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>18</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mod_opportunity</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>40</int></value></param><param><value><string>Завтрак</string></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>1</int></value></param><param><value><int>18</int></value></param></params></methodCall>'
del_opportunity
Удалить услугу, если она не обязательна для спецпредложения.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
oid |
да | — | ID PMS услуги. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "del_opportunity",
"params": {
"lcode": 1000,
"oid": 40
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"del_opportunity","params":{"lcode":1000,"oid":40}}'
<?php
// Метод: del_opportunity
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'del_opportunity',
'params' => [
'lcode' => 1000,
'oid' => 40
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>del_opportunity</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>40</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>del_opportunity</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>40</int></value></param></params></methodCall>'
fetch_soffers
Получить спецпредложения и их условия применения.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
dfrom |
нет | — | Начальная дата в формате dd/mm/yyyy. |
dto |
нет | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
ancillary |
нет | 0 | Дополнительные сведения: 0/false — базовые поля, 1/true — дополнительные. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "fetch_soffers",
"params": {
"lcode": 1000
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"fetch_soffers","params":{"lcode":1000}}'
<?php
// Метод: fetch_soffers
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'fetch_soffers',
'params' => [
'lcode' => 1000
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>fetch_soffers</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>fetch_soffers</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param></params></methodCall>'
new_soffer
Создать спецпредложение с требованиями к проживанию и скидкой.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Положительный deposit недоступен без явно настроенной единицы депозита. Карточную гарантию можно описать правилом, но native создание гарантированной брони пока недоступно без защищённого карточного workflow.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
ddp |
да | — | 1 — не показывать спецпредложение на первом шаге бронирования, 0 — показывать. |
id_policy |
да | — | ID политики отмены спецпредложения; 0 — без собственной политики. |
dtype |
да | — | 0 — цена связанного тарифа, 1 — процентная скидка, 2 — фиксированная скидка. |
dvalue |
да | — | Величина скидки или ID тарифа; для промокода трактуется настроенным профилем. |
apply_to |
да | — | Строка ID категорий через запятую либо * для всех; для скидки по тарифу требуется *. |
guarantee |
да | — | 1 — требовать карточную гарантию; deposit тогда должен быть 0. |
deposit |
да | — | Депозит; положительное значение требует явной настройки единицы в профиле совместимости. |
dfrom |
да | — | Начальная дата в формате dd/mm/yyyy. |
dto |
да | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
wdays |
да | — | Массив семи флагов 0/1, первый день — понедельник; пустой массив означает все дни. |
wdays_type |
да | — | 1 — все выбранные дни обязательны, 2 — хотя бы один, 3 — только выбранные, 4 — все выбранные и только они. |
must_advance |
да | — | Минимальное число дней до заселения; 0 — без требования. |
max_advance |
да | — | Максимальное число дней до заселения; 0 — без ограничения. |
must_stay |
да | — | Минимальное количество ночей; 0 — без требования. |
max_stay |
да | — | Максимальное количество ночей; 0 — без ограничения. |
must_rooms |
да | — | Обязательные категории: ID через запятую; пустая строка или запятая — все категории. |
must_opps |
да | — | Обязательные услуги: ID через запятую; пустая строка или запятая — все услуги. |
must_type |
да | — | 1 — все выбранные категории/услуги, 2 — хотя бы одна. |
nations |
нет | Массив двухбуквенных кодов стран; пустой массив — без ограничения. | |
periods |
нет | Дополнительные периоды: массив пар [dfrom, dto] в формате dd/mm/yyyy. | |
names |
нет | [object Object] | Переводы названия: объект с ключами name_XX. |
descrs |
нет | [object Object] | Переводы описания: объект с ключами descr_XX. |
rplan |
нет | ID плана ограничений спецпредложения; 0/пустая строка — без плана. При наличии плана периоды дат игнорируются. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_soffer",
"params": {
"lcode": 1000,
"name": "Две ночи со скидкой",
"ddp": 0,
"id_policy": 0,
"dtype": 1,
"dvalue": 10,
"apply_to": "*",
"guarantee": 0,
"deposit": 0,
"dfrom": "19/10/2026",
"dto": "21/10/2026",
"wdays": [
1,
1,
1,
1,
1,
1,
1
],
"wdays_type": 3,
"must_advance": 0,
"max_advance": 0,
"must_stay": 2,
"max_stay": 0,
"must_rooms": "",
"must_opps": "",
"must_type": 1
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_soffer","params":{"lcode":1000,"name":"Две ночи со скидкой","ddp":0,"id_policy":0,"dtype":1,"dvalue":10,"apply_to":"*","guarantee":0,"deposit":0,"dfrom":"19/10/2026","dto":"21/10/2026","wdays":[1,1,1,1,1,1,1],"wdays_type":3,"must_advance":0,"max_advance":0,"must_stay":2,"max_stay":0,"must_rooms":"","must_opps":"","must_type":1}}'
<?php
// Метод: new_soffer
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_soffer',
'params' => [
'lcode' => 1000,
'name' => 'Две ночи со скидкой',
'ddp' => 0,
'id_policy' => 0,
'dtype' => 1,
'dvalue' => 10,
'apply_to' => '*',
'guarantee' => 0,
'deposit' => 0,
'dfrom' => '19/10/2026',
'dto' => '21/10/2026',
'wdays' => [
1,
1,
1,
1,
1,
1,
1
],
'wdays_type' => 3,
'must_advance' => 0,
'max_advance' => 0,
'must_stay' => 2,
'max_stay' => 0,
'must_rooms' => '',
'must_opps' => '',
'must_type' => 1
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_soffer</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Две ночи со скидкой</string></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><int>1</int></value></param><param><value><int>10</int></value></param><param><value><string>*</string></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><array><data><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value></data></array></value></param><param><value><int>3</int></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><int>2</int></value></param><param><value><int>0</int></value></param><param><value><string></string></value></param><param><value><string></string></value></param><param><value><int>1</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_soffer</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Две ночи со скидкой</string></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><int>1</int></value></param><param><value><int>10</int></value></param><param><value><string>*</string></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><string>19/10/2026</string></value></param><param><value><string>21/10/2026</string></value></param><param><value><array><data><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value><value><int>1</int></value></data></array></value></param><param><value><int>3</int></value></param><param><value><int>0</int></value></param><param><value><int>0</int></value></param><param><value><int>2</int></value></param><param><value><int>0</int></value></param><param><value><string></string></value></param><param><value><string></string></value></param><param><value><int>1</int></value></param></params></methodCall>'
mod_soffer
Изменить переданные поля спецпредложения.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- Положительный deposit недоступен без явно настроенной единицы депозита. Карточную гарантию можно описать правилом, но native создание гарантированной брони пока недоступно без защищённого карточного workflow.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
sid |
да | — | ID PMS спецпредложения. |
name |
нет | — | Основное название сущности. |
ddp |
нет | — | 1 — не показывать спецпредложение на первом шаге бронирования, 0 — показывать. |
id_policy |
нет | — | ID политики отмены спецпредложения; 0 — без собственной политики. |
dtype |
нет | — | 0 — цена связанного тарифа, 1 — процентная скидка, 2 — фиксированная скидка. |
dvalue |
нет | — | Величина скидки или ID тарифа; для промокода трактуется настроенным профилем. |
apply_to |
нет | — | Строка ID категорий через запятую либо * для всех; для скидки по тарифу требуется *. |
guarantee |
нет | — | 1 — требовать карточную гарантию; deposit тогда должен быть 0. |
deposit |
нет | — | Депозит; положительное значение требует явной настройки единицы в профиле совместимости. |
dfrom |
нет | — | Начальная дата в формате dd/mm/yyyy. |
dto |
нет | — | Конечная дата в формате dd/mm/yyyy; для брони — дата выселения. |
wdays |
нет | — | Массив семи флагов 0/1, первый день — понедельник; пустой массив означает все дни. |
wdays_type |
нет | — | 1 — все выбранные дни обязательны, 2 — хотя бы один, 3 — только выбранные, 4 — все выбранные и только они. |
must_advance |
нет | — | Минимальное число дней до заселения; 0 — без требования. |
max_advance |
нет | — | Максимальное число дней до заселения; 0 — без ограничения. |
must_stay |
нет | — | Минимальное количество ночей; 0 — без требования. |
max_stay |
нет | — | Максимальное количество ночей; 0 — без ограничения. |
must_rooms |
нет | — | Обязательные категории: ID через запятую; пустая строка или запятая — все категории. |
must_opps |
нет | — | Обязательные услуги: ID через запятую; пустая строка или запятая — все услуги. |
must_type |
нет | — | 1 — все выбранные категории/услуги, 2 — хотя бы одна. |
nations |
нет | — | Массив двухбуквенных кодов стран; пустой массив — без ограничения. |
periods |
нет | — | Дополнительные периоды: массив пар [dfrom, dto] в формате dd/mm/yyyy. |
names |
нет | — | Переводы названия: объект с ключами name_XX. |
descrs |
нет | — | Переводы описания: объект с ключами descr_XX. |
rplan |
нет | — | ID плана ограничений спецпредложения; 0/пустая строка — без плана. При наличии плана периоды дат игнорируются. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "mod_soffer",
"params": {
"lcode": 1000,
"sid": 50,
"name": "Обновлённое предложение"
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"mod_soffer","params":{"lcode":1000,"sid":50,"name":"Обновлённое предложение"}}'
<?php
// Метод: mod_soffer
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'mod_soffer',
'params' => [
'lcode' => 1000,
'sid' => 50,
'name' => 'Обновлённое предложение'
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>mod_soffer</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>50</int></value></param><param><value><string>Обновлённое предложение</string></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>mod_soffer</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>50</int></value></param><param><value><string>Обновлённое предложение</string></value></param></params></methodCall>'
del_soffer
Удалить спецпредложение; ранее сохранённые snapshots броней сохраняются.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
sid |
да | — | ID PMS спецпредложения. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "del_soffer",
"params": {
"lcode": 1000,
"sid": 50
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"del_soffer","params":{"lcode":1000,"sid":50}}'
<?php
// Метод: del_soffer
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'del_soffer',
'params' => [
'lcode' => 1000,
'sid' => 50
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>del_soffer</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>50</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>del_soffer</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>50</int></value></param></params></methodCall>'
new_promo
Создать промокод при наличии явно настроенного профиля совместимости.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
- По умолчанию создание промокодов отключено: нужен явный профиль dtype и max_usage; официальная страница не определяет их однозначную семантику. Значение dtype в примере — образец для согласованного профиля, не нормативный enum.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
name |
да | — | Основное название сущности. |
promo_code |
да | — | Текст промокода. |
dtype |
да | — | Тип промокода из явного профиля совместимости; официальная страница не определяет enum. |
dvalue |
да | — | Величина скидки или ID тарифа; для промокода трактуется настроенным профилем. |
max_usage |
да | — | Лимит применений; смысл 0 задаётся явным профилем совместимости. |
policy_id |
нет | 0 | ID политики отмены промокода; 0 — без собственной политики. |
active |
нет | 1 | 0 — выключено, 1 — активно. |
cc_disabled |
нет | 0 | 1 — отключить требование карточной гарантии для промокода, 0 — не отключать. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "new_promo",
"params": {
"lcode": 1000,
"name": "Промокод по профилю",
"promo_code": "DEMO",
"dtype": 1,
"dvalue": 10,
"max_usage": 10
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"new_promo","params":{"lcode":1000,"name":"Промокод по профилю","promo_code":"DEMO","dtype":1,"dvalue":10,"max_usage":10}}'
<?php
// Метод: new_promo
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'new_promo',
'params' => [
'lcode' => 1000,
'name' => 'Промокод по профилю',
'promo_code' => 'DEMO',
'dtype' => 1,
'dvalue' => 10,
'max_usage' => 10
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>new_promo</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Промокод по профилю</string></value></param><param><value><string>DEMO</string></value></param><param><value><int>1</int></value></param><param><value><int>10</int></value></param><param><value><int>10</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>new_promo</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><string>Промокод по профилю</string></value></param><param><value><string>DEMO</string></value></param><param><value><int>1</int></value></param><param><value><int>10</int></value></param><param><value><int>10</int></value></param></params></methodCall>'
del_promo
Удалить промокод и отключить его дальнейшее применение.
- Все ID сущностей — первичные ключи InnSYNC PMS. 0/−1 сохраняют только служебный смысл стандартного плана или отсутствия значения.
Параметры запроса
| Параметр | Обязателен | По умолчанию | Описание |
|---|---|---|---|
lcode |
да | — | Внешний код гостиницы; консоль подставляет код выбранной привязки. |
promo_id |
да | — | ID PMS промокода. |
Примеры вызова
{
"jsonrpc": "2.0",
"id": 1,
"method": "del_promo",
"params": {
"lcode": 1000,
"promo_id": 60
}
}
curl 'https://pms.innsync.ru/wired-json/api/' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: YOUR_TOKEN' \
--data-binary '{"jsonrpc":"2.0","id":1,"method":"del_promo","params":{"lcode":1000,"promo_id":60}}'
<?php
// Метод: del_promo
$payload = json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'del_promo',
'params' => [
'lcode' => 1000,
'promo_id' => 60
],
], JSON_UNESCAPED_UNICODE);
$ch = curl_init('https://pms.innsync.ru/wired-json/api/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-API-KEY: YOUR_TOKEN'],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
$httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($httpCode !== 200 || !is_array($data)) {
throw new RuntimeException('API error (' . $httpCode . '): ' . $response);
}
print_r($data);
<?xml version="1.0"?>
<methodCall><methodName>del_promo</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>60</int></value></param></params></methodCall>
curl 'https://pms.innsync.ru/xrws/' \
-H 'Content-Type: text/xml' \
--data-binary '<?xml version="1.0"?><methodCall><methodName>del_promo</methodName><params><param><value><string>YOUR_TOKEN</string></value></param><param><value><int>1000</int></value></param><param><value><int>60</int></value></param></params></methodCall>'
Документация сформирована из консоли InnSYNC PMS. Официальные справочники методов — в документации платформы. Замените YOUR_TOKEN на действующий токен вашего объекта.