Заказы

Список заказов в мастерской

GET https://api.livesklad.com/shops/{id}/orders

Возвращает массив заказов для мастерской. Для получения списка заказов у API должен быть настроен доступ к заказам и доступ к соответствующей мастерской Для сортировки результата необходимо в параметре sort передать строку "<название_поля> ASC" или "<название_поля> DESC". Где ASC - сортировать по возрастанию, DESC - сортировать по убыванию, <название_поля> - поле по которому осуществляется сортировка, может быть одно из: id, sn, typeOrder, manager, closeManager, master, brand, model, typeDevice, node, problem, completeSet, number, num, dateCreate, lastAction, dateClose, dateFinish, deadline, statusDeadline, counteragent, address, summ, cash, status, isUrgent. По умолчанию заказы сортируются от новых к старым Фильтры по датам передаются в виде массива из двух чисел в формате Unix (в миллисекундах), где первый число - это начало диапазона, а второе - конец диапазона. Если какая-то граница диапазона отсутствует, то вместо нее нужно передать null. Например [1690837200000,1693515599999] или [null,1693515599999]

Из списка с любым заданным набором фильтров можно получить максимум 10000 элементов, то есть максимальное значение для page * pageSize = 10000. Чтобы получить другие элементы, нужно либо изменить фильтр, либо изменить сортировку

Path Parameters

NameTypeDescription

id*

string

id мастерской

Query Parameters

NameTypeDescription

isVisible

boolean

Фильтр по удаленным заказам. Если true - будут считаны только не удаленные заказы, если false - будут считаны только удаленные заказы, если параметр не отсутствует - будут считаны все заказы

sort

string

Сортировка

statusIds

array

Фильтр по статусам заказов, передается в виде массива id статусов

masterId

string

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

managerId

string

Фильтр по менеджеру которому назначен заказ

counteragentId

string

Фильтр по контрагенту

isUrgent

boolean

Фильтр: "Срочные заказы"

isDeadline

boolean

Фильтр: "Просроченные заказы"

isStatusDeadline

boolean

Фильтр: "Просроченные по норме времени статуса"

page

number

Номер страницы выборки ( по умолчанию - 1)

pageSize

number

Количество элементов в выборке (по умолчанию - 10, максимум - 50)

filter

string

Текст для поиска по содержимому заказа

dateCreate

array

Фильтр по дате создания

dateFinish

array

Фильтр по дате готовности

dateClose

array

Фильтр по дате выдачи

deadline

array

Фильтр по дате крайнего срока

statusDeadline

array

Фильтр по дате крайнего срока статуса

lastAction

array

Фильтр по дате последнего изменения

num

number

Номер заказа (числовой номер, ищет по точному соответствию номера заказа без учета префикса)

numer

string

Номер заказа (текстовый номер, ищет по частичному совпадению номера заказа с учетом префикса)

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

