Заказы

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

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]

Path Parameters

Query Parameters

Headers

{
  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]

Query Parameters

Headers

{
  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

Headers

Request Body

{
  data: {
    dateCreate: "2022-12-13T13:49:50.907Z",
    lastAction: "2022-12-13T13:49:50.907Z",
    number: "A000011",
    num: 11,
    isVisible: true,
    isUrgent: false,
    howKnowId: "63c015adcce57401c832fabb",
    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 - данные контрагента которого необходимо создать при создании заказа. В случае если не указан typeCounteragentId, используется значение указанное в системе по умолчанию. Один из параметров counteragentId или name - обязателен.

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

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

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

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

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

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

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

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

Headers

{
  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

Headers

{
  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

Headers

{
  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: [
      царапины",
      потертости"
    ],
    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

Headers

Request Body

{
  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

Headers

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

Last updated