EndPoint - create_packet_bills_inv
Method - POST
Этим методом создаются талоны, по одному на каждую услугу из списка услуг в параметрах запроса.
А потом создается общий счет на все услуги в этих талонах.
ID пациента, (при методе авторизации пользователя по умолчанию), это логин в basic авторизации.
Если используется другой логин пользователя или авторизация по x-api-key,
то нужно использовать метод определения Patients_ID
методами 0.2. get_patient / данные о пользователе или 0.4. find_patient_by_fio / поиск пациента по ФИО+ДР+телефон
Коды услуг и цены можно получить из метода 2.3. get_cost_servs_all / cписок услуг с ценами
Все параметры обязательны
| Название параметра | Тип данных | Описание |
|---|---|---|
| patients_id | integer | ID пациента |
| datebill | string | Дата, на которую создаются талоны и вычисляется цена это дата планируемого оказания услуг. Может отличаться от даты счета и даты оплаты, которые всегда текущие. |
| filial_id | integer | ID филиала |
| create | integer | (обязательный параметр) значения 0 или 1: 0 – посчитать стоимость услуг и выдать сумму для аванса 1 – создать талоны и общий счет на оплату |
| servs | [{}] | Список услуг для талона/счета |
| code | string | код услуги |
| cnt | integer | количество |
| Название параметра | Тип данных | Описание |
|---|---|---|
| msgcode | string | код результата выполнения запроса |
| message | string | текст результата выполнения запроса |
| invoice_id | integer | ID созданного счета, если счет не существует, = -1 |
| total_amount | money | сумма счета |
| servs | [] | Список услуг в талоне/счете |
| bill_id | integer | ID талона, если талон не существует, = -1 |
| serv_id | integer | ID услуги |
| serv_code | string | код услуги |
| serv_name | string | Наименование услуги |
| cnt | integer | количество |
| price | money | цена одной услуги |
| cost | money | стоимость=цена*количество |
url - http://127.0.0.1:45670/create_packet_bills_inv
body -
{
"patients_id":143514,
"datebill":"2021-02-28",
"filial_id":1,
"create":0,
"servs":
[
{
"code":"A21.03.002.001",
"cnt":1
},{
"code":"A21.01.003.001",
"cnt":2
}
]
}curl "http://127.0.0.1:45670/create_packet_bills_inv" \
-X POST \
-d "{\n \"patients_id\":143514,\n \"datebill\":\"2021-02-28\",\n \"filial_id\":1,\n \"create\":0,\n \"servs\":\n [\n {\n \"code\":\"A21.03.002.001\",\n \"cnt\":1\n},{\n \"code\":\"A21.01.003.001\",\n \"cnt\":2\n }\n ]\n}"[{"invoice_id": -1,
"total_amount": 1960.00,
"msgcode": 0,
"message": "все услуги подобраны, счет не создан т.к. create=0",
"servs": [{"bill_id": -1,
"serv_id": 18103,
"serv_code": "A21.03.002.001",
"serv_name": "Массаж спины",
"cnt": 1.00,
"price": 490.00,
"cost": 490.00
}, { "bill_id": -1,
"serv_id": 18100,
"serv_code": "A21.01.003.001",
"serv_name": "Массаж воротниковой зоны",
"cnt": 2.00,
"price": 490.00,
"cost": 980.00
}]
}]Список Кодов и Сообщений Результат выполнения запроса.
| msgcode | message | доп.информация |
|---|---|---|
0 | все услуги подобраны, счет не создан т.к. create=0 | invoice_id=-1 – т.е. счет не создан total_amount=1960.00 - сумма услуг для оплаты, например, методом MAKE_PAYMENT |
1 | все услуги подобраны, созданы талоны и счет | invoice_id=1111 – т.е. возвращается номер счета total_amount=1960.00 - сумма услуг в счете |
2 | операция отменена, т.к. по кодам найдены не все услуги | invoice_id=-1 – т.е. счет не создан total_amount=0.00 - сумма услуг пуста, т.к. есть ошибка в указании списка услуг. и в этом случае нужно смотреть услугу, у которой serv_id пуст. |