API — документация

Прямой программный интерфейс InnSYNC PMS для интеграций: номера и квоты, тарифы и цены, правила бронирования, выгрузка бронирований, доп. услуги. Поддерживаются протоколы JSON и XML-RPC.

58 методов
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 разделах; есть вебхуки.

Быстрый старт

  1. Запросите токен у техподдержки InnSync PMS.
  2. Выберите транспорт: JSON (рекомендуется) или XML-RPC.
  3. Отправьте метод с параметрами. В JSON-режиме токен передаётся заголовком X-API-KEY, в XML-RPC — первым аргументом.
  4. Соблюдайте лимиты — квоты общие для гостиницы (см. раздел «Лимиты»).

Транспорты и адреса

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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_rooms",
  "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":"fetch_rooms","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_single_room",
  "params": {
    "lcode": 1000,
    "rid": 101
  }
}
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":"fetch_single_room","params":{"lcode":1000,"rid":101}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 нет — Максимальная цена категории.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"new_room","params":{"lcode":1000,"woodoo":0,"name":"Стандарт","beds":2,"defprice":100,"avail":2,"shortname":"STD","defboard":"nb"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 нет — Максимальная цена категории.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"new_virtual_room","params":{"lcode":1000,"rid":101,"woodoo":0,"name":"Стандарт плюс","beds":2,"children":0,"defprice":100,"shortname":"STP","defboard":"nb"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"mod_room","params":{"lcode":1000,"rid":101,"name":"Стандарт","beds":2,"defprice":100,"avail":2,"shortname":"STD","defboard":"nb"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"mod_virtual_room","params":{"lcode":1000,"rid":102,"name":"Стандарт плюс","beds":2,"children":0,"defprice":110,"short":"STP","defboard":"nb"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 обычного родителя.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "del_room",
  "params": {
    "lcode": 1000,
    "rid": 101
  }
}
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":"del_room","params":{"lcode":1000,"rid":101}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 обычного родителя.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "room_images",
  "params": {
    "lcode": 1000,
    "rid": 101
  }
}
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":"room_images","params":{"lcode":1000,"rid":101}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"update_avail","params":{"lcode":1000,"dfrom":"19/10/2026","rooms":[{"id":101,"days":[{"avail":2,"no_ota":0},{"avail":2}]}]}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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}..]}.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"update_sparse_avail","params":{"lcode":1000,"rooms":[{"id":101,"days":[{"date":"19/10/2026","avail":2,"no_ota":0}]}]}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 категорий; пустой массив означает все категории.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_rooms_values",
  "params": {
    "lcode": 1000,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026"
  }
}
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":"fetch_rooms_values","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Основное название сущности.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "add_pricing_plan",
  "params": {
    "lcode": 1000,
    "name": "Пример"
  }
}
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":"add_pricing_plan","params":{"lcode":1000,"name":"Пример"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Величина изменения цены или штрафа в зависимости от метода.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "add_vplan",
  "params": {
    "lcode": 1000,
    "name": "Тариф со скидкой",
    "pid": 0,
    "dtype": -1,
    "value": 10
  }
}
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":"add_vplan","params":{"lcode":1000,"name":"Тариф со скидкой","pid":0,"dtype":-1,"value":10}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 политики.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "del_plan",
  "params": {
    "lcode": 1000,
    "pid": 10
  }
}
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":"del_plan","params":{"lcode":1000,"pid":10}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Основное название сущности.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "update_plan_name",
  "params": {
    "lcode": 1000,
    "pid": 10,
    "name": "Пример"
  }
}
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":"update_plan_name","params":{"lcode":1000,"pid":10,"name":"Пример"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Внешний код гостиницы; консоль подставляет код выбранной привязки.
Примеры вызова
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}}'
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 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 (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><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 категории → семь цен с понедельника по воскресенье.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "update_plan_rack",
  "params": {
    "lcode": 1000,
    "pid": 10,
    "rack": {
      "101": [
        100,
        100,
        100,
        100,
        100,
        120,
        120
      ]
    }
  }
}
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":"update_plan_rack","params":{"lcode":1000,"pid":10,"rack":{"101":[100,100,100,100,100,120,120]}}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — фиксированная величина.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "mod_vplans",
  "params": {
    "lcode": 1000,
    "plans": [
      {
        "pid": 11,
        "variation_type": -1,
        "variation": 10
      }
    ]
  }
}
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":"mod_vplans","params":{"lcode":1000,"plans":[{"pid":11,"variation_type":-1,"variation":10}]}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "update_plan_prices",
  "params": {
    "lcode": 1000,
    "pid": 10,
    "dfrom": "19/10/2026",
    "prices": {
      "101": [
        100,
        110
      ]
    }
  }
}
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":"update_plan_prices","params":{"lcode":1000,"pid":10,"dfrom":"19/10/2026","prices":{"101":[100,110]}}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 категорий; пустой массив означает все категории.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_plan_prices",
  "params": {
    "lcode": 1000,
    "pid": 10,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026"
  }
}
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":"fetch_plan_prices","params":{"lcode":1000,"pid":10,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — компактный с общими правилами.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "rplan_add_rplan",
  "params": {
    "lcode": 1000,
    "name": "Стандартные ограничения",
    "compact": 0
  }
}
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":"rplan_add_rplan","params":{"lcode":1000,"name":"Стандартные ограничения","compact":0}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Внешний код гостиницы; консоль подставляет код выбранной привязки.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "rplan_rplans",
  "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":"rplan_rplans","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 плана ограничений.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "rplan_del_rplan",
  "params": {
    "lcode": 1000,
    "rpid": 21
  }
}
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":"rplan_del_rplan","params":{"lcode":1000,"rpid":21}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Основное название сущности.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "rplan_rename_rplan",
  "params": {
    "lcode": 1000,
    "rpid": 21,
    "name": "Пример"
  }
}
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":"rplan_rename_rplan","params":{"lcode":1000,"rpid":21,"name":"Пример"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"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 (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 ограничений; отсутствие поля сохраняет прежнее значение.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"rplan_update_rplan_values","params":{"lcode":1000,"pid":21,"dfrom":"19/10/2026","values":{"101":[{"min_stay":2,"closed":0},{}]}}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 дневных планов ограничений; отсутствие фильтра выбирает все доступные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "rplan_get_rplan_values",
  "params": {
    "lcode": 1000,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026"
  }
}
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":"rplan_get_rplan_values","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_booking",
  "params": {
    "lcode": 1000,
    "rcode": 2000
  }
}
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":"fetch_booking","params":{"lcode":1000,"rcode":2000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — оставить для повторного получения.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_new_bookings",
  "params": {
    "lcode": 1000,
    "mark": 0
  }
}
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":"fetch_new_bookings","params":{"lcode":1000,"mark":0}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "mark_bookings",
  "params": {
    "lcode": 1000,
    "reservations": [
      2000
    ]
  }
}
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":"mark_bookings","params":{"lcode":1000,"reservations":[2000]}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_bookings",
  "params": {
    "lcode": 1000,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026",
    "oncreated": 1
  }
}
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":"fetch_bookings","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026","oncreated":1}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_deleted_bookings",
  "params": {
    "lcode": 1000,
    "dfrom": "19/10/2026"
  }
}
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":"fetch_deleted_bookings","params":{"lcode":1000,"dfrom":"19/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — по дате заселения.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_bookings_codes",
  "params": {
    "lcode": 1000,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026"
  }
}
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":"fetch_bookings_codes","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 пуст; неизвестные источники не выдумываются.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "get_fount_symbols",
  "params": {}
}
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_fount_symbols","params":{}}'
PHP (JSON)
<?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-RPC — тело запроса
<?xml version="1.0"?>
<methodCall><methodName>get_fount_symbols</methodName><params><param><value><string>YOUR_TOKEN</string></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_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 — ожидает подтверждения.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"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 (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — без ваучера.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "cancel_reservation",
  "params": {
    "lcode": 1000,
    "rcode": 2000
  }
}
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":"cancel_reservation","params":{"lcode":1000,"rcode":2000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — без ваучера.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "confirm_reservation",
  "params": {
    "lcode": 1000,
    "rcode": 2000
  }
}
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":"confirm_reservation","params":{"lcode":1000,"rcode":2000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — без ваучера.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "reconfirm_reservation",
  "params": {
    "lcode": 1000,
    "rcode": 2000
  }
}
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":"reconfirm_reservation","params":{"lcode":1000,"rcode":2000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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, если броней нет).
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "push_activation",
  "params": {
    "lcode": 1000,
    "url": ""
  }
}
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":"push_activation","params":{"lcode":1000,"url":""}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Внешний код гостиницы; консоль подставляет код выбранной привязки.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "push_url",
  "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":"push_url","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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; пустая строка отключает подписку.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "push_update_activation",
  "params": {
    "lcode": 1000,
    "url": ""
  }
}
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":"push_update_activation","params":{"lcode":1000,"url":""}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 да — Внешний код гостиницы; консоль подставляет код выбранной привязки.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "push_update_url",
  "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":"push_update_url","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_policies",
  "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":"fetch_policies","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "new_policy",
  "params": {
    "lcode": 1000,
    "name": "Отмена за два дня",
    "pshow": 0,
    "ptype": 2,
    "value": 50,
    "days": 2
  }
}
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":"new_policy","params":{"lcode":1000,"name":"Отмена за два дня","pshow":0,"ptype":2,"value":50,"days":2}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "mod_policy",
  "params": {
    "lcode": 1000,
    "pid": 30,
    "name": "Отмена за три дня",
    "pshow": 0,
    "ptype": 2,
    "value": 50,
    "days": 3
  }
}
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":"mod_policy","params":{"lcode":1000,"pid":30,"name":"Отмена за три дня","pshow":0,"ptype":2,"value":50,"days":3}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 политики отмены.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "del_policy",
  "params": {
    "lcode": 1000,
    "pid": 10
  }
}
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":"del_policy","params":{"lcode":1000,"pid":10}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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; для брони — дата выселения.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_policy_calendar",
  "params": {
    "lcode": 1000,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026"
  }
}
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":"fetch_policy_calendar","params":{"lcode":1000,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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; для брони — дата выселения.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "set_policy_calendar",
  "params": {
    "lcode": 1000,
    "pid": 10,
    "dfrom": "19/10/2026",
    "dto": "21/10/2026"
  }
}
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":"set_policy_calendar","params":{"lcode":1000,"pid":10,"dfrom":"19/10/2026","dto":"21/10/2026"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_opportunities",
  "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":"fetch_opportunities","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"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 (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "mod_opportunity",
  "params": {
    "lcode": 1000,
    "oid": 40,
    "name": "Завтрак",
    "active": 1,
    "perday": 1,
    "extra": 1,
    "price": 18
  }
}
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":"mod_opportunity","params":{"lcode":1000,"oid":40,"name":"Завтрак","active":1,"perday":1,"extra":1,"price":18}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 услуги.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "del_opportunity",
  "params": {
    "lcode": 1000,
    "oid": 40
  }
}
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":"del_opportunity","params":{"lcode":1000,"oid":40}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — дополнительные.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "fetch_soffers",
  "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":"fetch_soffers","params":{"lcode":1000}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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/пустая строка — без плана. При наличии плана периоды дат игнорируются.
