Перейти к содержанию

Контрагенты

Контрагенты: список, карточка, создание и правка. Карточка запрашивается методом POST — единственное чтение в API, устроенное так.

Контрагент · contractor

GET /api/contractors

Список записей с постраничной выборкой.

Параметры запроса

Параметр Тип Ограничения
limit int диапазон 1..100, по умолчанию 100
offset int по умолчанию 0

Коды ответа

Код Что значит
200 успешный
401 нет доступа: ключ не передан, просрочен или неверен
400 неверный запрос: не хватает параметра или он не того типа

Поля ответа

Поле Тип Значение
meta object Метаданные о выдаче
meta.allCount int Количество всех контрагентов
meta.count int Размер выданного списка
meta.limit int Максимальное количество элементов в выданном списке. Максимальное количество элементов в списке равно 100.
meta.offset int Отступ в выданном списке
data array (object) Массив JSON объектов, представляющих собой контрагент.
data[].id int Идентификатор контрагента
data[].type string Тип контрагента (Значения: ЮЛ - Юр. лицо, ИП - Индивидуальный предприниматель, ФЛ - Физ. лицо)
data[].name string Наименование контрагента
data[].contactPerson string Контактное лицо
data[].inn string ИНН
data[].kpp string КПП
data[].status string Статус контрагента
data[].discount double Скидка % для контрагента
data[].legalAddress string Юридический адрес
data[].actualAddress string Фактический адрес
data[].phone1 string Номер телефона 1
data[].phone2 string Номер телефона 2
data[].email string Эл. адрес почты
data[].staff object Ответственный сотрудник
data[].staff.id int Идентификатор сотрудника
data[].staff.name string Наименование сотрудника
data[].balance float Баланс контрагента
data[].bonus object Бонусная система контрагента
data[].bonus.status int Статус бонусной системы (0 - Не участвует, 1 - Участвует)
data[].bonus.percent float Процент % накопления
data[].bonus.usePercent float Процент % использования
data[].bonus.code string Код накопления (номер карты)
data[].bonus.balance float Баланс бонусов контрагента
data[].giftCards array (object) Подарочные карты
data[].giftCards[].code string Код/Номер карты
data[].giftCards[].price string Цена карты
data[].banks array (object) Расчетные счета контрагента
data[].banks[].bik string БИК банка
data[].banks[].bank string Наименования банка
data[].banks[].korNumber string Корр. счет
data[].banks[].rasNumber string Расчетный счет

Ошибки

ERROR_LIMIT ERROR_OFFSET ERROR_USER_ACCESS ERROR_NO_API_KEY

Запрос получения списка контрагентов
Host: app.masterkassa.com

GET /api/contractors?limit=10&offset=40

Authorization: Bearer <ключ>
Ответ получения списка контрагентов
HTTP code: 200

{
  "meta": {
    "allCount": 42,
    "count": 2,
    "limit": 10,
    "offset": 40
  },
  "data": [
    {
      "id": 10,
      "type": "ЮЛ",
      "name": "ООО «Ромашка»",
      "contactPerson": "Иванов Иван Иванович",
      "inn": "7700000000",
      "kpp": "770001001",
      "status": "Поставщик",
      "discount": 0,
      "legalAddress": "г. Москва, ул. Примерная, 1",
      "actualAddress": "",
      "phone1": "+7 900 000-00-00",
      "phone2": "",
      "email": "info@example.com",
      "staff": {
        "id": 5,
        "name": "ООО «Ромашка»"
      },
      "balance": 12540,
      "bonus": {
        "status": 1,
        "percent": 5,
        "usePercent": 30,
        "code": "0000000000000",
        "balance": 1143.5
      },
      "giftCards": [
        {
          "code": "0000000000000",
          "price": 10000
        },
        {
          "code": "0000000000000",
          "price": 25000
        }
      ],
      "banks": [
        {
          "bik": "044500000",
          "bank": "АО \"АЛЬФА-БАНК\"",
          "korNumber": "30101810000000000000",
          "rasNumber": "40702810000000000000"
        }
      ]
    },
    {
      "id": 11,
      "type": "ФЛ",
      "name": "Иванов Иван Иванович",
      "contactPerson": "Иванов Иван Иванович",
      "inn": "",
      "kpp": "",
      "status": "Покупатель",
      "discount": 10,
      "legalAddress": "",
      "actualAddress": "",
      "phone1": "+7 900 000-00-00",
      "phone2": "",
      "email": "",
      "staff": {
        "id": 0,
        "name": "ООО «Ромашка»"
      },
      "balance": -1200,
      "bonus": {
        "status": 0,
        "percent": 0,
        "usePercent": 0,
        "code": "0000000000000",
        "balance": 0
      },
      "giftCards": [],
      "banks": []
    }
  ]
}

POST /api/contractor

Одна запись по идентификатору.

Параметры запроса

Параметр Тип Ограничения
id int Идентификатор контрагента в системе
phone string Номер телефона контрагента
inn string ИНН контрагента

Тело запроса

Поле Тип Ограничения
id int
phone string
inn string