{
  data: [
    {
      isUrgent: false,
      color: "Белый",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "3000р",
      counteragent: {
        name: "Кузнецов Евгений Анатольевич",
        rating: -1,
        phones: [
          "+7 (933) 333-33-33"
        ],
        id: "63c015afcce57401c832fc9e"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000003",
      problem: [
        "Не заряжается"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Планшет",
      sn: "355636789089331",
      cash: {
        summ: 0
      },
      device: "Apple iPad 3",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca4",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    },
    {
      isUrgent: false,
      color: "Синий",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "4000 р",
      counteragent: {
        name: "Смирнов Иван Андреевич",
        rating: 0,
        phones: [
          "+7 (944) 444-44-44"
        ],
        id: "63c015afcce57401c832fc9f"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000004",
      problem: [
        "Замена корпуса"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Телефон",
      sn: "354578765434567",
      cash: {
        summ: 0
      },
      device: "Alcatel 5080x",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca5",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    }
  ],
  total: 10,
  page: 1,
  pageSize: 10,
  sort: {
    field: "dateCreate",
    dir: "DESC"
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Список заказов без привязки к мастерской

GET https://api.livesklad.com/company/orders

Возвращает массив заказов найденных по всем мастерским. Для получения списка заказов у API должен быть настроен доступ к заказам Для сортировки результата необходимо в параметре sort передать строку "<название_поля> ASC" или "<название_поля> DESC". Где ASC - сортировать по возрастанию, DESC - сортировать по убыванию, <название_поля> - поле по которому осуществляется сортировка, может быть одно из: id, sn, typeOrder, manager, closeManager, master, brand, model, typeDevice, node, problem, completeSet, number, num, dateCreate, lastAction, dateClose, dateFinish, deadline, statusDeadline, counteragent, address, summ, cash, status, isUrgent. По умолчанию заказы сортируются от новых к старым Фильтры по датам передаются в виде массива из двух чисел в формате Unix (в миллисекундах), где первый число - это начало диапазона, а второе - конец диапазона. Если какая-то граница диапазона отсутствует, то вместо нее нужно передать null. Например [1690837200000,1693515599999] или [null,1693515599999]

Из списка с любым заданным набором фильтров можно получить максимум 10000 элементов, то есть максимальное значение для page * pageSize = 10000. Чтобы получить другие элементы, нужно либо изменить фильтр, либо изменить сортировку

Query Parameters

NameTypeDescription

isVisible

boolean

Фильтр по удаленным заказам. Если true - будут считаны только не удаленные заказы, если false - будут считаны только удаленные заказы, если параметр не отсутствует - будут считаны все заказы

sort

string

Сортировка

statusIds

array

Фильтр по статусам заказов, передается в виде массива id статусов

masterId

string

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

managerId

string

Фильтр по менеджеру которому назначен заказ

counteragentId

string

Фильтр по контрагенту

isUrgent

boolean

Фильтр: "Срочные заказы"

isDeadline

boolean

Фильтр: "Просроченные заказы"

isStatusDeadline

boolean

Фильтр: "Просроченные по норме времени статуса"

page

number

Номер страницы выборки (по умолчанию - 1)

pageSize

number

Количество элементов в выборке (по умолчанию - 10, максимум - 50)

filter

string

Текст для поиска по содержимому заказа

dateCreate

array

Фильтр по дате создания

dateFinish

array

Фильтр по дате готовности

dateClose

array

Фильтр по дате выдачи

deadline

array

Фильтр по дате крайнего срока

statusDeadline

array

Фильтр по дате крайнего срока статуса

lastAction

array

Фильтр по дате последнего изменения

num

number

Номер заказа (числовой номер, ищет по точному соответствию номера заказа без учета префикса)

number

string

Номер заказа (текстовый номер, ищет по частичному совпадению номера заказа с учетом префикса)

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

{
  data: [
    {
      isUrgent: false,
      color: "Белый",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "3000р",
      counteragent: {
        name: "Кузнецов Евгений Анатольевич",
        rating: -1,
        phones: [
          "+7 (933) 333-33-33"
        ],
        id: "63c015afcce57401c832fc9e"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000003",
      problem: [
        "Не заряжается"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Планшет",
      sn: "355636789089331",
      cash: {
        summ: 0
      },
      device: "Apple iPad 3",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca4",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    },
    {
      isUrgent: false,
      color: "Синий",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "4000 р",
      counteragent: {
        name: "Смирнов Иван Андреевич",
        rating: 0,
        phones: [
          "+7 (944) 444-44-44"
        ],
        id: "63c015afcce57401c832fc9f"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000004",
      problem: [
        "Замена корпуса"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Телефон",
      sn: "354578765434567",
      cash: {
        summ: 0
      },
      device: "Alcatel 5080x",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca5",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    }
  ],
  total: 10,
  page: 1,
  pageSize: 10,
  sort: {
    field: "dateCreate",
    dir: "DESC"
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Создание заказа

POST https://api.livesklad.com/shops/{id}/orders

Создает заказ в мастерской. Для создания заказа у API должен быть настроен доступ к заказам и и доступ к соответствующей мастерской, так же должен быть установлен доступ на создание заказов

Path Parameters

NameTypeDescription

id*

string

id мастерской

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

Request Body

NameTypeDescription

counteragentId

string

id контрагента

name

string

Имя контрагента

address

string

Адрес контрагента

phones

array

Телефоны контрагента, передаются в виде массива строк

email

string

email контрагента

isBuyer

boolean

Контрагент является покупателем (по умолчанию - false)

isVendor

boolean

Контрагент является поставщиком (по умолчанию - false)

counteragentNode

string

Примечание контрагента

isSendSms

boolean

Контрагенту можно отправлять смс-сообщения (по умолчанию - false)

rating

number

Рейтинг контрагента (обычный: 0, негативный клиент: -1, позитивный: 1)

typeOrderId*

string

id типа заказа

isUrgent

boolean

Срочный заказ (по умолчанию - false)

masterId

string

id мастера которому необходимо назначить заказ

managerId

string

id менеджера которому необходимо назначить заказ

deadline

number

Крайний срок заказа (передается в формате Unix, в миллисекундах)

typeDevice

string

Тип устройства

brand

string

Марка

model

string

Модель

sn

string

Серийный номер

problem

array

Список неисправностей, передается в виде массива строк

completeSet

array

Комплектация, передается в виде массива строк

cashRegisterId

string

id кассы в которую будет принята предоплата

money

number

Сумма предоплаты наличными

bank

number

Сума предоплаты безналичными

approximatePrice

string

Предварительная стоимость

orderNode

string

Примечание к заказу

appearance

array

Внешний вид, передается в виде массива строк

color

string

Цвет

customFields

array

Массив пользовательских полей

howKnowId

string

id источника рекламы

{
  data: {
    dateCreate: "2022-12-13T13:49:50.907Z",
    lastAction: "2022-12-13T13:49:50.907Z",
    number: "A000011",
    num: 11,
    isVisible: true,
    isUrgent: false,
    id: "63c1617e360b094eed16ab6a",
    shop: {
      id: "63c015adcce57401c832faee",
      name: "Мастерская",
      color: "#ff6666",
      phones: [],
      address: null,
      isVisible: true
    },
    status: {
      name: "Новый",
      color: "#3E8EF7",
      type: "new",
      id: "63c015adcce57401c832fbf1",
      comment: "none",
      isPayRequired: false
    },
    createManager: {
      id: "63c0164bcce57401c832fd36",
      name: "API"
    },
    typeOrder: {
      id: "63c015adcce57401c832fbf4",
      name: "Платный"
    },
    counteragent: {
      name: "Клиент",
      phones: [],
      isBuyer: true,
      isVendor: false,
      isVisible: true,
      isSendSms: false,
      isSendEmail: false,
      isSendTelegram: false,
      rating: 0,
      id: "63c1617e360b094eed16ab69",
      typeCounteragent: {
        name: "Частное лицо",
        id: "63c015adcce57401c832fbf5"
      }
    },
    howKnow: {
      name: "Повторное обращение",
      id: "63c015adcce57401c832fabb"
    },
    positions: []
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Контрагент при создании заказ может быть указан двумя способами: 1) counteragentId - id уже существующего контрагента 2) name, typeCounteragentId, phones, isBuyer, isVendor, email, address, isSendSms, rating, counteragentNode, howKnowId - данные контрагента которого необходимо создать при создании заказа. В случае если не указан typeCounteragentId, используется значение указанное в системе по умолчанию. Один из параметров counteragentId или name - обязателен.

В customFields передаются пользовательские поля по заказу и контрагенту (в том случае если контрагент создается при создании заказа). Поле передается в формате:

[
  {
    id: "5e0cea8e7ae81e080c8be6d8",
    value: true
  },
  {
    id: "5e0ceaf77ae81e080c8be700",
    value: "Приоритетный клиент"
  }
]

В случае если по заказу нужно внести предоплату, необходимо указать параметры cashRegisterId и какой-то из параметров money или bank (в случае смешанной оплаты можно указать сразу оба параметра)

По умолчанию для создания заказа обязательным является только поле typeOrderId и одно из полей counteragentId или name. Но в случае если для указанного типа заказа (определяется по typeOrderId) изменена форма заказа, то обязательными могут быть так же и другие поля

Для создания контрагента при создании заказа, по умолчанию обязательным является только поле name. Но в случае если для типа контрагента указанного в системе по умолчанию, изменена форма контрагента, то обязательными могут быть так же и другие поля.

Если указать поле howKnowId, то для заказа будет прописан источник рекламы. Если при создании заказа создается новый контрагент, а не используется уже существующий, то для созданного контрагента будет прописан тот же источник рекламы.

Список типов заказов

GET https://api.livesklad.com/type-orders

Возвращает массив типов заказов

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

{
  data: [
    {
      id: "5d0cb1188ede076111d797fe"
      name: "Платный"
    },
    {
      id: "5d0cb1188ede076111d79837",
      name: "Гарантийный"
    }
  ],
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Список пользовательских полей для типа заказа

GET https://api.livesklad.com/type-orders/{id}/fields

Возвращает массив пользовательских полей для типа заказов

Path Parameters

NameTypeDescription

id*

string

id типа заказов

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

{
  data: [
    {
      description: "Мое поле",
      type: "order",
      dataType: "string",
      items: null,
      defaultValue: null,
      id: "5d21b65ed25624421c1b310a"
    }
  ],
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Информация о заказе

GET https://api.livesklad.com/orders/{id}

Возвращает информацию о заказе. Для получения информации о заказе у API должен быть настроен доступ к заказам, так же в настройках статусов у API должен быть настроен доступ на просмотр заказов в нужных статусах

Path Parameters

NameTypeDescription

id*

string

id заказа

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

{
  data: {
    dateCreate: "2022-12-12T14:14:07.820Z",
    number: "A000009",
    num: 9,
    isVisible: true,
    isUrgent: false,
    typeDevice: "Телефон",
    typeDeviceId: "63c015afcce57401c832fc79",
    brand: "Samsung",
    model: "I9300",
    sn: "354578765434567",
    problem: [
      Не работает кнопка громкости"
    ],
    completeSet: [],
    approximatePrice: "500 р",
    appearance: [
      царапины",
      потертости"
    ],
    customFields: [
      {
        id: "5e9958929dd07567102a19b4",
        value: "2024-05-01T10:36:00.869Z"
      },
      {
        id: "652550d56ee1234d73c61be0",
        value: false
      }
    ],
    color: "Синий",
    lastAction: "2022-12-12T14:14:08.577Z",
    dateFinish: "2022-12-12T14:14:08.551Z",
    id: "63c015afcce57401c832fcaa",
    shop: {
      name: "Мастерская",
      color: "#ff6666",
      phones: [],
      isVisible: true,
      id: "63c015adcce57401c832faee"
    },
    typeOrder: {
      name: "Платный",
      id: "63c015adcce57401c832fbf4"
    },
    cash: {
      order: 500,
      orderReturn: 0,
      invoice: 0,
      elements: [
        {
          id: "65f56f78069ccb6dc9a0a3ee",
          date": "2022-12-12T14:14:07.820Z",
          money": 500,
          type": "order",
          isBankTransfer": false
        }
      ]
    },
    status: {
      name: "Готов",
      color: "#00B86A",
      type: "finish",
      isPayRequired: false,
      comment: "none",
      id: "63c015adcce57401c832fbf3",
      isChange: true,
      isChecked: true
    },
    counteragent: {
      name: "Смирнов Иван Андреевич",
      phones: [
        +7 (944) 444-44-44"
      ],
      isBuyer: true,
      isVendor: false,
      isVisible: true,
      isSendSms: true,
      isSendEmail: false, 
      isSendTelegram: false,
      rating: 0,
      id: "63c015afcce57401c832fc9f",
      typeCounteragent: {
        name: "Частное лицо",
        id: "63c015adcce57401c832fbf5"
      }
    },
    manager: {
      id: "63c015adcce57401c832fab4",
      name: "Фамилия Имя"
    },
    createManager: {
      id: "63c015adcce57401c832fab4",
      name: "Фамилия Имя"
    },
    positions: [
      {
        measure: {
          id: "63c015adcce57401c832fab5",
          value: "шт.",
          isFloat: false
        },
        positionId: "63c015b0cce57401c832fd1c",
        modifyId: "63c015b0cce57401c832fcf3",
        nomenclatureId: "63c015b0cce57401c832fcf2",
        code: 12,
        name: "Диагностика",
        isWork: true,
        price: 500,
        soldPrice: 500,
        date: "2022-12-12T14:14:08.484Z",
        minPrice: 500,
        count: 1,
        purchasePriceSumm: 0,
        customer: {
          id: "63c015adcce57401c832fab4",
          name: "Фамилия Имя"
        }
      }
    ]
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Изменить заказ

PATCH https://api.livesklad.com/orders/{id}

Для изменения заказа в настройках API должен быть установлен доступ к заказам. Так же в настройках статусов у API должен быть настроен доступ на редактирование заказов в нужных статусах

Path Parameters

NameTypeDescription

id*

string

id заказ

Headers

NameTypeDescription

Authorization*

string

Токен авторизации

Request Body

NameTypeDescription

howKnowId

string

id источника рекламы (изменяет источник рекламы заказа)

statusId

string

id статуса

typeOrderId

string

id типа заказа

isUrgent

boolean

Срочный заказ

managerId

string

id менеджера которому необходимо назначить заказ

masterId

string

id мастера которому необходимо назначить заказ

deadline

number

Крайний срок

typeDevice

string

Тип устройства

brand

string

Марка

model

string

Модель

sn

string

Серийный номер

problem

array

Список неисправностей, передается в виде массива строк

completeSet

array

Комплектация, передается в виде массива строк

approximatePrice

string

Предварительная стоимость

orderNode

string

Примечание к заказу

appearance

array

Внешний вид, передается в виде массива строк

cashRegisterId

string

id кассы в которую будет принята оплата

money

number

Сумма наличными

bank

number

Сумма безналичными

nodePay

string

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

color

string

Цвет

recommendation

string

Вердикт / рекомендации

comment

string

Комментарий

customFields

array

Массив пользовательских полей

counteragentId

string

id контрагента

{
  data: {
    success: true
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

В customFields передаются пользовательские поля по заказу и контрагенту (в том случае если контрагент создается при создании заказа). Поле передается в формате:

[
  {
    id: "5e0cea8e7ae81e080c8be6d8",
    value: true
  },
  {
    id: "5e0ceaf77ae81e080c8be700",
    value: "Приоритетный клиент"
  }
]

Произвести оплату по заказу (параметры cashRegisterId, money, bank, nodePay) возможно только в том случае если у заказа меняется статус (указан параметр statusId) и у данного статуса в настройках задан параметр "Затребовать оплату при перехода заказа в этот статус".

Удалить заказ

DELETE https://api.livesklad.com/orders/{id}

Для удаления заказа в настройках API должен стоять соответствующий доступ

Path Parameters

NameTypeDescription

id

string

id заказа

Headers

NameTypeDescription

Authorization

string

Токен авторизации

{
  data: {
    count: 1
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}

Last updated