Request


  • tenant - (mandatory) - to which tenant/system to connect (ordering tenant name)
  • name - (mandatory) - имя товара или услуги
  • code - (optional) - товарный код
  • category - (optional) - категория товара. Словарь.
  • type - (mandatory) - тип позиции, например "Услуга" или "Товар".
  • external_code - (optional) - внешний идентификатор позиции (в 1с например)
  • description - (optional) - текстосове описание
  • default_parameters
    • unit - (optional; default шт)
    • default_quantity - (optional; default 1) - значение количества по умолчанию, будет подтянуто в заказ.
    • price - (optional; default 0) - цена. в следующих версиях будет заменена на коллекцию ссылок на цены с разными лейблами.
  • is_actual - (optional; default true) - пометка действующей\не актуальной позиции. Не актуальные не будут отбираться в запросах Get.


Уникальность записей пока не предусмотрена, будет добавлена уникальность по именам и кодам позиций. При выборе позиции в заказе все атрибуты из каталога будут подтянуты в заказ.


Examples

Request

{
    "tenant": "orderingTenant508",
    "name": "position #751",
    "code": "751",
    "category": "Goods",
    "type": "Goods",
    "external_code": "751",
    "description": "position description",
    "is_actual": true,
    "default_parameters": {
        "unit": "шт",
        "default_quantity": 3,
        "price": 23.1
    }
}
CODE


Response

{
   "processing_result":    {
      "text": "Position is added to catalog.",
      "status": "ok",
      "ctx_id": "7d6L8Pbm:0-Jq",
      "code": 0
   },
   "processing_date": "2020-07-03 08:59:02",
   "AddCatalogPosition":    {
      "response":       {
         "tenant": "orderingTenant508",
         "position":          {
            "type": "Goods",
            "position_id": 4,
            "name": "position #145",
            "is_actual": true,
            "external_code": "146",
            "description": "position description",
            "default_parameters":             {
               "unit": "шт",
               "price": 23.1,
               "default_quantity": 9
            },
            "code": "146",
            "category": "Goods"
         },
         "TZ": "Europe/Minsk"
      },
      "request":       {
         "type": "Goods",
         "tenant": "orderingTenant508",
         "name": "position #145",
         "is_actual": true,
         "external_code": "146",
         "description": "position description",
         "default_parameters":          {
            "unit": "шт",
            "price": 23.1,
            "default_quantity": 9
         },
         "code": "146",
         "category": "Goods"
      },
      "extra_logic": "",
      "enriched_request":       {
         "type": "Goods",
         "tenant": "orderingTenant508",
         "name": "position #145",
         "is_actual": true,
         "external_code": "146",
         "description": "position description",
         "default_parameters":          {
            "unit": "шт",
            "price": 23.1,
            "default_quantity": 9
         },
         "code": "146",
         "category": "Goods"
      }
   }
}
CODE


Response with error

{
 "processing_result": {
    "type": "validation failed",
    "text": "Input object field [default_parameters.default_quantity] contains value of type [string] while expected valid type is [number].",
    "status": "error",
    "ctx_id": "QRNdB7TQ:0-J7",
    "code": "VAL-006"
 },
 "processing_date": "2020-07-03 08:54:02",
 "AddCatalogPosition": {
      "response": false,
      "request": {
          "type": "Goods",
          "tenant": "orderingTenant508",
          "name": "position #796",
          "is_actual": true,
          "external_code": "799",
          "description": "position description",
          "default_parameters": {
                 "unit": "шт",
                 "price": 23.1,
                 "default_quantity": ""
          },
          "code": "798",
          "category": "Goods"
       },
       "enriched_request": {}
 }
}
CODE