Доступ к счетам

Доступ к счетам через АПИ

Структура моделей, назначение полей

Модель Invoice (инфо. счета)

Модель Invoice — представляет заголовок счета, содержит основную информацию о нем

* @property integer $id // ИД счета
* @property integer $doctor_id // ИД ответственного врача
* @property integer $client_id // ИД клиента
* @property integer $pet_id // ИД питомца
* @property string $description // Примечание
* @property double $percent // Суммарное значение скидки и надбавки
* @property double $amount // Сумма счета
* @property enum('save', 'exec', 'closed', 'deleted') $status
Статус, добавление счета со статусом, отличным от save, может привести к неверной работе программы
save - счет черновик, никакого влияния на программу не осуществляет
exec - счет выполнен, сумма списана с баланса клиента
closed - по счету посчитана зарплата, счет закрыт для редактирования
deleted - счет удален, программа больше не предлагает его выполнить, удалить можно только сохраненный счет
* @property string $invoice_date // Дата сохранения/проведения счета
* @property integer $old_id // deprecated
* @property bool $night // Отметка, если счет ночной
* @property double $increase // Процент надбавки
* @property double $discount // Процент скидки
* @property bool $call // Отметка, если счет создан на вызове
* @property double $paid_amount // Оплачено по счету
* @property string $create_date // Дата создания строки счета
* @property string $payment_status (none, partial, full)// статус оплаты счета
Значения:
none – не оплачен,
partial – частично оплачен,
full – полностью оплачен
* @property string $clinic_id// клиника, в которой создан счёт
* @property string $creator_id // создатель счета (пользователь, который залогинен в программе)


Модель InvoiceDocument (товары/услуги в счете)

Модель InvoiceDocument — представляет товары и услуги, вошедшие в счет, принадлежит счету

* @property integer $id // ИД документа
* @property integer $document_id //ИД счета
* @property integer $good_id // ИД товара
* @property float $quantity // Количество
* @property float $price // Стоимость = Цена товара на момент создания счета * Количество
* @property integer $responsible_user_id // ИД врача, ответственного за эту позицию
* @property integer $is_default_responsible // Отметка, если врач назначен по ответственному счета
* @property integer $sale_param_id // ID параметра продажи товара
* @property integer $tag_id // Ссылка на группу товара
* @property integer $discount_type // Ссылка на тип дисконта
* @property integer $discount_document_id // Ссылка на скидочную карту
* @property integer $discount_percent // Процент скидки
* @property integer $default_price // Цена по умолчанию
* @property integer $create_date // Дата создания строки (при пересохранении строки перезаписываются и дата меняется)
* @property integer $discount_cause // Текст выполнения правил скидки
* @property array $party_info // Массив с информацией о партиях, с которых был списал данный товар

Переменная $party_info — Массив с информацией о партиях, с которых был списал данный товар

Описание переменных:

* @property integer $party_id // ID партии из модели PartyAccount
* @property timestamp $party_exec_date // Дата создания партии
* @property integer $store_id // ID склада
* @property integer $good_id // ID товара
* @property integer $characteristic_id // ID характеристики товара
* @property float $quantity // Количество товара в ед. хранения
* @property float $price // Цена закупки

Примеры запросов

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

curl --location -g --request GET 'https://{DOMAIN NAME}/rest/api/Invoice?offset=0&sort=[{"property":"create_date", "direction":"DESC"}]&filter=[{"property":"client_id","value":6,"operator":"="}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'

Ответ сервера