Коды ответа

Код Что значит
200 успешный
401 нет доступа: ключ не передан, просрочен или неверен
400 неверный запрос: не хватает параметра или он не того типа

Поля ответа

Поле Тип Значение
data object JSON объект контрагент
data.id int Идентификатор контрагента
data.type string Тип контрагента (Значения: ЮЛ - Юр. лицо, ИП - Индивидуальный предприниматель, ФЛ - Физ. лицо)
data.name string Наименование контрагента
data.contactPerson string Контактное лицо
data.inn string ИНН
data.kpp string КПП
data.status string Статус контрагента
data.discount double Скидка % для контрагента
data.legalAddress string Юридический адрес
data.actualAddress string Фактический адрес
data.phone1 string Номер телефона 1
data.phone2 string Номер телефона 2
data.email string Эл. адрес почты
data.staff object Ответственный сотрудник
data.staff.id int Идентификатор сотрудника
data.staff.name string Наименование сотрудника
data.balance float Баланс контрагента
data.bonus object Бонусная система контрагента
data.bonus.status int Статус бонусной системы (0 - Не участвует, 1 - Участвует)
data.bonus.percent float Процент % накопления
data.bonus.usePercent float Процент % использования
data.bonus.code string Код накопления (номер карты)
data.bonus.balance float Баланс бонусов контрагента
data.giftCards array (object) Подарочные карты
data.giftCards[].code string Код/Номер карты
data.giftCards[].price string Цена карты
data.banks array (object) Расчетные счета контрагента
data.banks[].bik string БИК банка
data.banks[].bank string Наименования банка
data.banks[].korNumber string Корр. счет
data.banks[].rasNumber string Расчетный счет

Ошибки

ERROR_ID ERROR_PHONE ERROR_INN ERROR_USER_ACCESS ERROR_NO_API_KEY

Запрос получения информация контрагента
Host: app.masterkassa.com

POST /api/contractor

Authorization: Bearer <ключ>
Ответ получения информация контрагента
HTTP code: 200

{
  "data": {
    "id": 10,
    "type": "ЮЛ",
    "name": "ООО «Ромашка»",
    "contactPerson": "Иванов Иван Иванович",
    "inn": "7700000000",
    "kpp": "770001001",
    "status": "Поставщик",
    "discount": 0,
    "legalAddress": "г. Москва, ул. Примерная, 1",
    "actualAddress": "",
    "phone1": "+7 900 000-00-00",
    "phone2": "",
    "email": "info@example.com",
    "staff": {
      "id": 5,
      "name": "ООО «Ромашка»"
    },
    "balance": 12540,
    "bonus": {
      "status": 1,
      "percent": 5,
      "usePercent": 30,
      "code": "0000000000000",
      "balance": 1143.5
    },
    "giftCards": [
      {
        "code": "0000000000000",
        "price": 10000
      },
      {
        "code": "0000000000000",
        "price": 25000
      }
    ],
    "banks": [
      {
        "bik": "044500000",
        "bank": "АО \"АЛЬФА-БАНК\"",
        "korNumber": "30101810000000000000",
        "rasNumber": "40702810000000000000"
      }
    ]
  }
}

POST, хотя операция читающая — единственный такой случай в API.

GET+POST /api/add-contractor

Создание записей.

Запись в два шага

GET /api/add-contractor -> access_token, живёт 1 минуту. POST /api/add-contractor с заголовком X-Access-Token. Предел пакета — 100 записей.

Тело запроса — объект contractors со списком записей

Поле Тип Ограничения
type string обязательное
name string обязательное
contactPerson string обязательное
phone1 string обязательное
inn string
kpp string
status string
discount double

Коды ответа

Код Что значит
200 успешный
401 нет доступа: ключ не передан, просрочен или неверен
400 неверный запрос: не хватает параметра или он не того типа

Поля ответа

Поле Тип Значение
data object JSON объект ключа
data.access_token string Ключ доступа
data.expired date, time Время окончания жизни ключа доступа (по Московскому времени)
contractors array (object) Массив JSON объектов контрагента (Максимум 100 контрагентов в одном запросе)
contractors[].inn string ИНН
contractors[].kpp string КПП
contractors[].status string Статус контрагента (Если нет в системе, то создается)
contractors[].discount double Скидка %
contractors[].legalAddress string Юридический адрес
contractors[].actualAddress string Фактический адрес
contractors[].phone2 string Номер телефона 2
contractors[].email string Эл. адрес почты
contractors.data array (object) Массив JSON объектов, представляющих собой идентификаторы контрагентов.
contractors.data[].id int Идентификатор контрагента
contractors.data[].name string Наименование контрагента

Ошибки

ERROR_CONTRACTORS ERROR_NAME ERROR_TYPE ERROR_PHONE ERROR_INN ERROR_USER_ACCESS ERROR_NO_API_KEY

1. Запрос получения ключа доступа для добавления контрагентов
Host: app.masterkassa.com

GET /api/add-contractor/

