QUINCE API. Контракти
Список методів
| Метод | Опис |
|---|---|
/api/v2/contract/list | Отримання списку контрактів |
/api/v2/contract/add | Створення контрактів |
/api/v2/contract/update | Оновлення контрактів |
Отримання списку контрактів
Назва методу: /api/v2/contract/list
Повертає список контрактів. Для навігації використовується номер сторінки page. Розмір сторінки фіксований і дорівнює 100 елементам.
Параметри запиту
| Поле | Тип | Опис |
|---|---|---|
filter | object | Необов’язковий фільтр. Поля фільтра працюють з логікою AND. |
filter.Id | integer | Ідентифікатор контракту. |
filter.Archive | boolean | Ознака повернення архівних контрактів. |
filter.Company | integer | Ідентифікатор організації контракту. |
filter.Partner | integer | Ідентифікатор партнера, контракти якого треба повернути. |
page | integer | Номер сторінки. Якщо не передати, використовується перша сторінка. |
Основні поля відповіді
| Поле | Опис |
|---|---|
Id | Ідентифікатор контракту. |
Name | Назва контракту. |
Kind | Вид контракту: P - з покупцем, M - з постачальником, C - з комітентом, S - з комісіонером, O - інші. |
Currency | Код валюти. |
Company | Організація: об’єкт { "Id": ..., "Name": ... }. |
Partner | Партнер: об’єкт { "Id": ..., "Name": ... }. |
OwnerLocked | true, якщо по контракту вже є документи або взаєморозрахунки. У такому разі спроба змінити Company або Partner через /api/v2/contract/update буде відхилена з кодом FIELD_LOCKED. |
PriceType | Ідентифікатор типу ціни. |
Company і Partner повертаються об’єктом, а не скалярним Id - це зворотно несумісна зміна. Якщо інтеграція раніше читала ці поля як число, оновіть парсинг на Company.Id і Partner.Id. Детальніше - у розділі Незмінність власника конвенцій API.
Приклад запиту
{
"filter": {
"Partner": 210,
"Archive": false
},
"page": 1
}
Створення контрактів
Назва методу: /api/v2/contract/add
Метод додає контракти пакетами до 100 елементів.
Параметри запиту
| Поле | Опис |
|---|---|
array | Масив контрактів. Обов’язковий. |
array[].Name | Назва контракту. |
array[].Company | Ідентифікатор організації. |
array[].Partner | Ідентифікатор партнера. |
array[].Currency | Код валюти. |
array[].Memo | Коментар. |
Оновлення контрактів
Назва методу: /api/v2/contract/update
Метод оновлює контракти пакетами до 100 елементів. Для оновлення поле Id обов’язкове. Якщо переданий Id не знайдено, пакет не оновлюється і API повертає перелік не знайдених ідентифікаторів.
Параметри запиту
| Поле | Опис |
|---|---|
array | Масив контрактів. Обов’язковий. |
array[].Id | Ідентифікатор контракту. Обов’язковий. |
array[].Name | Назва контракту. |
array[].Company | Ідентифікатор організації. Можна змінити, тільки якщо OwnerLocked для контракту дорівнює false. |
array[].Partner | Ідентифікатор партнера. Можна змінити, тільки якщо OwnerLocked для контракту дорівнює false. |
array[].Memo | Коментар. |
Якщо контракт уже має документи або взаєморозрахунки (OwnerLocked: true), а запит намагається змінити Company або Partner на інше значення, метод відхиляє весь запит з кодом FIELD_LOCKED - див. Незмінність власника.
Формат відповіді для створення та оновлення
| Поле | Опис |
|---|---|
success | true або false. |
data | Масив ідентифікаторів створених або оновлених контрактів. |
error | Текст помилки, якщо success = false. |
code | Код помилки, якщо success = false і причина - блокування власника (FIELD_LOCKED). Повний перелік кодів - у розділі Коди відмов. |