{
     "success": true,
     "message": "Records Retrieved Successfully",
     "data": {
          "totalCount": "1",
          "invoice": [
               {
                    "id": "1",
                    "doctor_id": "1",
                    "client_id": "6",
                    "pet_id": "3",
                    "description": "Счет сформирован на основании мед.карты №2 от 2021-09-22 13:14:17.",
                    "percent": "0.0000000000",
                    "amount": "500.0000000000",
                    "status": "exec",
                    "invoice_date": "2021-09-22 13:14:25",
                    "old_id": null,
                    "night": "0",
                    "increase": "0.0000000000",
                    "discount": "0.0000000000",
                    "call": "0",
                    "paid_amount": "500.0000000000",
                    "create_date": "2021-09-22 13:14:17",
                    "payment_status": "full",
                    "clinic_id": "1",
                    "creator_id": "1",
                    "fiscal_section_id": "0",
                    "client": {
                         "id": "6",
                         "address": "",
                         "home_phone": "",
                         "work_phone": "",
                         "note": "",
                         "type_id": null,
                         "how_find": null,
                         "balance": "0.0000000000",
                         "email": "sergey.laytaruk@gmail.com",
                         "city": "",
                         "city_id": "145",
                         "date_register": "2021-09-22 09:25:39",
                         "cell_phone": "0957778899",
                         "zip": "",
                         "registration_index": null,
                         "vip": "0",
                         "last_name": "Client001",
                         "first_name": "Client001",
                         "middle_name": "Client001",
                         "status": "ACTIVE",
                         "discount": "0",
                         "passport_series": "",
                         "lab_number": "",
                         "street_id": "0",
                         "apartment": "",
                         "unsubscribe": "0",
                         "in_blacklist": "0",
                         "last_visit_date": "2021-09-22 13:14:19",
                         "number_of_journal": "",
                         "phone_prefix": "38"
                    },
                         "pet": {
                         "id": "3",
                         "owner_id": "6",
                         "type_id": "13",
                         "alias": "Pet001",
                         "sex": "unknown",
                         "date_register": "2021-09-22 09:25:59",
                         "birthday": null,
                         "note": "",
                         "breed_id": "444",
                         "old_id": null,
                         "color_id": "0",
                         "deathnote": null,
                         "deathdate": null,
                         "chip_number": "",
                         "lab_number": "",
                         "status": "alive",
                         "picture": null,
                         "weight": "0.0000000000",
                         "pet_type_data": {
                              "id": "13",
                              "title": "Кошачий",
                              "picture": "cat",
                              "type": "cat"
                         },
                              "breed_data": {
                                    "id": "444",
                                    "title": "Ангорская",
                                    "pet_type_id": "13"
                               }
                               },
                                    "doctor": {
                                         "id": "1",
                                         "last_name": "admin",
                                         "first_name": "",
                                         "middle_name": "",
                                         "login": "admin",
                                         "passwd": "9205814c8bc98857f5e07f3bae30ad68",
                                         "position_id": "8",
                                         "email": "email1@mail.ru",
                                         "phone": "00000000000",
                                         "cell_phone": "0000000000",
                                         "address": "Address 1",
                                         "role_id": "7",
                                         "is_active": "1",
                                         "calc_percents": "1",
                                         "nickname": "admin",
                                         "youtrack_login": "",
                                         "youtrack_password": "",
                                         "last_change_pwd_date": "0000-00-00",
                                         "is_limited": "0",
                                         "carrotquest_id": "two:1",
                                         "sip_number": "",
                                         "user_inn": ""
                                    }
                           }
                 ]
        }
}


Пример invoice по ID счета

curl --location --request GET 'https://{DOMAIN NAME}/rest/api/Invoice/1' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'

Ответ сервера

{
     "success": true,
     "message": "Record Retrieved Successfully",
     "data": {
          "totalCount": 1,
          "invoice": {
               "id": "1",
               "doctor_id": "1",
               "client_id": "6",
               "pet_id": "3",
               "description": "Счет сформирован на основании мед.карты №2 от 2021-09-22 13:14:17.",
               "percent": "0.0000000000",
               "amount": "500.0000000000",
               "status": "exec",
               "invoice_date": "2021-09-22 13:14:25",
               "old_id": null,
               "night": "0",
               "increase": "0.0000000000",
               "discount": "0.0000000000",
               "call": "0",
               "paid_amount": "500.0000000000",
               "create_date": "2021-09-22 13:14:17",
               "payment_status": "full",
               "clinic_id": "1",
               "creator_id": "1",
               "fiscal_section_id": "0",
               "client": {
                    "id": "6",
                    "address": "",
                    "home_phone": "",
                    "work_phone": "",
                    "note": "",
                    "type_id": null,
                    "how_find": null,
                    "balance": "0.0000000000",
                    "email": "sergey.laytaruk@gmail.com",
                    "city": "",
                    "city_id": "145",
                    "date_register": "2021-09-22 09:25:39",
                    "cell_phone": "0957778899",
                    "zip": "",
                    "registration_index": null,
                    "vip": "0",
                    "last_name": "Client001",
                    "first_name": "Client001",
                    "middle_name": "Client001",
                    "status": "ACTIVE",
                    "discount": "0",
                    "passport_series": "",
                    "lab_number": "",
                    "street_id": "0",
                    "apartment": "",
                    "unsubscribe": "0",
                    "in_blacklist": "0",
                    "last_visit_date": "2021-09-22 13:14:19",
                    "number_of_journal": "",
                    "phone_prefix": "38"
               },
               "pet": {
                    "id": "3",
                    "owner_id": "6",
                    "type_id": "13",
                    "alias": "Pet001",
                    "sex": "unknown",
                    "date_register": "2021-09-22 09:25:59",
                    "birthday": null,
                    "note": "",
                    "breed_id": "444",
                    "old_id": null,
                    "color_id": "0",
                    "deathnote": null,
                    "deathdate": null,
                    "chip_number": "",
                    "lab_number": "",
                    "status": "alive",
                    "picture": null,
                    "weight": "0.0000000000",
                    "pet_type_data": {
                         "id": "13",
                         "title": "Кошачий",
                         "picture": "cat",
                         "type": "cat"
                    },
                         "breed_data": {
                              "id": "444",
                              "title": "Ангорская",
                              "pet_type_id": "13"
                         }
                         },
                              "doctor": {
                                   "id": "1",
                                   "last_name": "admin",
                                   "first_name": "",
                                   "middle_name": "",
                                   "login": "admin",
                                   "passwd": "9205814c8bc98857f5e07f3bae30ad68",
                                   "position_id": "8",
                                   "email": "email1@mail.ru",
                                   "phone": "00000000000",
                                   "cell_phone": "0000000000",
                                   "address": "Address 1",
                                   "role_id": "7",
                                   "is_active": "1",
                                   "calc_percents": "1",
                                   "nickname": "admin",
                                   "youtrack_login": "",
                                   "youtrack_password": "",
                                   "last_change_pwd_date": "0000-00-00",
                                   "is_limited": "0",
                                   "carrotquest_id": "two:1",
                                   "sip_number": "",
                                   "user_inn": ""
                              },
                                   "invoiceDocuments": [
                              {
                                   "id": "1",
                                   "document_id": "1",
                                   "good_id": "5379",
                                   "quantity": "1.0000000000",
                                   "price": "500.0000000000",
                                   "responsible_user_id": "1",
                                   "is_default_responsible": "1",
                                   "sale_param_id": "1037",
                                   "tag_id": "0",
                                   "discount_type": null,
                                   "discount_document_id": null,
                                   "discount_percent": null,
                                   "default_price": "500.0000000000",
                                   "create_date": "2021-09-22 13:14:17",
                                   "discount_cause": "",
                                   "fixed_discount_id": "0",
                                   "fixed_discount_percent": "0",
                                   "fixed_increase_id": "0",
                                   "fixed_increase_percent": "0",
                                   "prime_cost": "0.0000000000",
                                   "party_info": [],
                                   "goodSaleParam": {
                                   "id": "1037",
                                   "good_id": "5379",
                                   "price": "500.0000000000",
                                   "coefficient": "1",
                                   "unit_sale_id": "5",
                                   "min_price": "0.0000000000",
                                   "max_price": "0.0000000000",
                                   "barcode": "",
                                   "status": "active",
                                   "clinic_id": "1",
                                   "markup": "0.0000000000",
                                   "price_formation": "fixed",
                                   "unitSale": {
                                        "id": "5",
                                        "title": "доза",
                                        "status": "active"
                                   }
                              }
                         }
                   ]
            }
      }
}