Authorization: Bearer <ключ>
1. Ответ получения ключа доступа для добавления контрагентов
HTTP code: 200

{
  "data": {
    "access_token": "c87efe57719607ca1f8ec87fbe219607ca1fefe577edf3ffbe2426bdf3f8426b",
    "expired": "2025-05-24 13:17:45"
  }
}
2.Запрос добавления контрагентов
Host: app.masterkassa.com

POST /api/add-contractor/

Authorization: Bearer <ключ>

X-Access-Token: c87efe57719607ca1f8ec87fbe219607ca1fefe577edf3ffbe2426bdf3f8426b

{
  "contractors": [
    {
      "type": "ЮЛ",
      "name": "ООО «Ромашка»",
      "contactPerson": "Иванов Иван Иванович",
      "inn": "7700000000",
      "kpp": "770001001",
      "status": "Поставщик",
      "discount": 0,
      "legalAddress": "г. Москва, ул. Примерная, 1",
      "actualAddress": "г. Москва, ул. Примерная, 1",
      "phone1": "+7 900 000-00-00",
      "phone2": "",
      "email": ""
    },
    {
      "type": "ФЛ",
      "name": "Иванов Иван Иванович",
      "contactPerson": "Иванов Иван Иванович",
      "phone1": "+7 900 000-00-00"
    }
  ]
}
2. Ответ добавления контрагентов
HTTP code: 200

{
  "data": [
    {
      "id": 10,
      "name": "ООО «Ромашка»"
    },
    {
      "id": 11,
      "name": "ООО «Ромашка»"
    }
  ]
}

GET+POST /api/edit-contractor

Изменение записей.

Запись в два шага

GET /api/edit-contractor -> access_token, живёт 1 минуту. POST /api/edit-contractor с заголовком X-Access-Token. Предел пакета — 100 записей.

Тело запроса — объект contractors со списком записей

Поле Тип Ограничения
id int обязательное
type string обязательное
name string обязательное
contactPerson string обязательное
phone1 string обязательное

Коды ответа

Код Что значит
200 успешный
401 нет доступа: ключ не передан, просрочен или неверен
400 неверный запрос: не хватает параметра или он не того типа

Поля ответа

Поле Тип Значение
data object JSON объект ключа
data.access_token string Ключ доступа
data.expired date, time Время окончания жизни ключа доступа (по Московскому времени)
contractors array (object) Массив JSON объектов контрагента (Максимум 100 контрагентов в одном запросе)
contractors[].inn string ИНН
contractors[].kpp string КПП
contractors[].status string Статус контрагента (Если нет в системе, то создается)
contractors[].discount double Скидка %
contractors[].legalAddress string Юридический адрес
contractors[].actualAddress string Фактический адрес
contractors[].phone2 string Номер телефона 2
contractors[].email string Эл. адрес почты
contractors.data array (object) Массив JSON объектов, представляющих собой идентификаторы контрагентов.
contractors.data[].id int Идентификатор контрагента
contractors.data[].name string Наименование контрагента

Ошибки

ERROR_CONTRACTORS ERROR_ID ERROR_NAME ERROR_TYPE ERROR_PHONE ERROR_INN ERROR_USER_ACCESS ERROR_NO_API_KEY

1. Запрос получения ключа доступа для редактирования контрагентов
Host: app.masterkassa.com

GET /api/edit-contractor/

Authorization: Bearer <ключ>
1. Ответ получения ключа доступа для редактирования контрагентов
HTTP code: 200

{
  "data": {
    "access_token": "c87efe57719607ca1f8ec87fbe219607ca1fefe577edf3ffbe2426bdf3f8426b",
    "expired": "2025-05-24 13:17:45"
  }
}
2.Запрос редактирования контрагентов
Host: app.masterkassa.com

POST /api/edit-contractor/

Authorization: Bearer <ключ>

X-Access-Token: c87efe57719607ca1f8ec87fbe219607ca1fefe577edf3ffbe2426bdf3f8426b

{
  "contractors": [
    {
      "id": 10,
      "type": "ЮЛ",
      "name": "ООО «Ромашка»",
      "contactPerson": "Иванов Иван Иванович",
      "inn": "7700000000",
      "kpp": "770001001",
      "status": "Поставщик",
      "discount": 0,
      "legalAddress": "г. Москва, ул. Примерная, 1",
      "actualAddress": "г. Москва, ул. Примерная, 1",
      "phone1": "+7 900 000-00-00",
      "phone2": "",
      "email": ""
    },
    {
      "id": 11,
      "type": "ФЛ",
      "name": "Иванов Иван Иванович",
      "contactPerson": "Иванов Иван Иванович",
      "phone1": "+7 900 000-00-00"
    }
  ]
}
2. Ответ редактирования контрагентов
HTTP code: 200

{
  "data": [
    {
      "id": 10,
      "name": "ООО «Ромашка»"
    },
    {
      "id": 11,
      "name": "ООО «Ромашка»"
    }
  ]
}

GET отдаёт access_token, POST с заголовком X-Access-Token применяет правку. В ответе — изменённая запись в поле data.