Отримання токену доступу
Інструкція з отримання токену - https://medakadem.freshdesk.com/uk/support/solutions/articles/77000530947-отримання-token
Використання токену - https://medakadem.freshdesk.com/uk/support/solutions/articles/77000530917-token
Для використання API потрібні скоупи: "gambit:lab_client:create_order ".
Якщо немає потрібних scope, то повертатиметься помилка - Code 403 Forbidden
За допомогою запитів по API можна виконувати такі дії, як створення замовлення, та отримання штрихкодів.
1. Для створення замовлення потрібно виконати запит POST: /api/v1/laboratory/integration/create-order
Request body:

| Параметр | Тип | Опис |
| clientName | string nullable: true | унікальний ідентифікатор клієнта |
| first | string nullable: true | ім'я |
| last | string nullable: true | прізвище |
| middle | string nullable: true | по батькові |
| born | string($date-time) | дата народження |
| gender | string nullable: true | стать: "male", "female" |
| phone | string nullable: true | телефон |
| itemId | integer($int32) | унікальний ідентифікатор послуги в замовлені |
| externalUniqueId | string($uuid) | унікальний ідентифікатор аналізу |
| parentExternalUniqueId | string($uuid) | унікальний ідентифікатор пакету аналізу (якщо це не пакетний аналіз тоді parentExternalUniqueId має співпадати з externalUniqueId) |
| quantity | integer($int32) | кількість аналізів |
| assembledAt | string($date-time) nullable: true | дата забору |
| menopause | integer($int32) nullable: true | менопауза |
| dateLastPeriods | string($date-time) nullable: true | дата останього менструального циклу |
| weeksOfPregnancy | integer($int32) nullable: true | тиждень вагінтності |
| note | string nullable: true | опис/коментар |
| orderId | integer($int32) | ідентифікатор замовлення |
| сontractorEDRPOU | string nullable: true | код ЄДРПОУ |
| dateCreated | string($date-time) | дата створення |
| contractorEDRPOU | string nullable: true | код ЄДРПОУ |
* - позначається обов'язковий для заповення параметр
Responses:
При успішному виконані запиту повернеться - Code 200 Success
Якщо якісь вхідні дані будуть не вірного формату, то повернеться - Code 400 Bad Request

| Параметр | Параметр | Опис |
| code | string nullable: true | код помилки |
| message | string nullable: true | текст помилки |
| isSuccess | boolean readOnly: true | --- |
2. Для отримання штрихкодів потрібно виконати запит POST: /api/v1/laboratory/integration/create-analysis-code
Request body:

| Параметр | Параметр | Опис |
| orderId | integer($int32) | ідентифікатор замовлення |
| externalCodeMode | integer($int32) | --- |
| contractorEDRPOU | string nullable: true | код ЄДРПОУ |
* - позначається обов'язковий для заповення параметр
Responses:
При успішному виконані запиту повернеться - Code 200 Success

| Параметр | Тип | Опис |
| errors | ||
| code | string nullable: true | код помилки |
| message | string nullable: true | текст помилки |
| isSuccess | boolean readOnly: true | --- |
| data | ||
| сode | string nullable: true | штрих код |
| prefix | string nullable: true | префікс штрих коду |
| index | integer($int32) | порядковий номер штрих коду |
| orderItems | ||
| orderItemId | integer($int32) | ідентифікатор замовлдення |
| packageUniqueId | string($uuid) | унікальний ідентифікатор послуги |
| container | ||
| name | string nullable: true | назва контейнера |
| shortName | string nullable: true | коротка назва контейнера |
| capacity | integer($int32) | кількість аналізі які можна виконати з цієї пробірки |
| temperatureLimits | string nullable: true | температурні рамки |
| description | string nullable: true | опис контейнера |
| isBlend | boolean | можна поміщати кілька аналізів в одну пробірку (тоді в них буде однаковий штрих-код), інакше штрих-коди в аналізах будуть різні (навіть якщо тип пробірки однаковий) |
| containerType | ||
| name | string nullable: true | назва типу |
| shortName | string nullable: true | коротка назва типу |
| analysisSampleMaterials | ||
| name | string nullable: true | назва метераілу |
| shortName | string nullable: true | коротка назва матеріалу |
| analysisSampleMaterialType | integer($int32) | тип матеріалу |
| barCodeSize | integer($int32) | розмір баркоду |
Якщо якісь вхідні дані будуть не вірного формату, то повернеться - Code 400 Bad Request
3. Для отримання прайсу потрібно виконати запит GET: /api/v1/laboratory/integration/price
Responses:
При успішному виконані запиту повернеться - Code 200 Success

| Параметр | Тип | Опис |
| PackageId | integer($int32) | ідентифікатор послуги |
| PackageName | string nullable: true | назва послуги |
| PackageCode | string nullable: true | код послуги |
| PackageDetail | string nullable: true | опис послуги |
| Cost | number($double) | ціна |
| DisallowPromotions | boolean | заборонити акції |
| UniqueId | string($uuid) | унікальний ідентифікатор |
| Child | ||
| PackageId | integer($int32) | ідентифікатор послуги |
| PackageName | string nullable: true | назва послуги |
| PackageCode | string nullable: true | код послуги |
| PackageDetail | string nullable: true | опис послуги |
| Cost | number($double) | ціна |
| DisallowPromotions | boolean | заборонити акції |
| UniqueId | string($uuid) | унікальний ідентифікатор |