Пример invoiceDocument с фильтром по ID счета

curl --location -g --request GET 'https://{DOMAIN NAME}/rest/api/InvoiceDocument?filter=[{"property":"document_id","value":1,"operator":"="}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'

Ответ сервера

{
     "success": true,
     "message": "Records Retrieved Successfully",
     "data": {
           "totalCount": "1",
           "invoiceDocument": [
                {
                     "id": "1",
                     "document_id": "1",
                     "good_id": "5379",
                     "quantity": "1.0000000000",
                     "price": "500.0000000000",
                     "responsible_user_id": "1",
                     "is_default_responsible": "1",
                     "sale_param_id": "1037",
                     "tag_id": "0",
                     "discount_type": null,
                     "discount_document_id": null,
                     "discount_percent": null,
                     "default_price": "500.0000000000",
                     "create_date": "2021-09-22 13:14:17",
                     "discount_cause": "",
                     "fixed_discount_id": "0",
                     "fixed_discount_percent": "0",
                     "fixed_increase_id": "0",
                     "fixed_increase_percent": "0",
                     "prime_cost": "0.0000000000",
                     "document": {
                          "id": "1",
                          "doctor_id": "1",
                          "client_id": "6",
                          "pet_id": "3",
                          "description": "Счет сформирован на основании мед.карты №2 от 2021-09-22 13:14:17.",
                          "percent": "0.0000000000",
                          "amount": "500.0000000000",
                          "status": "exec",
                          "invoice_date": "2021-09-22 13:14:25",
                          "old_id": null,
                          "night": "0",
                          "increase": "0.0000000000",
                          "discount": "0.0000000000",
                          "call": "0",
                          "paid_amount": "500.0000000000",
                          "create_date": "2021-09-22 13:14:17",
                          "payment_status": "full",
                          "clinic_id": "1",
                          "creator_id": "1",
                          "fiscal_section_id": "0"
                     },
                          "good": {
                               "id": "5379",
                               "group_id": "72",
                               "title": "товар001",
                               "unit_storage_id": "5",
                               "is_warehouse_account": "1",
                               "is_active": "1",
                               "code": "",
                               "is_call": "0",
                               "is_for_sale": "1",
                               "barcode": "",
                               "create_date": null,
                               "description": "",
                               "prime_cost": "0.0000000000",
                               "category_id": null
                          },
                               "goodSaleParam": {
                               "id": "1037",
                               "good_id": "5379",
                               "price": "500.0000000000",
                               "coefficient": "1",
                               "unit_sale_id": "5",
                               "min_price": "0.0000000000",
                               "max_price": "0.0000000000",
                               "barcode": "",
                               "status": "active",
                               "clinic_id": "1",
                               "markup": "0.0000000000",
                               "price_formation": "fixed"
                          }
                   }
           ]
     }
}





Powered by