Интеграция со СБИС

Создать запись в салон по API

Создать запись в салон по API

Запрос позволяет создать в СБИС запись к мастеру в салон на основе данных во внешней системе.

Метод запроса: POST

Адрес запроса: https://api.sbis.ru/retail/order/create?

Структура запроса

Пример в формате *.php
Пример запроса в формате *.py

В качестве примера используется функция «cURL».

<?php
$date = array();//Массив с информацией
$date = json_encode($date);
$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_URL => 'https://api.sbis.ru/retail/order/create',
    CURLOPT_POST => true,
    CURLOPT_HEADER => 0,
    CURLOPT_POSTFIELDS => $date,
    CURLOPT_HTTPHEADER =>  array(
        'Content-type: charset=utf-8',
        'X-SBISAccessToken: WJbMyxUZ1JpSmshaFlTQyEpSGpydVlUIyFqXVtaZyloUGxtNW8vPGdOKVMsWWpnJSg7a3dSaWdeTDsybExfTzIwMjAtMTAtMTMgMDk6MTM6MjEuODc3OTkz'
        )
));
$response = curl_exec($ch);
curl_close($ch);
?>

В качестве примера используется библиотека «Requests».

import requests
date={} #json строка с данными
url = 'https://api.sbis.ru/retail/order/create'  
headers = {"X-SBISAccessToken": "MlU1cjkmREE4elU5NihQKdglfFB0N1dqNH43W3BGPiVCYiZnZ21GUzlpLU1ERVFII2MmZUA4bG98N1ddOClBKjIwMjAtMTAtMTMgMTI6MDQ6MTMuODkzNjA4"}  
response = requests.post(url, headers=headers, json=date)
print(response.text)

ПараметрТипОписание
product*stringПостоянное значение параметра — «salon»
pointId*stringИдентификатор точки продаж, который вернулся в результате запроса «Получить точку продаж»
commentstringПримечание к заказу
customer*array[{...}]Информация о покупателе
datetime*stringДата и время, на которое создается заказ, в формате гггг-мм-дд чч:мм:сс
nomenclaturesarray[{...}]Номенклатура заказа. Кроме указанных обязательных полей, необходимо указывать один из трех идентификаторов номенклатуры(externalId, id или nomNumber), также желательно указывать hierarchicalId.
visit array[{...}]Информация записи
Структура «customer»
externalIdstringДанные покупателя
name*string
lastnamestring
patronymicstring
emailstring
phonestring
Структура «nomenclatures»
externalIdstringВнешний идентификатор номенклатурной позиции
idintegerСквозной идентификатор внешней системы
nomNumberstring
count*numberКоличество позиций
costnumberЦена за одну позицию. Вы можете указать цену, отличную от той, что установлена в СБИС
namestringНаименование позиции
modifiersarray[{...}]Информация о модификаторах
Структура «visit»
master*integerВнутренний идентификатор мастера. Значение параметра возвращается в запросе «Получить список мастеров»
reminderintegerЗа какое время до назначенного визита отправлять напоминание
datetimeEndstringВремя окончания записи
Структура «modifiers»
externalIdstringВнешний идентификатор модификатора
idintegerВнутренний идентификатор модификатора
nomNumberstringСквозной идентификатор внешней системы
hierarchicalIdintegerИдентификатор в иерархии
countintegerКоличество позиций модификатора

С помощью API-запросов вы можете получить информацию о записи в салон, узнать ее статус, обновить, удалить или отменить запись.

  • Запросить информацию о записи:
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}, где {externalId} — идентификатор записи.
  • Изменить запись:
    • метод: PUT
    • запрос: https://api.sbis.ru/retail/order/{externalId}/update, где {externalId} — идентификатор записи. Отправьте всю информацию по записи вместе с измененными данными.
  • Отменить запись:
    • метод: PUT
    • запрос: https://api.sbis.ru/retail/order/{externalId}/cancel, где {externalId} — идентификатор записи.
  • Удалить запись:
    • метод: PUT
    • запрос: https://api.sbis.ru/retail/order/{externalId}/delete, где {externalId} — идентификатор записи.
  • Узнать статус записи:
    • метод:

      GET

    • запрос: https://api.sbis.ru/retail/order/{externalId}/state, где {externalId} — идентификатор записи.
  • В ответ вы получите

    Имя поляТипОписание
    stateinteger Статус записи
    paymentsarray[{...}]Информация об оплате
    Структура «Payments»
    amountnumberСумма, на которую была оплата
    paymentTypestringТип оплаты
    isClosedbooleanПринимает значение «true», если оплата прошла корректно
    errorMessagestringВ случае некорректной оплаты выводится описание ошибки
  • Запросить ссылку на оплату записи в салон. Для этого должны быть включены интернет-платежи.
    • метод:GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}/payment-link, где {externalId} - идентификатор записи.
  • Параметры запроса

    ПараметрТипОписание
    externalId *stringИдентификатор записи в салон
    shopURL*stringURL, с которого производится вызов
    successURLstringURL для перехода при успехе
    errorURLstringURL для перехода при неудаче

    В ответ вы получите

    ПараметрТипОписание
    link stringСсылка на запись

Примеры

Пример записи в салон

{
  "dates": [
    {
      "master": {
        "id": 0,
        "name": "string",
        "role": "string",
        "image": "string"
      },
      "calendar": {}
    }
  ],
  "outcome": {
    "hasMore": false
  }
}

/master/list

пример ответа
{
  "masters": [
    {
      "id": 0,
      "name": "string",
      "role": "string",
      "image": "string"
    }
  ],
  "outcome": {
    "hasMore": false
  }
}

Пример получения статуса записи

{
  "state": 0,
  "payments": [
    {
      "amount": 0,
      "paymentType": "string",
      "isClosed": false,
      "errorMessage": "string"
    }
  ]
}

Пример получения ссылки на оплату

{
  "link": "string"
}
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.