В REST API Ветменеджера товары и услуги описаны моделью `Good`.
В документации и OpenAPI нет отдельного endpoint `Nomenclature`. Если разработчик спрашивает про `Nomenclature`, обычно ему нужны:
Основные endpoints
```http
GET /rest/api/good
GET /rest/api/good/{ID}
POST /rest/api/good
PUT /rest/api/good/{ID}
DELETE /rest/api/good/{ID}
```Группы:
```http
GET /rest/api/GoodGroup
GET /rest/api/GoodGroup/{ID}
```Параметры продажи:
```http
GET /rest/api/goodSaleParam
GET /rest/api/goodSaleParam/{ID}
PUT /rest/api/goodSaleParam/{ID}
```Для подбора товаров и услуг в счетах используется метод:
```http GET /rest/api/Good/ProductsDataForInvoice/ ```
Пример:
```bash
curl --location --globoff 'https://{DOMAIN NAME}/rest/api/Good/ProductsDataForInvoice/?page[number]=1&page[size]=50&clinic_id=1&page[no_paging]=0&search_query=' \
--header 'X-REST-API-KEY: {REST API KEY}'
```Признак услуги хранится в группе `GoodGroup.is_service`:
В ответе `ProductsDataForInvoice` также может приходить поле `is_service`.
Основная цена хранится в параметре продажи `GoodSaleParam.price`.
Важные поля `GoodSaleParam`:
Если в домене несколько филиалов, цена может отличаться по филиалам, потому что у параметра продажи есть `clinic_id`.
У товара или услуги `Good.is_active`: `1` - активен, `0` - деактивирован.
У параметра продажи `GoodSaleParam.status`: `active` - активен, `disabled` - отключен.
При интеграции лучше учитывать оба признака: активность самой позиции и активность параметра продажи.
В прайсе у позиции `Good` длительность приема не задается. Длительность относится к записи на прием и передается в поле `Admission.admission_length`.
Для целей обращения длительность может быть задана в справочнике `Тип приема`. Получить цели обращения можно через `ComboManualName` / `ComboManualItem`.
Пример ответа по товару или услуге
```json
{
"success": true,
"message": "Record Retrieved Successfully",
"data": {
"totalCount": 1,
"good": {
"id": "485",
"group_id": "30",
"title": "Остеосинтез бедра, плеча",
"is_active": "1",
"is_for_sale": "1",
"barcode": null,
"group": { "id": "30", "title": "Ортопедия", "is_service": "1" },
"goodSaleParams": [
{ "id": "1", "good_id": "485", "price": "3000.0000000000", "status": "active", "clinic_id": "1" }
]
}
}
}
```В интерфейсе Ветменеджера у услуги можно указать ответственных врачей. Это нужно, если услугу могут выполнять только определенные сотрудники.
В REST API-материалах отдельный endpoint или поле для чтения и изменения списка ответственных врачей услуги не описаны. Если интеграции нужно работать с ответственными врачами услуги, передайте задачу разработчику для проверки по OpenAPI и фактическому API домена.