Создание чека
Описание
Используется для создания чеков: прихода, возврата прихода, расхода, возврата расхода.
POST (Уровень доступа: Базовый)
Онлайн-касса в настройках магазина должна быть "Выключена".
Мера предотвращает недоразумения о том, кто и когда формирует чеки.
Заголовки запроса
| Параметр | Свойства | Описание |
|---|---|---|
Accept |
STRING OPTIONAL application/json | Заголовок, указывающий формат данных, которые клиент хочет получить от сервера. |
Content-Type |
STRING OPTIONAL application/json application/xml | Заголовок, указывающий формат данных в теле запроса. |
Authorization |
STRING REQUIRED Bearer {token} | Заголовок, используемый для авторизации клиента с помощью Bearer-токена. Подробнее об использование Bearer-токена. |
Sign |
STRING REQUIRED | Заголовок с подписью для авторизации запроса. Подробнее об использовании контрольной подписи. Сигнатура подписи: UserToken::MerchantReceipt::InvoiceId::SignSecretKey |
Тело запроса
| Параметр | Свойства | Описание |
|---|---|---|
UserToken |
STRING REQUIRED | Токен-пользователя. Для получения использовать метод GetUserToken. |
InvoiceId |
STRING REQUIRED 3xxxxxxxxx | Номер СКО. |
MerchantReceipt |
OBJECT REQUIRED | Чек для онлайн-кассы. Подробнее о правилах формирования чека. |
InvoiceRefundId |
INT OPTIONAL | Номер возврата по СКО. |
Тело ответа
| Поле | Тип | Описание |
|---|---|---|
OperationState |
OperationState | Статус выполнения операции. |
OperationId |
GUID | Идентификатор операции. |
EshopId |
INT | Номер магазина. |
Result |
CashboxReceiptCreateData | Результат выполнения запроса. |
Примеры кода
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.intellectmoney.ru/personal/cashBox/createReceipt");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
request.Headers.Add("Authorization", "Bearer 9d97820c61424eb6ac0db414ccb7ac60");
request.Headers.Add("Sign", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("UserToken", "YdUlqkFcVo62XmY6B9VLJfwUODqE9ODk8/q/s1uXguWmiiPUo+R8YpiYt6g/s/IM"));
collection.Add(new("InvoiceId", "3000000000"));
collection.Add(new("MerchantReceipt", "{
"Inn": "7000000000",
"Group": "Main_2",
"Content": {
"Type": 1,
"CustomerContact": "test@mail.ru",
"Positions": [{
"Quantity": "1.00",
"Price": "1.00",
"Tax": 9,
"Text": "Товар",
"PaymentSubjectType": 1,
"PaymentMethodType": 4
}
],
"CheckClose": {
"Payments": [{
"Type": 2,
"Amount": "1.00"
}
],
"TaxationSystem": 0
}
}
}"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.intellectmoney.ru/personal/cashBox/createReceipt',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'UserToken=YdUlqkFcVo62XmY6B9VLJfwUODqE9ODk8/q/s1uXguWmiiPUo+R8YpiYt6g/s/IM&InvoiceId=3000000000&MerchantReceipt={
"Inn": "7000000000",
"Group": "Main_2",
"Content": {
"Type": 1,
"CustomerContact": "test@mail.ru",
"Positions": [{
"Quantity": "1.00",
"Price": "1.00",
"Tax": 9,
"Text": "Товар",
"PaymentSubjectType": 1,
"PaymentMethodType": 4
}
],
"CheckClose": {
"Payments": [{
"Type": 2,
"Amount": "1.00"
}
],
"TaxationSystem": 0
}
}
}',
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer 9d97820c61424eb6ac0db414ccb7ac60',
'Sign: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответов
JSON
{
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"Result": {
"State": {
"Code": 0,
"Desc": "Успешно обработан"
},
"DocumentId": "0123456789abcdef0123456789abcdef",
"CashboxReceiptResponseData": {
"ReceiptId": 0,
"Response": "{\n \"errors\": [\n \"В группе нет ни одного фискализированного устройства\"\n ]\n}",
"ResponseState": "BadRequest",
"Errors": [
"В группе нет ни одного фискализированного устройства"
]
}
}
}