Перейти к содержанию

Создание чека


Описание

Используется для создания чеков: прихода, возврата прихода, расхода, возврата расхода.

POST (Уровень доступа: Базовый)

https://api.intellectmoney.ru/personal/cashBox/createReceipt
Онлайн-касса в настройках магазина должна быть "Выключена".

Мера предотвращает недоразумения о том, кто и когда формирует чеки.

Заголовки запроса

Параметр Свойства Описание
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": "",
            "ResponseState": "Ok",
            "Errors": []
        }
    }
}
JSON
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан"
        },
        "DocumentId": "0123456789abcdef0123456789abcdef",
        "CashboxReceiptResponseData": {
            "ReceiptId": 0,
            "Response": "{\n  \"errors\": [\n    \"В группе нет ни одного фискализированного устройства\"\n  ]\n}",
            "ResponseState": "BadRequest",
            "Errors": [
                "В группе нет ни одного фискализированного устройства"
            ]
        }
    }
}