Примеры вызова
JSON — тело запроса
{
  "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 (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":"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 (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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/пустая строка — без плана. При наличии плана периоды дат игнорируются.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "mod_soffer",
  "params": {
    "lcode": 1000,
    "sid": 50,
    "name": "Обновлённое предложение"
  }
}
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":"mod_soffer","params":{"lcode":1000,"sid":50,"name":"Обновлённое предложение"}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 спецпредложения.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "del_soffer",
  "params": {
    "lcode": 1000,
    "sid": 50
  }
}
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":"del_soffer","params":{"lcode":1000,"sid":50}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 — не отключать.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "new_promo",
  "params": {
    "lcode": 1000,
    "name": "Промокод по профилю",
    "promo_code": "DEMO",
    "dtype": 1,
    "dvalue": 10,
    "max_usage": 10
  }
}
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":"new_promo","params":{"lcode":1000,"name":"Промокод по профилю","promo_code":"DEMO","dtype":1,"dvalue":10,"max_usage":10}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 промокода.
Примеры вызова
JSON — тело запроса
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "del_promo",
  "params": {
    "lcode": 1000,
    "promo_id": 60
  }
}
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":"del_promo","params":{"lcode":1000,"promo_id":60}}'
PHP (JSON)
<?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-RPC — тело запроса
<?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 (XML-RPC)
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 на действующий токен вашего объекта.