{
  "openapi": "3.1.0",
  "info": {
    "title": "Трекинг поведения Retail Rocket и прочие методы взаимодействия с платформой",
    "description": "Пользовательское поведение и данные о нем необходимы для работы многих продуктов Retail Rocket: товарных рекомендаций, автоматизированных коммуникационных кампаний, для отслеживания метрик эффективности коммуникаций и т.д.\n\nДля передачи пользовательского поведения в систему Retail Rocket необходимо вызывать соответствующие действию методы трекинг API для всех значимых действий пользователя (просмотр товара, добавление в корзину и т.д.). Ниже описаны методы для каждого такого действия с их параметрами, возможными кодами ответов и примерами вызова.\n\nПеред интеграцией, пожалуйста, ознакомьтесь с данными разделами:\n- [Общие принципы интеграции](https://docs.retailrocket.ru/docs/api/general-concepts) \n- [Управление сессией](https://docs.retailrocket.ru/docs/api/session-management) \n- [OpenAPI спецификации](https://docs.retailrocket.ru/docs/articles/openapi-specifications)"
  },
  "servers": [
    {
      "url": "https://apptracking.retailrocket.ru/2.0"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Пользовательское поведение",
      "tags": [
        "Products",
        "Categories",
        "Search"
      ]
    },
    {
      "name": "Пользователи и рассылки",
      "tags": [
        "Users",
        "Emails"
      ]
    },
    {
      "name": "Дополнительные методы",
      "tags": [
        "Another"
      ]
    }
  ],
  "tags": [
    {
      "name": "Products",
      "x-displayName": "Товары",
      "description": "Методы, необходимые для отслеживания пользовательского поведения при взаимодействии с товарами."
    },
    {
      "name": "Categories",
      "x-displayName": "Категории",
      "description": "Методы, необходимые для отслеживания пользовательского поведения при взаимодействии с категориями."
    },
    {
      "name": "Search",
      "x-displayName": "Поиск",
      "description": "Методы для отслеживания пользовательского поведения, связанного с поиском."
    },
    {
      "name": "Users",
      "x-displayName": "Пользователи",
      "description": "Создание карточек покупателей, а также передача данных незарегистрированных пользователей."
    },
    {
      "name": "Emails",
      "x-displayName": "Email-рассылки",
      "description": "Запуск триггерных сценариев, отправка транзакционных писем, а также атрибуционные события, связанные с письмами."
    },
    {
      "name": "Another",
      "x-displayName": "Прочее",
      "description": "Прочие методы Retail Rocket API."
    }
  ],
  "components": {
    "securitySchemes": {},
    "parameters": {
      "ApikeyLower": {
        "name": "apikey",
        "in": "query",
        "description": "Ключ авторизации",
        "required": true,
        "schema": {
          "type": "string",
          "default": "59908d02c7d013ce40de715a"
        }
      },
      "PartnerIdInPath": {
        "name": "partnerId",
        "in": "path",
        "description": "Идентификатор интернет-магазина",
        "schema": {
          "type": "string",
          "default": "59908d02c7d013ce40de715a"
        },
        "required": true
      },
      "ApiKey": {
        "name": "apiKey",
        "in": "query",
        "description": "Ключ авторизации",
        "required": true,
        "schema": {
          "type": "string",
          "default": "5b333f5697a528b0184b6017"
        }
      },
      "PartnerId": {
        "name": "partnerId",
        "in": "query",
        "description": "Идентификатор интернет-магазина",
        "required": true,
        "schema": {
          "type": "string",
          "default": "59908d02c7d013ce40de715a"
        }
      },
      "ContentType": {
        "name": "content-type",
        "in": "header",
        "schema": {
          "type": "string",
          "default": "application/json"
        }
      },
      "link": {
        "type": "object",
        "description": "Указатель на посетителя - пара, состоящая из произвольных строки-ключа и строки-значения (например, ключ — \"сессия пользователя\", значение — \"идентификатор сессии\")",
        "default": {
          "name": "session",
          "value": "1b111eb597a528b654db611e"
        }
      },
      "productId": {
        "type": [
          "integer",
          "string"
        ],
        "description": "Идентификатор товара",
        "default": 432
      },
      "timestamp": {
        "type": "string",
        "description": "Метка времени вызова",
        "default": "2025-01-15T15:53:00+00:00"
      },
      "stockId": {
        "type": "string",
        "description": "Идентификатор склада, к которому принадлежит товар",
        "default": "Москва"
      },
      "ApiKeyInBody": {
        "type": "string",
        "description": "Ключ авторизации",
        "default": "5b333f5697a528b0184b6017"
      }
    }
  },
  "security": [
    {}
  ],
  "paths": {
    "/view": {
      "post": {
        "summary": "Просмотр карточки товара",
        "description": "Должен быть вызван при каждом просмотре посетителем карточки товара.",
        "operationId": "product-view",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "productId",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "productId": {
                    "$ref": "#/components/parameters/productId"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  },
                  "stockId": {
                    "$ref": "#/components/parameters/stockId"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Products"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/groupView": {
      "post": {
        "summary": "Просмотр карточки группового товара",
        "description": "Должен быть вызван при каждом просмотре посетителем карточки товара, на которой представлен групповой товар.",
        "operationId": "group-product-view",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "productIds",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "productIds": {
                    "type": "array",
                    "description": "Список идентификаторов товара (массив числовых / строковых ID)",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    }
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  },
                  "stockId": {
                    "$ref": "#/components/parameters/stockId",
                    "description": "Идентификатор склада, к которому принадлежит товар, необязательный параметр"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [],
        "tags": [
          "Products"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/addToBasket": {
      "post": {
        "summary": "Добавление товара в корзину",
        "description": "Должен быть вызван при каждом добавлении посетителем товара в корзину.",
        "operationId": "add-to-basket",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "productId",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "productId": {
                    "$ref": "#/components/parameters/productId"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  },
                  "stockId": {
                    "$ref": "#/components/parameters/stockId"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Products"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/order": {
      "post": {
        "summary": "Заказ товара",
        "description": "В метод передается каждая товарная позиция, необходимо вызывать при совершении заказа.",
        "operationId": "transaction-tracker",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "orderItems",
                  "transaction",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "orderItems": {
                    "type": "array",
                    "description": "Массив позиций в заказе",
                    "items": {
                      "properties": {
                        "productId": {
                          "type": [
                            "integer",
                            "string"
                          ],
                          "description": "Идентификатор продукта (число / строка)",
                          "default": 345
                        },
                        "quantity": {
                          "type": "number",
                          "description": "Количество единиц товара в заказе",
                          "default": 3,
                          "format": "float"
                        },
                        "price": {
                          "type": "number",
                          "description": "Цена за единицу товара",
                          "default": 499,
                          "format": "float"
                        }
                      },
                      "required": [
                        "productId",
                        "quantity",
                        "price"
                      ],
                      "type": "object"
                    }
                  },
                  "transaction": {
                    "type": "string",
                    "description": "Идентификатор покупки",
                    "default": "ORDER_63234"
                  },
                  "timestamp": {
                    "type": "string",
                    "description": "Метка времени вызова",
                    "default": "2025-01-15T15:53:00+00:00"
                  },
                  "stockId": {
                    "type": "string",
                    "description": "Идентификатор склада, к которому принадлежит товар"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Products"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.1"
          }
        ]
      }
    },
    "/offlineOrders/": {
      "post": {
        "summary": "Оффлайн-заказы",
        "description": "Данный метод нужно вызывать для того, чтобы передать в систему Retail Rocket информацию о заказе или заказах, совершенным в оффлайн точке.",
        "operationId": "offline-order-method",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "link",
                    "transaction",
                    "orderedAt"
                  ],
                  "properties": {
                    "link": {
                      "$ref": "#/components/parameters/link"
                    },
                    "offlineOrderItems": {
                      "type": "array",
                      "description": "Массив позиций в заказе",
                      "items": {
                        "type": "object",
                        "required": [
                          "productId",
                          "quantity",
                          "price"
                        ],
                        "properties": {
                          "productId": {
                            "type": [
                              "integer",
                              "string"
                            ],
                            "description": "Идентификатор продукта (число / строка)",
                            "default": 345,
                            "format": "json"
                          },
                          "quantity": {
                            "type": "number",
                            "description": "Количество единиц товара в заказе",
                            "default": 3,
                            "format": "float"
                          },
                          "price": {
                            "type": "number",
                            "description": "Цена за единицу товара",
                            "default": 499,
                            "format": "float"
                          }
                        }
                      }
                    },
                    "transaction": {
                      "type": "string",
                      "description": "Идентификатор покупки",
                      "default": "ORDER_4942"
                    },
                    "orderedAt": {
                      "type": "string",
                      "description": "Метка времени заказа",
                      "default": "2022-09-15T15:53:00+00:00",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Products"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.1"
          }
        ]
      }
    },
    "/categoryView": {
      "post": {
        "summary": "Просмотр категории при интеграции через XML-файл",
        "description": "Должен быть вызван при просмотре посетителем страницы товарной категории.\n\nВ YML файле доступно дерево товарных категорий с целочисленными идентификаторами категории, поэтому и товары имеют такое же определение принадлежности к категориям, что позволяет использовать такие идентификаторы в трекинге пользовательского поведения.",
        "operationId": "category-view-yml",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "categoryId",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "categoryId": {
                    "type": "integer",
                    "description": "Идентификатор категории товара",
                    "default": 723,
                    "format": "int32"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Categories"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/categoryViewByCategoryPath": {
      "post": {
        "summary": "Просмотр категории при интеграции через Product API",
        "description": "Должен быть вызван при просмотре посетителем страницы товарной категории.\n\nПри использовании product API товарная категория передается как **categoryPath** также она должна быть передана и при просмотре страницы категории.",
        "operationId": "category-view-product-api",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "categoryPath",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "categoryPath": {
                    "type": "string",
                    "description": "Путь категории товара",
                    "default": "Товары для дома/Кухня/Вилки"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Categories"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/search": {
      "post": {
        "summary": "Поисковый запрос",
        "description": "Должен быть вызван при вводе посетителем поисковой фразы.",
        "operationId": "search-tracker",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "searchPhrase",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "searchPhrase": {
                    "type": "string",
                    "description": "Поисковая фраза, которую ввел пользователь",
                    "default": "подгузник для новорожденных"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Search"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/visitorEvents": {
      "post": {
        "summary": "Пакетная загрузка пользовательского поведения",
        "description": "API предоставляет возможность пакетной загрузки пользовательского поведения. В теле вызова метода передается список пользовательских событий. Вызов гарантирует сохранение порядка переданных в него событий.\n\nМетод API visitorEvents решает проблему сохранения порядка пользовательских событий. К примеру, при потере соединения с сетью интернет, когда нельзя передать события в режиме реального времени, но действия совершаются в приложении. Как только у приложения появится доступ к сети интернет, важно передать эти события в правильной последовательности. Если отправлять такие события отдельными вызовами view, addToBasket и других методов, есть риск потери порядка, так как вызовы могут быть обработаны разными серверами. Для сохранения порядка действий используйте метод visitorEvents, принимающий набор событий и гарантирующий, что события будут сохранены в том порядке, в котором они переданы.\n\n❗️Особенности использования:\n\n 1. Для отправки двух пакетов событий, содержащих разное поведение одного пользователя, нужно отправить первый пакет, дождаться успешного статуса ответа и только после этого отправить второй;\n\n2. Нельзя параллельно выполнять более одного вызова, в котором есть события по одному пользователю, это может нарушить порядок;\n\n3. Из-за необходимости вернуть подтверждение сохранения событий и их порядка время ответа visitorEvents, как правило, на порядки больше времени ответа обычных (не пакетных) вызовов трекинга и может составлять около 1.5 секунд и более. В связи с этим не следует использовать данный вызов для передачи realtime-событий;\n\n4. В одном вызове можно передать события для разных пользователей;\n\n5. Можно параллельно вызывать visitorEvents с пакетами для разных пользователей, так как порядок важен только в рамках одного пользователя.",
        "operationId": "visitor-events",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "description": "Список событий пользователей для последовательной пакетной загрузки",
                "items": {
                  "oneOf": [
                    {
                      "title": "view",
                      "type": "object",
                      "required": [
                        "view"
                      ],
                      "properties": {
                        "view": {
                          "type": "object",
                          "required": [
                            "link",
                            "productId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "productId": {
                              "$ref": "#/components/parameters/productId"
                            },
                            "stockId": {
                              "$ref": "#/components/parameters/stockId"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "groupView",
                      "type": "object",
                      "required": [
                        "groupView"
                      ],
                      "properties": {
                        "groupView": {
                          "type": "object",
                          "required": [
                            "link",
                            "groupId",
                            "productIds",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "groupId": {
                              "type": [
                                "integer",
                                "string"
                              ],
                              "description": "Идентификатор группы товаров"
                            },
                            "productIds": {
                              "type": "array",
                              "description": "Список идентификаторов товаров в группе",
                              "items": {
                                "type": [
                                  "integer",
                                  "string"
                                ]
                              }
                            },
                            "stockId": {
                              "$ref": "#/components/parameters/stockId"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "addToBasket",
                      "type": "object",
                      "required": [
                        "addToBasket"
                      ],
                      "properties": {
                        "addToBasket": {
                          "type": "object",
                          "required": [
                            "link",
                            "productId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "productId": {
                              "$ref": "#/components/parameters/productId"
                            },
                            "stockId": {
                              "$ref": "#/components/parameters/stockId"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "order",
                      "type": "object",
                      "required": [
                        "order"
                      ],
                      "properties": {
                        "order": {
                          "type": "object",
                          "required": [
                            "link",
                            "productId",
                            "quantity",
                            "price",
                            "transaction",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "productId": {
                              "$ref": "#/components/parameters/productId"
                            },
                            "stockId": {
                              "$ref": "#/components/parameters/stockId"
                            },
                            "quantity": {
                              "type": "number",
                              "description": "Количество единиц товара в заказе",
                              "default": 3
                            },
                            "price": {
                              "type": "number",
                              "description": "Цена за единицу товара",
                              "default": 1321.43
                            },
                            "transaction": {
                              "type": "string",
                              "description": "Идентификатор покупки",
                              "default": "ORDER_63234"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "categoryView",
                      "type": "object",
                      "required": [
                        "categoryView"
                      ],
                      "properties": {
                        "categoryView": {
                          "type": "object",
                          "required": [
                            "link",
                            "categoryId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "categoryId": {
                              "type": [
                                "integer",
                                "string"
                              ],
                              "description": "Идентификатор категории товара"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "search",
                      "type": "object",
                      "required": [
                        "search"
                      ],
                      "properties": {
                        "search": {
                          "type": "object",
                          "required": [
                            "link",
                            "searchPhrase",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "searchPhrase": {
                              "type": "string",
                              "description": "Текст поискового запроса"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "recomBlockViewed",
                      "type": "object",
                      "required": [
                        "recomBlockViewed"
                      ],
                      "properties": {
                        "recomBlockViewed": {
                          "type": "object",
                          "required": [
                            "link",
                            "recomBlockId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "recomBlockId": {
                              "type": "string",
                              "description": "Идентификатор блока рекомендаций, например ios/productPage/alternatives",
                              "default": "ios/productPage/alternatives"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "recomTap",
                      "type": "object",
                      "required": [
                        "recomTap"
                      ],
                      "properties": {
                        "recomTap": {
                          "type": "object",
                          "required": [
                            "link",
                            "recomBlockId",
                            "productId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "recomBlockId": {
                              "type": "string",
                              "description": "Идентификатор блока рекомендаций, например ios/productPage/alternatives",
                              "default": "ios/productPage/alternatives"
                            },
                            "productId": {
                              "$ref": "#/components/parameters/productId"
                            },
                            "stockId": {
                              "$ref": "#/components/parameters/stockId"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "recomAddToBasket",
                      "type": "object",
                      "required": [
                        "recomAddToBasket"
                      ],
                      "properties": {
                        "recomAddToBasket": {
                          "type": "object",
                          "required": [
                            "link",
                            "recomBlockId",
                            "productId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "recomBlockId": {
                              "type": "string",
                              "description": "Идентификатор блока рекомендаций, например ios/productPage/alternatives",
                              "default": "ios/productPage/alternatives"
                            },
                            "productId": {
                              "$ref": "#/components/parameters/productId"
                            },
                            "stockId": {
                              "$ref": "#/components/parameters/stockId"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "impressionContentViewed",
                      "type": "object",
                      "required": [
                        "impressionContentViewed"
                      ],
                      "properties": {
                        "impressionContentViewed": {
                          "type": "object",
                          "required": [
                            "link",
                            "impressionContentId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "impressionContentId": {
                              "type": "string",
                              "description": "Идентификатор контента витрины"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "impressionContentClicked",
                      "type": "object",
                      "required": [
                        "impressionContentClicked"
                      ],
                      "properties": {
                        "impressionContentClicked": {
                          "type": "object",
                          "required": [
                            "link",
                            "impressionContentId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "impressionContentId": {
                              "type": "string",
                              "description": "Идентификатор контента витрины"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "emailClick",
                      "type": "object",
                      "required": [
                        "emailClick"
                      ],
                      "properties": {
                        "emailClick": {
                          "type": "object",
                          "required": [
                            "link",
                            "mailTrackingId",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "mailTrackingId": {
                              "type": "string",
                              "description": "Метка пользователя из письма"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "title": "welcomeSequence",
                      "type": "object",
                      "required": [
                        "welcomeSequence"
                      ],
                      "properties": {
                        "welcomeSequence": {
                          "type": "object",
                          "required": [
                            "link",
                            "email",
                            "timestamp"
                          ],
                          "properties": {
                            "link": {
                              "$ref": "#/components/parameters/link"
                            },
                            "email": {
                              "type": "string",
                              "description": "Адрес почты пользователя"
                            },
                            "timestamp": {
                              "$ref": "#/components/parameters/timestamp"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              },
              "example": [
                {
                  "view": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "productId": 123456,
                    "stockId": "NewYork",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "groupView": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "groupId": 654321,
                    "productIds": [
                      123456,
                      234567,
                      345678
                    ],
                    "stockId": "NewYork",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "addToBasket": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "productId": 234567,
                    "stockId": "NewYork",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "order": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "productId": 234567,
                    "stockId": "NewYork",
                    "quantity": 3,
                    "price": 1321.43,
                    "transaction": "135243",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "categoryView": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "categoryId": 123456,
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "search": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "searchPhrase": "подгузник для новорожденных",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "recomBlockViewed": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "recomBlockId": "34453dffg34534te565",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "recomTap": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "recomBlockId": "34453dffg34534te55",
                    "productId": 123,
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "recomAddToBasket": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "recomBlockId": "34453dffg34534te54",
                    "productId": 123,
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "impressionContentViewed": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "impressionContentId": "568da4f6-7952-49b1-afd3-9ac44d6e78c7",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "impressionContentClicked": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "impressionContentId": "568da4f6-7952-49b1-afd3-9ac44d6e78c7",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "emailClick": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "mailTrackingId": "5b488f277ecc191c98859541",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                },
                {
                  "welcomeSequence": {
                    "link": {
                      "name": "bonusCard",
                      "value": "53423544ST"
                    },
                    "email": "example@gmail.com",
                    "timestamp": "2018-09-15T15:53:00+00:00"
                  }
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "code": "curl \\\n  -X POST \"https://apptracking.retailrocket.ru/2.0/visitorEvents?apiKey=608423a104249fa8e9952323&partnerId=608423a9b126ac6ab3f8f0a5\" \\\n  -H \"Content-type: application/json\" \\\n  --data-raw '[\n    {\n      \"view\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"productId\": 123456,\n        \"stockId\": \"NewYork\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"groupView\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"groupId\": 654321,\n        \"productIds\": [123456, 234567, 345678],\n        \"stockId\": \"NewYork\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"addToBasket\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"productId\": 234567,\n        \"stockId\": \"NewYork\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"order\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"productId\": 234567,\n        \"stockId\": \"NewYork\",\n        \"quantity\": 3,\n        \"price\": 1321.43,\n        \"transaction\": \"135243\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"categoryView\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"categoryId\": 123456,\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"search\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"searchPhrase\": \"подгузник для новорожденных\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"recomBlockViewed\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"recomBlockId\": \"ios/productPage/alternatives\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"recomTap\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"recomBlockId\": \"ios/productPage/alternatives\",\n        \"productId\": 123,\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"recomAddToBasket\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"recomBlockId\": \"ios/productPage/alternatives\",\n        \"productId\": 123,\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"impressionContentViewed\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"impressionContentId\": \"568da4f6-7952-49b1-afd3-9ac44d6e78c7\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"impressionContentClicked\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"impressionContentId\": \"568da4f6-7952-49b1-afd3-9ac44d6e78c7\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"emailClick\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"mailTrackingId\": \"5b488f277ecc191c98859541\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    },\n    {\n      \"welcomeSequence\": {\n        \"link\": { \"name\": \"bonusCard\", \"value\": \"53423544ST\" },\n        \"email\": \"example@gmail.com\",\n        \"timestamp\": \"2018-09-15T15:53:00+00:00\"\n      }\n    }\n  ]'",
              "name": "CURL"
            }
          ],
          "samples-languages": [
            "curl"
          ]
        },
        "tags": [
          "Another"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/emailClick": {
      "post": {
        "summary": "Клик по содержимому письма",
        "description": "Событие клика по содержимому письма. Должно вызываться, если пользователь переходит из письма.",
        "operationId": "клик-по-содержимому-письма",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "timestamp",
                  "mailTrackingId"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  },
                  "mailTrackingId": {
                    "type": "string",
                    "description": "Метка пользователя из письма",
                    "default": "5b488f277ecc191c98859541"
                  },
                  "customData": {
                    "type": "string",
                    "description": "Пользовательские параметры",
                    "format": "json"
                  },
                  "linkId": {
                    "type": "string",
                    "description": "Метка из письма",
                    "default": "18fa0701-5f12-4bd7-ad08-59bc5ef9171c"
                  },
                  "linkPos": {
                    "type": "integer",
                    "description": "Метка из письма",
                    "default": 5435,
                    "format": "int32"
                  },
                  "isAgreedToReceiveMarketingMail": {
                    "type": "boolean",
                    "description": "Согласие на подписку, значение по умолчанию **true**",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Emails"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/welcomeSequence": {
      "post": {
        "summary": "Запуск сценария \"Welcome Sequence\"",
        "description": "Запускает цепочку email-сценария WelcomeSequence. Передайте email пользователя в теле запроса.",
        "operationId": "welcome-sequence",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "link": {
                  "name": "session",
                  "value": "1b111eb597a528b654db611e"
                },
                "timestamp": "2022-09-15T15:53:00+00:00",
                "email": "example@mail.ru"
              },
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "timestamp",
                  "email"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp",
                    "default": "2022-09-15T15:53:00+00:00"
                  },
                  "email": {
                    "type": "string",
                    "description": "Адрес почты пользователя",
                    "default": "example@mail.ru"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Emails"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/2.1/welcomeSequence": {
      "post": {
        "summary": "Запуск сценария \"Welcome Sequence\" без использования email",
        "description": "Запускает цепочку сценария WelcomeSequence. По заданному в запросе `link` система ищет связанный email адрес, если ранее пользователь оставлял email с этим параметром. Email в теле запроса не передается.",
        "operationId": "welcome-sequence-v2-1",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "link": {
                  "name": "session",
                  "value": "1b111eb597a528b654db611e"
                },
                "timestamp": "2022-09-15T15:53:00+00:00"
              },
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp",
                    "default": "2022-09-15T15:53:00+00:00"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Emails"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru"
          }
        ]
      }
    },
    "/nonDirectClick": {
      "post": {
        "summary": "Переход на сайт партнера из внешнего источника",
        "description": "Событие внешнего перехода на сайт партнера",
        "operationId": "non-direct-click",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "timestamp",
                  "pageUrl",
                  "referrer",
                  "origin"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  },
                  "pageUrl": {
                    "type": "string",
                    "description": "Страница сайта, на которую был совершен переход",
                    "default": "https://www.example.ru"
                  },
                  "referrer": {
                    "type": "string",
                    "description": "URL источника запроса",
                    "default": "https://www.example.ru"
                  },
                  "origin": {
                    "type": "string",
                    "description": "Источник перехода на сайт/приложение",
                    "default": "Android"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "400",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Emails"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/backInStock": {
      "post": {
        "summary": "Подписка на появление товара в наличии",
        "description": "Событие для запуска триггерного письма, уведомляющего о возвращении товара в наличие",
        "operationId": "back-in-stock",
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "timestamp",
                  "productId"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp"
                  },
                  "productId": {
                    "$ref": "#/components/parameters/productId",
                    "type": "string",
                    "default": "65",
                    "format": "json"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Emails"
        ],
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/setProfile/": {
      "post": {
        "summary": "Передача данных незарегистрированных пользователей",
        "description": "Данный метод нужно вызывать для того, чтобы передать в систему Retail Rocket информацию о посетителе, например адрес электронной почты, у которого ещё неизвестен уникальный идентификатор в системе интернет-магазина.\n\nМожно использовать на формах подписок, например в футере страницы, или на поп-ап окнах.\n\nКак только клиент пройдет авторизацию на сайте, и будет известен его уникальный идентификатор, нужно выполнить метод **[setCustomer](https://docs.retailrocket.ru/api/tracking#tag/users/post/setcustomer)** с указанным линком - посетитель будет прикреплен к основному профилю.\n\n> Примечание: Данный метод не подходит для отписки ранее подписанных пользователей.",
        "operationId": "set-profile-api",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PartnerId"
          },
          {
            "$ref": "#/components/parameters/ApiKey"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "link",
                  "timestamp"
                ],
                "properties": {
                  "link": {
                    "$ref": "#/components/parameters/link",
                    "default": {
                      "name": "uid",
                      "value": "1b111eb597a528b654db611e"
                    }
                  },
                  "email": {
                    "type": "string",
                    "description": "Адрес электронной почты пользователя",
                    "default": "example@gmail.com"
                  },
                  "phone": {
                    "type": "string",
                    "description": "Номер телефона пользователя в формате E.164",
                    "default": "+79999999999"
                  },
                  "defaultStockId": {
                    "type": "string",
                    "description": "Идентификатор региона, до 50 символов",
                    "default": "moscow"
                  },
                  "isAgreedToReceiveMarketingMail": {
                    "type": "boolean",
                    "description": "Согласие на подписку, значение по умолчанию **true**",
                    "default": true
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp",
                    "description": "Метка времени вызова в формате **ISO8601**"
                  },
                  "softLinks": {
                    "type": "string",
                    "description": "Прочие указателя на посетителя - пара, состоящая из произвольных строки-ключа и строки-значения.",
                    "default": {
                      "card": "123234134"
                    },
                    "format": "json"
                  },
                  "customData": {
                    "type": "string",
                    "description": "Пользовательские параметры",
                    "default": {
                      "name": "Иван"
                    },
                    "format": "json"
                  },
                  "mobilePushSubscription": {
                    "type": "object",
                    "description": "Объект подписки на мобильные push-уведомления, внутри должен передаваться один объект, соответствующий типу подписки (APNS/FCM/Huawei)",
                    "properties": {
                      "fcmSubscription": {
                        "type": "object",
                        "required": [
                          "creationTimestamp",
                          "applicationId",
                          "fcmProjectId",
                          "token"
                        ],
                        "properties": {
                          "creationTimestamp": {
                            "type": "string",
                            "default": "2025-01-15T15:53:00+00:00"
                          },
                          "applicationId": {
                            "type": "string",
                            "default": "01QPREZ68Y1HGSV4FG24A4490E"
                          },
                          "fcmProjectId": {
                            "type": "string",
                            "default": "project-4442"
                          },
                          "token": {
                            "type": "string",
                            "default": "cVz1aQ8kRb2:APA91bF7xK2pQ9nM3wL5sT8vH4jD6yG0eR1uI7oP"
                          }
                        }
                      },
                      "apnsSubscription": {
                        "type": "object",
                        "required": [
                          "isDevEnvironment",
                          "creationTimestamp",
                          "applicationId",
                          "token"
                        ],
                        "properties": {
                          "isDevEnvironment": {
                            "type": "string",
                            "description": "Булево значение, true/false",
                            "format": "json",
                            "default": false
                          },
                          "creationTimestamp": {
                            "type": "string",
                            "default": "2025-01-15T15:53:00+00:00"
                          },
                          "applicationId": {
                            "type": "string",
                            "default": "01QPREZ68Y1HGSV4FG24A4490E"
                          },
                          "token": {
                            "type": "string",
                            "default": "8f3e2a1b9c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f"
                          }
                        }
                      },
                      "huaweiSubscription": {
                        "type": "object",
                        "required": [
                          "creationTimestamp",
                          "applicationId",
                          "token"
                        ],
                        "properties": {
                          "creationTimestamp": {
                            "type": "string",
                            "default": "2025-01-15T15:53:00+00:00"
                          },
                          "applicationId": {
                            "type": "string",
                            "default": "01QPREZ68Y1HGSV4FG24A4490E"
                          },
                          "token": {
                            "type": "string",
                            "default": "AKACS4lTCH2x9q7vN1pR8mWb3Yd6Zk0Lf5Jh7Gp4Tn1Vs"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false,
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/setCustomer": {
      "post": {
        "summary": "Создание карточки покупателя",
        "description": "### CustomerId\n\nCustomerId - уникальный идентификатор клиента, который не меняется. Как правило, за выдачу данного идентификатора отвечает мастер-система, сайт интернет-магазина или CRM, появляется, например при регистрации на сайте. \nНа данный идентификатор привязываются различные каналы коммуникации (email, смс, WebPush и др.), собираются поведенческие данные и интересы, статистика заказов и коммуникаций. С ним могут быть ассоциированы различные данные клиента, такие как день рождения, ФИО и др.\n\n* CustomerId всегда указывает на один профиль. Его нельзя передать другому клиенту.\n* В качестве CustomerId желательно использовать суррогатный ключ (сгенерированный системой), а не данные, которые могут быть переданы другому клиенту (номер телефона, номер карты лояльности).\n* Необходимо позаботиться об уникальности значений, чтобы избежать склеивания данных разных людей в один профиль.\n* С помощью CustomerId можно объединить переданные в Retail Rocket данные по различным Link.\n\n>\n>\n> 1. Не нужно передавать в CustomerId адрес email, телефон и прочие данные, которые могут измениться с течением времени у клиента. В противном случае это может привести к дубликатам и неоднозначностям.\n> 2. CustomerId в связке с указателями (Link) может существенно повлиять на БД клиентов интернет-магазина, если в интеграции интернет-магазина произойдет сбой и, например, для всех пользователей будет передан одинаковый customerId. Нужно исключать кэширование подобных запросов.",
        "operationId": "set-customer-api",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiKey"
          },
          {
            "$ref": "#/components/parameters/PartnerId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "link",
                  "timestamp"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "description": "Уникальный идентификатор клиента",
                    "default": "2392e4881c65e6c5e423"
                  },
                  "link": {
                    "$ref": "#/components/parameters/link"
                  },
                  "email": {
                    "type": "string",
                    "description": "Адрес электронной почты пользователя",
                    "default": "example@example.org"
                  },
                  "phone": {
                    "type": "string",
                    "description": "Номер телефона пользователя в формате E.164",
                    "default": "+79999999999"
                  },
                  "defaultStockId": {
                    "type": "string",
                    "description": "Идентификатор региона, до 50 символов",
                    "default": "Москва"
                  },
                  "softLinks": {
                    "type": "string",
                    "description": "Прочие указателя на посетителя - пара, состоящая из произвольных строки-ключа и строки-значения.",
                    "default": {
                      "card": "123234134"
                    },
                    "format": "json"
                  },
                  "customData": {
                    "type": "string",
                    "description": "Пользовательские параметры",
                    "default": {
                      "name": "Иван"
                    },
                    "format": "json"
                  },
                  "isAgreedToReceiveMarketingMail": {
                    "type": "boolean",
                    "description": "согласие на подписку, булево значение, опциональный параметр; значение по умолчанию true",
                    "default": true
                  },
                  "timestamp": {
                    "$ref": "#/components/parameters/timestamp",
                    "description": "Метка времени вызова в формате ISO8601"
                  },
                  "mobilePushSubscription": {
                    "type": "object",
                    "description": "Объект подписки на мобильные push-уведомления, внутри должен передаваться один объект, соответствующий типу подписки (APNS/FCM/Huawei)",
                    "properties": {
                      "fcmSubscription": {
                        "type": "object",
                        "required": [
                          "creationTimestamp",
                          "applicationId",
                          "fcmProjectId",
                          "token"
                        ],
                        "properties": {
                          "creationTimestamp": {
                            "type": "string",
                            "default": "2025-01-15T15:53:00+00:00"
                          },
                          "applicationId": {
                            "type": "string",
                            "default": "01QPREZ68Y1HGSV4FG24A4490E"
                          },
                          "fcmProjectId": {
                            "type": "string",
                            "default": "project-4442"
                          },
                          "token": {
                            "type": "string",
                            "default": "cVz1aQ8kRb2:APA91bF7xK2pQ9nM3wL5sT8vH4jD6yG0eR1uI7oP"
                          }
                        }
                      },
                      "apnsSubscription": {
                        "type": "object",
                        "required": [
                          "isDevEnvironment",
                          "creationTimestamp",
                          "applicationId",
                          "token"
                        ],
                        "properties": {
                          "isDevEnvironment": {
                            "type": "string",
                            "description": "Булево значение, true/false",
                            "format": "json",
                            "default": false
                          },
                          "creationTimestamp": {
                            "type": "string",
                            "default": "2025-01-15T15:53:00+00:00"
                          },
                          "applicationId": {
                            "type": "string",
                            "default": "01QPREZ68Y1HGSV4FG24A4490E"
                          },
                          "token": {
                            "type": "string",
                            "default": "8f3e2a1b9c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f"
                          }
                        }
                      },
                      "huaweiSubscription": {
                        "type": "object",
                        "required": [
                          "creationTimestamp",
                          "applicationId",
                          "token"
                        ],
                        "properties": {
                          "creationTimestamp": {
                            "type": "string",
                            "default": "2025-01-15T15:53:00+00:00"
                          },
                          "applicationId": {
                            "type": "string",
                            "default": "01QPREZ68Y1HGSV4FG24A4490E"
                          },
                          "token": {
                            "type": "string",
                            "default": "AKACS4lTCH2x9q7vN1pR8mWb3Yd6Zk0Lf5Jh7Gp4Tn1Vs"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "servers": [
          {
            "url": "https://apptracking.retailrocket.ru/2.0"
          }
        ]
      }
    },
    "/{partnerId}/subscribers": {
      "post": {
        "summary": "Загрузка подписчиков",
        "description": "## Описание CSV-файла с подписчиками\n\nДля загрузки подписчиков по API нужно сформировать CSV-файл с определенным форматом.\n\n### Пример таблицы\n\n| Email                                             | IsSubscribed | Property1      | ... | PropertyN |\n| :------------------------------------------------ | :----------- | :------------- | :-- | :-------- |\n| [example@example.com](mailto:example@example.com) | true         | Moscow         | ... | Female    |\n| [examle2@example.com](mailto:examle2@example.com) | false        | St. Petersburg | ... | Male      |\n\n### Описание столбцов\n\n* **Email**: Адрес почты пользователя;\n* **IsSubscribed**: Статус подписки\n  * **true** - можно отправлять письма пользователю;\n  * **false** - нельзя отправлять письма пользователю;\n* **Последующие столбцы** - Дополнительные параметры для пользователя, где название столбца - название параметра, а значение поля - значение параметра;\n\n### Требования к файлу\n\n* Файл должен быть в кодировке UTF-8;\n* Рекомендуемый размер файла до 100 000 строк;\n* Максимальный размер файла не должен превышать 4МБ;\n* Каждую новую порцию подписчиков стоит передавать только после получение статуса 200 OK предыдущей загрузки;\n* Параллельная загрузка нескольких файлов не рекомендуется;",
        "operationId": "subscribers-upload-method",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PartnerIdInPath"
          },
          {
            "$ref": "#/components/parameters/ApikeyLower"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "RAW_BODY": {
                    "type": "string",
                    "description": "Файл с email адресами",
                    "default": "subscribers.csv",
                    "format": "binary"
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "RAW_BODY": {
                    "type": "string",
                    "description": "Файл с email адресами",
                    "default": "subscribers.csv",
                    "format": "binary"
                  }
                }
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "RAW_BODY": {
                    "type": "string",
                    "description": "Файл с email адресами",
                    "default": "subscribers.csv",
                    "format": "binary"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": ""
                  }
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "code": "curl --request \\\n POST 'https://api.retailrocket.ru/api/2.0/partner/<partner_id>/subscribers?apikey=' \\\n--data \\\n-raw 'Email,IsSubscribed,BonusBalance\n\"teest129 @xeiex.com\",true,128.25'",
              "name": "Пример загрузки одного подписчика"
            }
          ],
          "samples-languages": [
            "curl"
          ]
        },
        "servers": [
          {
            "url": "https://api.retailrocket.ru/api/2.0/partner/"
          }
        ]
      }
    },
    "/{partnerId}/transaction": {
      "post": {
        "summary": "Загрузка истории оффлайн-заказов",
        "description": "Метод позволяет принимать историю продаж оффлайн магазинов, что позволяет выполнить следующие сценарии:\n\n* Отправки offline пост-транзакционных писем, если подключен соответствующий сценарий;\n* Отправки offline **Next Best Offer** писем, если подключен соответствующий сценарий;\n* Отправки offline **Repurchase** писем, если подключен соответствующий сценарий;\n\n## Описание CSV-файла с оффлайн заказами\n\nДля загрузки по API заказов, сделанных оффлайн, нужно сформировать CSV-файл с определенным форматом.\n\n### Пример таблицы\n\nФайл не должен содержать названий столбцов.\n\n| DATE(формат ISO_8601) | TRANSACTION_ID | ItemId  | Price  | Email                                               | Quantity |\n| :-------------------- | :------------- | :------ | :----- | :-------------------------------------------------- | :------- |\n| 2022-06-14            | \"order_5425\"   | \"23451\" | \"1499\" | \"[example_1@domain.ru](mailto:example_1@domain.ru)\" | 3        |\n| 2022-06-13            | \"order_53264\"  | \"65423\" | \"999\"  | \"[example_2@domain.ru](mailto:example_2@domain.ru)\" | 1        |\n\n### Описание столбцов\n\n* **DATE**:  Дата, в которую был создан заказ, в формате **ISO-8601**;\n  * Если указать дату в формате \"2022-12-04\", то заказ будет записан на 00:00:00 (учитывая часовой пояс, который указан в личном кабинете Retail Rocket);\n  * Если указать дату в формате \"2022-12-04 15:00:00\", то заказ будет записан на 15:00:00;\n  * Если указать дату в формате \"2017-12-04 15:00:00 +06\", то заказ будет записан на 15:00:00 в часовом поясе +06;\n* **TRANSACTION_ID**: ID транзакции (заказа), строка;\n* **ItemId**: ID товара, который был в заказе, должен соответствовать ID товара, переданному в товарной базе;\n* **Price**: Цена за единицу товара;\n* **Email**: Адрес электронной почты покупателя;\n* **Quantity**: Количество единиц товара в заказе;\n\n### Требования к файлу\n\n* Файл должен быть в кодировке UTF-8;\n* Файл должен весить не более 4 мб;\n* Разделителем файла нужно установить запятую;\n\n> * При передаче нового пользователя через **offline** заказы, он становится подписанным на письма;",
        "operationId": "offline-orders-upload",
        "tags": [
          "Another"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PartnerIdInPath"
          },
          {
            "$ref": "#/components/parameters/ApikeyLower"
          },
          {
            "name": "stock",
            "in": "query",
            "description": "Идентификатор склада",
            "required": false,
            "schema": {
              "type": "string",
              "default": "77"
            }
          }
        ],
        "requestBody": {
          "content": {
            "text/csv": {
              "schema": {
                "type": "string",
                "format": "binary",
                "description": "CSV файл с историей заказов"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Успешная загрузка данных",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Ошибка валидации запроса",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "code": "curl --data-binary \"@transactions.csv\" \"https://api.retailrocket.ru/api/2.0/partner/59908d02c7d013ce40de715a/transaction?stock=77&apikey=5b333f5697a528b0184b6017\"",
              "name": "CURL пример"
            }
          ],
          "samples-languages": [
            "curl"
          ]
        },
        "servers": [
          {
            "url": "https://api.retailrocket.ru/api/2.0/partner/"
          }
        ]
      }
    },
    "/{partnerId}/emailSubscribers/resubscribe": {
      "post": {
        "summary": "Переподписка пользователей",
        "tags": [
          "Users"
        ],
        "description": "Метод инициирует процесс переподписки отписанного пользователя, отправляя ему сервисное письмо с уникальным токеном для подтверждения подписки по ссылке",
        "operationId": "api-resubscription",
        "parameters": [
          {
            "$ref": "#/components/parameters/PartnerIdInPath"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "apiKey",
                  "emailAddress"
                ],
                "properties": {
                  "apiKey": {
                    "$ref": "#/components/parameters/ApiKeyInBody"
                  },
                  "emailAddress": {
                    "type": "string",
                    "description": "Email адрес пользователя для переподписки",
                    "default": "test@test.tt"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "servers": [
          {
            "url": "https://emailresubscription.retailrocket.net/emailresubscription/v1/"
          }
        ]
      }
    },
    "/{partnerId}/unsubscribe": {
      "get": {
        "summary": "Отписка пользователей",
        "description": "Метод отписывает пользователя от триггерных и массовых рассылок.",
        "operationId": "unsubscribe-method",
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PartnerIdInPath"
          },
          {
            "$ref": "#/components/parameters/ApikeyLower"
          },
          {
            "name": "email",
            "in": "query",
            "description": "Адрес электронной почты пользователя для отписки",
            "required": true,
            "schema": {
              "type": "string",
              "default": "example@example.ru"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "servers": [
          {
            "url": "https://api.retailrocket.ru/api/1.0/partner/"
          }
        ]
      }
    },
    "/{partnerId}/transactionalemail/{campaignId}": {
      "post": {
        "summary": "Отправка транзакционного письма",
        "description": "Метод совершает отправку транзакционного письма по конкретно заданной кампании, определенной через параметр **campaignId**. \n\n**Транзакционные письма** – это автоматизированные email-уведомления, отправляемые пользователям в ответ на их действия на сайте или в мобильном приложении. В отличие от маркетинговых рассылок, они содержат важную информацию, связанную с заказами, регистрацией, восстановлением пароля и другими событиями.",
        "operationId": "send-transactional-email",
        "tags": [
          "Emails"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PartnerIdInPath"
          },
          {
            "name": "campaignId",
            "in": "path",
            "description": "ID кампании",
            "required": true,
            "schema": {
              "type": "string",
              "default": "62ece301e66c3bdb412ddcc0"
            }
          },
          {
            "$ref": "#/components/parameters/ApikeyLower"
          },
          {
            "name": "email",
            "in": "query",
            "description": "Адрес почты пользователя",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Message": {
                    "type": "string",
                    "description": "Тело запроса",
                    "default": "{   'name': \"Aleksei\",   \"lastName\": \"Miliutin\",   \"birthday\": \"17.05.2001\" }",
                    "format": "json"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": [],
        "servers": [
          {
            "url": "https://api.retailrocket.ru/api/1.0/partner/"
          }
        ]
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
