# Начало работы с WAIX

Уникальная система управления заказами, операторами и полным контролем для выкупа товаров с китайских площадок не имеющая аналогов в мире!

## Возможности CMS системы

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

### Начните пока с изучения что такое расширение WAIX Extension

{% content-ref url="/pages/-LwxTOVlMSaI-PpYXOs-" %}
[О расширении](/extension/about)
{% endcontent-ref %}

{% content-ref url="/pages/-LwxQIo54c-BI-GIOdWq" %}
[Активация расширения](/extension/activate)
{% endcontent-ref %}

## Документация API

В настоящее время не все имеющие возможности API описаны в данной документации.

{% hint style="warning" %}
Получение JSON данных осуществляется путем отправки GET и POST запросов на сервера

api.waix.ru  - IP адрес сервера выдается автоматически на основе DNS

api1.waix.ru - IP сервера DC Hetzner (Германия) используйте его всегда если ваш ресурс не в РФ

api2.waix.ru - IP сервера (Чита) используйте его если ваш ресурс на Дальнем Востоке и Китае

api3.waix.ru - IP сервера (Спб) используйте его если ваш ресурс в западном регионе России ближе к Санкт-Петербургу

api4.waix.ru - IP прокси (Мск) используйте его если ваш ресурс в западном регионе России ближе к Москве
{% endhint %}

Вы можете приступить с изучения ключа доступа:

{% hint style="info" %}
Все запросы в API осуществляются с указанием [ключа-доступа](/access) (ключ-код или токен), и [в некоторых случаях](/site/annotations) достаточно указания project
{% endhint %}


# Ключ доступа

Данный ключ имеет два типа и необходим для авторизации в API. Существует клиентский ключ (key) и серверный ключ (token).

**token** — может применяться для запросов с сервера и недопустим публичной огласке (только внутренние запросы с сервера-на-сервер). Токен передается вместе с любым запросом, так система идентифицирует по ключу какому ресурсу он принадлежит, в целом механизм запросов схож с использованием авторизации по *key* однако при каждом запросе необходимо сообщать API дополнительно о поле **uid** — user id (идентификатор пользователя).

**key** — применяется для запросов от клиента к серверу и в случае кражи/утечки/взлома может быть использован третьими лицами, *и небезопасен*. Рекомендуется использовать только в защищенных приложениях с дополнительной авторизацией по паролю (Двухфакторная аутентификация).

{% content-ref url="/pages/-Lx6sBmCNZhFMdyuE4WL" %}
[Получение ключ-кода](/access/key)
{% endcontent-ref %}

В системе управления правами доступа ключей вашего ресурса можно наделять возможностями любого из ключа. Вы можете получить несколько **token** ключей и задать им разные привилегии уровней доступа. Удобно, если вы используете несколько ресурсов для работы с системой. Например один ключ для чтения заказов и предоставления краткой информации не подлежащей изменению, а другой ключ напротив с полными правами доступа.

{% tabs %}
{% tab title="Ключ-код" %}
Это строка длинной 10-20 символов и обычно выглядит примерно так **hidEjj13sOd**

Получить данный код можно у посредника, в личном кабинете. Список поддерживаемых посредников у которых можно приобрести ключ-доступа находится [на главной странице](https://waix.ru/#first-run)

Существует два вида ключ кодов:

1. **Редактируемый**. Ключ по желанию пользователь может сбросить (обновить) в личном кабинете ресурса где зарегистрирован. Ключ привязан к аккаунту пользователя ресурса как и не редактируемый ключ, однако подлежит изменению в случае утечки. По-умолчанию наделен полными привилегиями доступа, может быть использован для любых методов в API.
2. **Не редактируемый**. Такой ключ жестко привязан к аккаунту пользователя ресурса и по-умолчанию наделен методами в API для чтения и нескольких для изменений. Используется в расширении для добавления товаров в корзину, перемещений товаров между заказами, удалению товаров из корзины и заказов, оформлению заказов, доступ к сообщениям. Не рекомендуется для использования, является *устаревшей и не безопасной* моделью авторизации. При утечке не может быть сброшен, заблокирован или отключен. Используйте вместо него редактируемый ключ.

{% content-ref url="/pages/-Lx6sBmCNZhFMdyuE4WL" %}
[Получение ключ-кода](/access/key)
{% endcontent-ref %}
{% endtab %}

{% tab title="Ключ-токен" %}
Строка с фиксированной длинной 20 символов, выглядит так: **vgYdnpo1nbAd3uUszQa**

Ключ-токен может быть получен в системе управления, в [разделе настроек](https://waix.ru/config/token).
{% endtab %}
{% endtabs %}


# Получение ключ-кода

Данный ключ можно использовать для веб-авторизации

Данный метод можно использовать для веб-авторизации в браузере, расширении или приложении. Не подходит для *серверной авторизации* из-за особенности получения кода.

{% hint style="warning" %}
Данный код высылается пользователю на указанную почту и известен в данной операции только ему. Код можно использовать для авторизации в [расширении для браузеров WAIX Extension](https://chrome.google.com/webstore/detail/waix-extension/hmhgcjchegcabaaoicegphljdpbifbcm) либо мобильном приложении WAIX под Android.
{% endhint %}

## Как происходит отправка кода на электронную почту

Сценарий получения кода у зарегистрированных и ранее не зарегистрированных пользователей аналогичен за исключением одного передаваемого параметра. Почитав документацию для получения ключа с уже имеющим на площадке аккаунтом можно по кнопке ниже

{% content-ref url="/pages/-Lwwx2M8cJnx5jiLENj\_" %}
[Для зарегистрированных пользователей](/access/key/user)
{% endcontent-ref %}

Если пользователь ранее не зарегистрирован на площадке, то отправка кода на его электронную почту аналогична как и для уже зарегистрированных пользователей, получить всю детальную информацию можно по кнопке ниже

{% content-ref url="/pages/-Lx6p5z2Wo6qRrwWsejR" %}
[Не зарегистрированным ранее пользователям](/access/key/reg)
{% endcontent-ref %}

## Получение кода без отправки на электронную почту

Данный способ подразумевает отправку логина (электронной почты) **при регистрации пользователя**. В отличии от предыдущих выше описанных вариантов этот способ отличается тем, что на электронную почту код не будет отправлен, вместо этого он будет отправлен в ответе на запрос при успешной регистрации.

Пароль в момент регистрации будет отправлен пользователю на электронную почту.

{% content-ref url="/pages/-Lx7EU80rNLn6lDaU9uH" %}
[Без отправки ссылки для регистрации](/access/key/get)
{% endcontent-ref %}


# Для зарегистрированных пользователей

Способ получения ключ-кода на электронную почту для ранее зарегистрированных пользователей.

## Шаг 1. Проверка наличия регистрации

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/run/auth`

Выполните запрос для получения списка ресурсов (проектов) на которых присутствует регистрация данной электронной почты.

#### Request Body

| Name  | Type   | Description                                      |
| ----- | ------ | ------------------------------------------------ |
| email | string | Логин пользователя для получения списка ресурсов |

{% tabs %}
{% tab title="200 Если указанный email адрес присутствует на одном из сайтов посредников, ответ будет следующим:" %}

```yaml
{
   "status":"OK",
   "result":[
      {
         "id":"13",
         "domain":"asia-tao.com",
         "logo":"https:\/\/asia-tao.com\/themes\/default\/pic\/logo.png",
         "title":"Посредник ТаоБао Азия Шоп. Лучший официальный посредник таобао в России, TaoBao, 1688, Tmall. Доставка товаров из Китая",
         "course":9.4,
         "commission":3,
         "delivery":1,
         "reward":1,
         "stars":4.8883,
         "user":{
            "id":"43",
            "name":"Анютка",
            "avatar":"CiJZyEV2RrNWXf.jpg",
            "hash":"5210eb003f9ba17e60f9253650ebb2d1"
         }
      },
      {
         "id":"9",
         "domain":"quick-china.ru",
         "logo":"https:\/\/quick-china.ru\/themes\/default\/pic\/logo.png",
         "title":"Посредник китайских интернет-площадок QUICK-CHINA",
         "course":9.5,
         "commission":3,
         "delivery":1,
         "reward":1,
         "stars":5.0,
         "hash":"a5ff64c382c5a73f12fffda10a42e187"
      }
   ],
   "message":"Мы нашли эту почту на следующих сайтах посредников, пожалуйста, выберите учетную запись на сайте для привязки расширения к посреднику."
}
```

{% endtab %}
{% endtabs %}

Если в ответе json не присутствует свойство **user**, то указанная электронная почта не была зарегистрирована на сайте посредника.

## Шаг 2. Отправка ключа на почту пользователю

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/run/auth`

В ответе предыдущего запроса, внутри свойства **user** находится объект, ищем в нем свойство **hash** необходимое для подтверждения отправки ключ-кода на указанную электронную почту.

#### Request Body

| Name  | Type   | Description                                                                   |
| ----- | ------ | ----------------------------------------------------------------------------- |
| email | string | Все тот же логин пользователя                                                 |
| id    | number | Идентификатор пользователя id, берем из ответа json шаг 1 в result\[].user.id |
| hash  | string | Хеш подтверждения операции, берем из ответа json шаг 1 в result\[].user.hash  |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Свет в конце туннеля

После этих действий, на почту поступит сообщение с ключ-кодом для авторизации в приложениях или расширениях.

> На указанную почту **ваша@почта.ru** было выслано сообщение со ссылкой для привязки расширения к нему. Откройте письмо, перейдите по ссылке и начните делать покупки прямо сейчас!

{% content-ref url="/pages/-LwxQIo54c-BI-GIOdWq" %}
[Активация расширения](/extension/activate)
{% endcontent-ref %}


# Не зарегистрированным ранее пользователям

Способ получения ключ-кода при отсутствии аккаунта с предварительной регистрацией на площадке.

## Шаг 1. Получение данных для регистрации

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/run/auth`

Выполните запрос для получения **hash** списка площадок на которых присутствует или отсутствует регистрация данной электронной почты.

#### Request Body

| Name  | Type   | Description                                                  |
| ----- | ------ | ------------------------------------------------------------ |
| email | string | Логин пользователя для проверки и получения списка площадок. |

{% tabs %}
{% tab title="200 Если указанный email адрес присутствует на одном из сайтов посредников, ответ будет следующим:" %}

```yaml
{
   "status":"OK",
   "result":[
      {
         "id":"13",
         "domain":"asia-tao.com",
         "logo":"https:\/\/asia-tao.com\/themes\/default\/pic\/logo.png",
         "title":"Посредник ТаоБао Азия Шоп. Лучший официальный посредник таобао в России, TaoBao, 1688, Tmall. Доставка товаров из Китая",
         "course":9.4,
         "commission":3,
         "delivery":1,
         "reward":1,
         "stars":4.8883,
         "user":{
            "id":"43",
            "name":"Анютка",
            "avatar":"CiJZyEV2RrNWXf.jpg",
            "hash":"5210eb003f9ba17e60f9253650ebb2d1"
         }
      },
      {
         "id":"9",
         "domain":"quick-china.ru",
         "logo":"https:\/\/quick-china.ru\/themes\/default\/pic\/logo.png",
         "title":"Посредник китайских интернет-площадок QUICK-CHINA",
         "course":9.5,
         "commission":3,
         "delivery":1,
         "reward":1,
         "stars":5.0,
         "hash":"a5ff64c382c5a73f12fffda10a42e187"
      }
   ],
   "message":"Мы нашли эту почту на следующих сайтах посредников, пожалуйста, выберите учетную запись на сайте для привязки расширения к посреднику."
}
```

{% endtab %}
{% endtabs %}

Если в ответе json не присутствует свойство **user**, то указанная электронная почта не была зарегистрирована на сайте посредника.

## Шаг 2. Отправка ссылки для регистрации

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/run/auth`

Извлеките **hash** значение площадки в ответе из предыдущего запроса (не находящийся внутри свойства **user**) необходимое для подтверждения и отправки ссылки на почту для продолжения регистрации.

#### Request Body

| Name    | Type   | Description                                                             |
| ------- | ------ | ----------------------------------------------------------------------- |
| email   | string | Все тот же логин пользователя                                           |
| project | number | Идентификатор площадки id, берем из ответа json шаг 1 в result\[].id    |
| hash    | string | Хеш подтверждения операции, берем из ответа json шаг 1 в result\[].hash |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Продолжите регистрацию перейдя по ссылке

После этих действий, на почту поступит сообщение для продолжения регистрации. Перейдя по ссылке будет выполнена регистрация на площадке с переадресацией на страницу для автоматической авторизации расширения для браузеров WAIX Extension.

> На указанную почту **ваша@почта.ru** было выслано сообщение со ссылкой для регистрации. Откройте письмо, перейдите по ссылке и мы зарегистрируем Вас автоматически на сайте **площадка.ru** и привяжем данный аккаунт к расширению!

## Регистрация и получение кода без отправки ссылки на почту

Выше описанный способ подразумевает отправку сообщения на электронную почту со ссылкой для продолжения регистрации, что не совсем удобно для мобильных приложений где необходимо получить [ключ-код](/access) в момент регистрации без отправки сообщения на почту.

Такой способ получения ключ-код описан по кнопке ниже


# Без отправки ссылки для регистрации

Получение ключ-кода в момент регистрации без отправки сообщения с ссылкой на электронную почту для продолжения регистрации. По завершению регистрации пользователю поступят регистрационные данные.

## Шаг 1. Получение данных для регистрации

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/run/auth`

Выполните запрос для получения **hash** списка площадок на которых присутствует или отсутствует регистрация данной электронной почты.

#### Request Body

| Name  | Type   | Description                                                  |
| ----- | ------ | ------------------------------------------------------------ |
| email | string | Логин пользователя для проверки и получения списка площадок. |

{% tabs %}
{% tab title="200 Если указанный email адрес присутствует на одном из сайтов посредников, ответ будет следующим:" %}

```yaml
{
   "status":"OK",
   "result":[
      {
         "id":"13",
         "domain":"asia-tao.com",
         "logo":"https:\/\/asia-tao.com\/themes\/default\/pic\/logo.png",
         "title":"Посредник ТаоБао Азия Шоп. Лучший официальный посредник таобао в России, TaoBao, 1688, Tmall. Доставка товаров из Китая",
         "course":9.4,
         "commission":3,
         "delivery":1,
         "reward":1,
         "stars":4.8883,
         "user":{
            "id":"43",
            "name":"Анютка",
            "avatar":"CiJZyEV2RrNWXf.jpg",
            "hash":"5210eb003f9ba17e60f9253650ebb2d1"
         }
      },
      {
         "id":"9",
         "domain":"quick-china.ru",
         "logo":"https:\/\/quick-china.ru\/themes\/default\/pic\/logo.png",
         "title":"Посредник китайских интернет-площадок QUICK-CHINA",
         "course":9.5,
         "commission":3,
         "delivery":1,
         "reward":1,
         "stars":5.0,
         "hash":"a5ff64c382c5a73f12fffda10a42e187"
      }
   ],
   "message":"Мы нашли эту почту на следующих сайтах посредников, пожалуйста, выберите учетную запись на сайте для привязки расширения к посреднику."
}
```

{% endtab %}
{% endtabs %}

Если в ответе json не присутствует свойство **user**, то указанная электронная почта не была зарегистрирована на сайте посредника.

## Шаг 2. Регистрация и получение кода

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/run/register/{hash}/{id}?email={email}&getkey=1`

Извлеките из предыдущего запроса **hash** и **id** значения (не находящийся внутри свойства **user**) необходимые для подтверждения регистрации и получения ключ-кода.\
Замените их в ссылке **{hash}** , **{id}** , **{email}** на свои значения из ответа json.

#### Path Parameters

| Name     | Type   | Description                                                                                          |
| -------- | ------ | ---------------------------------------------------------------------------------------------------- |
| run      | string | Используемый модуль                                                                                  |
| register | string | Метод в модуле                                                                                       |
| {hash}   | string | <p>Вместо <em>{hash}</em> используйте хеш из ответа json:    <br>result\[].<strong>hash</strong></p> |
| {id}     | number | Вместо *{id}* используйте идентификатор площадки из ответа json:   result\[].**id**                  |

#### Query Parameters

| Name   | Type   | Description                                                                        |
| ------ | ------ | ---------------------------------------------------------------------------------- |
| email  | string | Все тот же логин пользователя                                                      |
| getkey | number | Любое значение для получения кода в ответе json, а не как ссылку для переадресации |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}


# Двухфакторная аутентификация

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

Применима для авторизаций с использованием стандартных методов логин/пароль с подтверждением по электронной почте или sms с телефона. Может быть использована для авторизаций по [ключ-коду](/access).

На практике это обычно выглядит так:&#x20;

1. Ввода логина (электронная почта) и пароля.
2. Ввод специального кода, приходящего по SMS или электронной почте.


# Работа с корзиной

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

## Получение позиций в корзине

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/cart/items?key=ключ-доступа`

Метод для получения JSON списка всех позиций в корзине.

#### Query Parameters

<table><thead><tr><th width="102.33331298828125">Name</th><th width="86.99993896484375" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>sort</td><td align="center">string</td><td><p>Способ сортировки.</p><p>Изначально <a data-footnote-ref href="#user-content-fn-1">sort=default</a>.</p><p>Укажите <code>sort=id</code> для сортировки по мере добавления (более ранние позиции вверху списка).</p></td></tr></tbody></table>

{% tabs %}
{% tab title="200 Ответ с содержанием списка товаров" %}
{% code overflow="wrap" fullWidth="false" expandable="true" %}

```json
{
   "status":"OK",
   "result":[
      {
         "date_create":1575429660,
         "id":52299,
         "image":[
            "http:\/\/d.vaix.ru\/76e7512af65d.jpg"
         ],
         "link":"https:\/\/item.taobao.com\/item.htm?id=578602347732",
         "note":"",
         "number":1,
         "param":[
            {
               "name":"尺码",
               "value":"帽子+围脖(收藏加购送手套)"
            },
            {
               "name":"颜色分类",
               "value":"925-咖啡色"
            }
         ],
         "platform":"taobao.com",
         "price":26.8,
         "price_delivery":0,
         "price_total":26.8,
         "seller":"劲卡龙男装旗舰店",
         "seller_crc":1958537025,
         "taobao_id":"578602347732",
         "title":"帽子男冬天加厚保暖针织毛线帽秋冬季韩版潮加绒防寒骑车男士棉帽"
      },
      {
         "date_create":1575683885,
         "id":53323,
         "image":[
            "http:\/\/d.vaix.ru\/582b4a2e8800.jpg"
         ],
         "link":"https:\/\/item.taobao.com\/item.htm?id=552966909042",
         "note":"",
         "number":1,
         "param":[
            {
               "name":"食品口味",
               "value":"蓝罐[含夏威夷果]"
            }
         ],
         "platform":"taobao.com",
         "price":489,
         "price_delivery":0,
         "price_total":489,
         "seller":"味轩阁",
         "seller_crc":1709928385,
         "taobao_id":"552966909042",
         "title":"柯可蓝美国进口SAVANNA蜂蜜混合坚果仁孕妇零食组合什锦干果罐装"
      }
   ],
   "total": 56
}
```

{% endcode %}
{% endtab %}

{% tab title="302 Ошибка в случае неверного указания ключа." %}

```json
{"status":"ERROR","result":false,"message":"Некорректный ключ."}
```

{% endtab %}
{% endtabs %}

## Полная очистка корзины

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/cart/clear?key=ключ-доступа`

~~**Очистка корзины происходит в 2 этапа во избежании случайных срабатываний.**~~\
~~**1 шаг.** Выполните данный *GET* запрос для получения **code** и **hash** для подтверждения очистки корзины.~~\
~~**2 шаг.** Выполните повторный *POST* запрос и передайте полученные ранее **code** и **hash**.~~

{% hint style="warning" %}
Очистка корзины теперь происходит одним запросом, на своей стороне, вам рекомендуется использовать предупреждения пользователя перед удалением, эту операцию нельзя будет откатить.

*Лучший вариант: используйте модальное окно с подтверждением действий на клиентской стороне.*
{% endhint %}

#### Query Parameters

| Name                                            | Type   | Description             |
| ----------------------------------------------- | ------ | ----------------------- |
| key или token<mark style="color:red;">\*</mark> | string | [Ключ-доступа](/access) |

{% tabs %}
{% tab title="200 result = количество удаленных позиций" %}

```json
{
    "status":"OK",
    "result":4
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Внимание! Данный метод полностью очищает все позиции в корзине без возможности их восстановить! Очистка будет произведена даже ранее **скрытых/удаленных/спрятанных** товаров.
{% endhint %}

## Обновление товара в корзине

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/cart/update?key=ключ-доступа&id=индентификатор-товара`

Метод для обновления позиции в корзине, возвращает JSON успеха всегда независимо от отправленных Form данных.

#### Query Parameters

<table><thead><tr><th width="90.33331298828125">Name</th><th width="90" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>id<mark style="color:red;">*</mark></td><td align="center">integer</td><td>Идентификатор позиции в корзине из <a href="/api/cart#poluchenie-tovarov-v-korzine">списка товаров</a></td></tr></tbody></table>

#### Request Body

<table><thead><tr><th width="98.3333740234375">Name</th><th width="95.66668701171875" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>active</td><td align="center">integer</td><td>0 — не показывать (удалить)<br>1 — отображать (восстановить)</td></tr><tr><td>number</td><td align="center">number</td><td>Количество товаров в позиции.</td></tr></tbody></table>

{% tabs %}
{% tab title="200 код ответа всегда "200: OK"" %}

```yaml
{"status":"OK","result":true}
```

{% endtab %}

{% tab title="204 Если запрос не POST либо данные не переданы, отображается сообщение" %}

```yaml

{"status":"ERROR","result":false,"message":"Пустой POST запрос либо содержит недостаточно полей."}
```

{% endtab %}

{% tab title="304 Если POST данные отправлены, но товар не обновлен по нескольким причинам, ответ будет ERROR без сообщений об ошибках." %}

```yaml

{"status":"ERROR","result":false}
```

{% endtab %}
{% endtabs %}

## Создать заказ на основе позиций корзины

<mark style="color:green;">`POST`</mark> `https://api.waix.ru/cart/order`

Создает заказ и переносит в него позиции из корзины. Если id позиций не были указаны, то будут перенесены все позиции из корзины в новый заказ.

*Можно отправить GET запрос если вам нет необходимости передавать `ids`*

#### Request Body

<table><thead><tr><th width="91.66668701171875">Name</th><th width="100.3333740234375" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td>ids</td><td align="center">array</td><td>Массив из <strong>id</strong> позиций, <em>например [5612,95214,132] если массив пустой или ids = null будут выбраны все позиции</em></td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK Ответ будет содержать id нового заказа" %}

{% endtab %}
{% endtabs %}

[^1]: По умолчанию сортировка позиций осуществляется по продавцу, затем по уникальному id товара таобао, затем по заголовку. Таким образом происходит *группировка* товаров и товары одного продавца размещаются рядом друг с другом. Однако, вы можете изменить первостепенный параметр сортировки.


# Заказы

Отображение списка заказов пользователя, последних сообщений и товаров в нём.

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

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/order`

{% hint style="info" %}
Для получения в ответе последнее сообщение из заказа, используйте дополнительный идентификатор в query запросе **messages**=*n,* где *n* — количество последних сообщений. Список сообщений возвращается не более 10 с сортировкой от новых к старым.
{% endhint %}

#### Query Parameters

| Name                                           | Type   | Description                                                                                                                       |
| ---------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------- |
| offset                                         | number | Отступ, используйте для постраничного отображения вместе с параметром count.                                                      |
| status                                         | number | Возвращает заказы определенного статуса.                                                                                          |
| messages                                       | number | Кол-во последних сообщений от 0 до 10                                                                                             |
| count                                          | number | Число выдаваемых записей от 1 до 100. *По-умолчанию 10.*                                                                          |
| key or token<mark style="color:red;">\*</mark> | string | [Ключ-код](/access#klyuch-kod) пользователя для запроса клиент-сервер или [токен](/access#klyuch-token) для запроса сервер-сервер |
| uid                                            | number | идентификатор пользователя если указан @token                                                                                     |

{% tabs %}
{% tab title="200 JSON ответ со списком заказов" %}
{% code expandable="true" %}

```json
{
	"status":"OK",
	"result":[
      {
         "items":[
            {
               "image":[
                  "http:\/\/d.zaix.ru\/b35dc05a663c.jpg"
               ],
               "id":59237,
               "platform":"taobao.com",
               "link":"https:\/\/item.taobao.com\/item.htm?id=560346115508"
            },
            {
               "image":[
                  "http:\/\/d.zaix.ru\/2c59a3e27978.jpg"
               ],
               "id":58478,
               "platform":"taobao.com",
               "link":"https:\/\/item.taobao.com\/item.htm?id=527710683306"
            }
         ],
         "messages":{
            "total":0,
            "new":0
         },
         "date_status":1601662792,
         "date_create":1575696237,
         "id":24162,
         "price":1466,
         "course":12,
         "status":1,
         "note":"",
         "archive":0,
         "status_text":"Не оплачен",
         "send":true
      },
	  {
         "items":[
            {
               "image":[
                  "http:\/\/d.zaix.ru\/b35dc05a663c.jpg"
               ],
               "id":59237,
               "platform":"taobao.com",
               "link":"https:\/\/item.taobao.com\/item.htm?id=560346115508"
            },
            {
               "image":[
                  "http:\/\/d.zaix.ru\/2c59a3e27978.jpg"
               ],
               "id":58478,
               "platform":"taobao.com",
               "link":"https:\/\/item.taobao.com\/item.htm?id=527710683306"
            }
         ],
         "messages":{
            "total":2,
            "new":1,
		"items":[
   			{
				id: 104,
				uid: 1,
				name: "Евгений",
				text: "Здравствуйте, цвет какой вам нужен позиции 2?",
				date: 1575699821
			}
		]
         },
         "date_status":1601662792,
         "date_create":1575696237,
         "id":24162,
         "price":1466,
         "course":12,
         "status":1,
         "note":"",
         "archive":0,
         "status_text":"На выкупе",
         "send":false
      }
	]
}
```

{% endcode %}
{% endtab %}

{% tab title="404 Could not find a cake matching this query." %}

```
{ если ключ или токен не верный }
```

{% endtab %}
{% endtabs %}

## Получение содержимого заказа

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/order/{id}`

Получение указанных данных заказа и его позиций\*

#### Query Parameters

| Name                                           | Type   | Description                                                                                                                                                                                                              |
| ---------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| id<mark style="color:red;">\*</mark>           | number | Номер заказа из [списка заказов](/api/order#spisok-zakazov)                                                                                                                                                              |
| key or token<mark style="color:red;">\*</mark> | String | [Ключ-код](/access) доступа                                                                                                                                                                                              |
| \*noitems                                      | number | <p><sub><em>не обязательный параметр</em></sub></p><p><br><sup>1 (или любое значение) — не отображать товары, отображать  только данные заказа, ускоряет выдачу результатов поскольку исключает рендер позиций</sup></p> |

{% tabs %}
{% tab title="200: OK " %}
{% code expandable="true" %}

```json
{
   "status":"OK",
   "result":{
      "data":{
         "address":"ул. Морозова 56",
         "phone":"+79551450000",
         "city":"Москва",
         "comission":3,
         "name":"Велов Георгий Антоненко",
         "delivery":"Авто-быстрое"
      },
      "items":[
         {
            "param":[
               {
                  "name":"尺码",
                  "value":"39"
               },
               {
                  "name":"颜色分类",
                  "value":"黑"
               }
            ],
            "image":[
               "//d.zaix.ru/58ff1a8774c5.jpg"
            ],
            "taobao_id":"548598984319",
            "seller_crc":1706326572,
            "date_create":1622724511,
            "id":264749,
            "price":300,
            "price_total":300,
            "number":1,
            "price_reward":1,
            "seller":"哥弟官方旗舰店",
            "title":"哥弟女鞋2021夏季新款高帮弹力袜子鞋女厚底一脚蹬休闲鞋AX12037",
            "link":"https://item.taobao.com/item.htm?id=548598984319",
            "note":"",
            "price_delivery":0,
            "platform":"taobao.com"
         },
         {
            "param":[
               {
                  "name":"鞋码",
                  "value":"45"
               },
               {
                  "name":"颜色分类",
                  "value":"AA2181-002"
               }
            ],
            "image":[
               "7ae65c9dfa480c794fcc945b.png"
            ],
            "taobao_id":"585070835466",
            "seller_crc":4017549552,
            "date_create":1622726092,
            "id":264761,
            "price":239,
            "price_total":239,
            "number":1,
            "price_reward":1,
            "seller":"热点运动专营店",
            "link":"https://detail.tmall.com/item.htm?id=584169405715&spm=a1z09.2.0.0.324b2e8dkaJN4K&_u=4201io13oda493",
            "title":"NIKE耐克男子网面运动休闲跑步鞋AA2181-002-001-007-008-300-010",
            "note":"",
            "price_delivery":0,
            "platform":"tmall.com"
         }
      ]
   }
}
```

{% endcode %}
{% endtab %}

{% tab title="304: ERROR" %}
Данное сообщение отобращается если искомый заказ не был найден:

```json
{
    "status": "ERROR",
    "message": "Order not found",
    "code": 304
}
```

{% endtab %}
{% endtabs %}


# Профиль и данные

Методы работы с личным кабинетом, сохранение данных, учёт баланса, смена пароля,

## Данные пользователя

<mark style="color:green;">`GET`</mark> `api.waix.ru/user`

Метод возвращает данные текущего пользователя, авторизованного методом открытой аутентификации с переданным токен-ключом @token, ключ-код @key не может быть принят

Ожидаемые QUERY параметры

| Name    | Type   | Description               |
| ------- | ------ | ------------------------- |
| `token` | string | [Ключ-токен](/access/key) |

**Response**

{% tabs %}
{% tab title="200: OK" %}

```json
{
    "status": "OK",
    "result": {
        "data": {
            "id": 52931,
            "name": "СuntРоlish",
            "fullname": "Абьюзов Мега Вольтович",
            "avatar": "https://yakutia.info/uploads/images/22/01/IY6Zb4ZyqB.jpg",
            "phone": 79008051234,
            "region": "Красноярский край",
            "city": "Норильск",
            "address": "Комсомольская 6 кв 391",
            "balance": 603.5,
            "orders": 12,
            "telegram": true,
            "email": "megalev@abuser.ru",
            "login": "220voltovich@mail.ru",
            "verify": false,
            "notify": true,
            "timezone": "Europe/Moscow",
            "online": true,
            "folders": [
                {"title": "Для дома", "total": 2},
                {"title": "На авито", "total": 8},
                {"title": "Отзовик", "total": 9999},
            ],
            "created": 1487190830,
            "visited": 1727283618,
            "key": "duncEpOnke18y"
        }
    }
}
```

{% endtab %}
{% endtabs %}


# Карточки адресов

Отображает список всех когда-либо использованных адресов при оформлении заказа

## Список адресов

<mark style="color:green;">`GET`</mark> `api.waix.ru/user/address`

Уникальность карточки строится на основе 4 полей: name, phone, city, address — если одно из этих полей было изменено, считаем как отдельную карточку уникального адреса

**Ожидаемые QUERY параметры**

| Name    | Type   | Description |
| ------- | ------ | ----------- |
| `token` | string | Ключ-токен  |

**Response**

{% tabs %}
{% tab title="200: OK" %}

```json
{
    "status": "OK",
    "result": [
        {
            "name": "Абьюзов Мега Вольтович",
            "phone": "79041001122",
            "city": "Москва",
            "address": "ул. Обиженных девиц, дом 1"
        },
        {
            "name": "Писанов Кама Отзовичкович",
            "phone": "79001003322",
            "city": "Сочи",
            "address": "ул. Неутомленных деятелей 18"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Добавление

Добавление новой карточки адреса в список

## Запрос добавления

<mark style="color:green;">`POST`</mark> `/user/address/add`

Добавление карточки адреса в список с проверкой уникальности, если карточка с такими данными уже существует она не будет добавлена

{% hint style="info" %}
Максимальное количество карточек адресов ограничено — 10
{% endhint %}

**Ожидаемые QUERY параметры**

| Name    | Type   | Описание                  |
| ------- | ------ | ------------------------- |
| `token` | string | [Ключ-токен](/access/key) |

**Данные для передачи**

| Name      | Type   | Описание                   |
| --------- | ------ | -------------------------- |
| `name`    | string | Фамилия Имя Отчество       |
| `phone`   | string | Номер телефона начиная с 7 |
| `city`    | string | Город                      |
| `address` | string | улица и номер дома         |

**Response**

{% tabs %}
{% tab title="200: OK" %}
В ответе `result` будет содержать `id` добавленной записи

<pre class="language-json"><code class="lang-json">{
<strong>    "status":"OK",
</strong><strong>    "result": 500
</strong>}
</code></pre>

{% endtab %}

{% tab title="200: LIMIT" %}
Статус ответа LIMIT означение превышение допустимого числа запросов
{% endtab %}

{% tab title="302: ERROR" %}

<pre class="language-json"><code class="lang-json">{
<strong>  "status": "ERROR",
</strong><strong>  "message": "Already exists"
</strong>}
</code></pre>

Если запись с аналогичными данными уже существует, она не будет добавлена
{% endtab %}

{% tab title="200: ERROR" %}
Если по какой-то иной причине запись не была добавлена, ответ result будет равен null

```json
{"status":"ERROR","result":null}
```

{% endtab %}
{% endtabs %}


# Обновление

Внесение изменений в карточку адресов

## Запрос обновления

<mark style="color:green;">`POST`</mark> `/user/address/update/:id`

Обновление карточки адреса

**Ожидаемые QUERY параметры**

| Name    | Type   | Описание                  |
| ------- | ------ | ------------------------- |
| `token` | string | [Ключ-токен](/access/key) |
| `id`    | number | идентификатор карточки    |

**Данные для передачи**

| Name      | Type   | Описание                   |
| --------- | ------ | -------------------------- |
| `name`    | string | Фамилия Имя Отчество       |
| `phone`   | string | Номер телефона начиная с 7 |
| `city`    | string | Город                      |
| `address` | string | улица и номер дома         |

Если запрос успешен, result = true


# Удаление

Удалить карточку из списка адресов

{% hint style="warning" %}
Некоторые карточки невозможно удалить, поскольку они построены на основе данных ваших заказов. Удалять можно только те карточки которые были добавлены вручную через [метод добавления](/api/user/address/add) карточки адреса.
{% endhint %}

## Запрос удаления

<mark style="color:green;">`POST`</mark> `/user/address/remove/:id`

Запрос удаляет карточку созданную вручную, удаление карточки происходит путем передачи её идентификатора

**Ожидаемые QUERY параметры**

| Name    | Type   | Description               |
| ------- | ------ | ------------------------- |
| `token` | string | [Ключ-токен](/access/key) |
| `id`    | number | Идентифицатор карточки    |

**Возможные ответы**

{% tabs %}
{% tab title="200: OK" %}

```json
{
  OK
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "Invalid request"
}
```

{% endtab %}
{% endtabs %}


# Поиск на Taobao

Автоматический перевод с русского языка с исправлением ошибок ввода с переадресацией на строку поиска сайта s.taobao.com/search

## Переадресация с запроса на ссылку поиска

<mark style="color:blue;">`GET`</mark> `api.waix.ru/translate/search`

Получает запрос, исправляет его, переводит и переадресовывает на сайт taobao.com в раздел поиска согласно запросу перевода

#### Query Parameters

| Name                                   | Type   | Description                                                                         |
| -------------------------------------- | ------ | ----------------------------------------------------------------------------------- |
| text<mark style="color:red;">\*</mark> | string | <p>Текст запроса на русском языке.<br>Максимальная длинна строки 1000 символов.</p> |

{% tabs %}
{% tab title="200 См. заголовки Location" %}
{% hint style="success" %}
В случае успеха, в header запроса будет добавлен location со ссылкой на переадресацию. При выполнении данного запроса, пользователя перебросит на страницу поиска таобао:\
`//s.taobao.com/search?q=здесь_текст_перевода`
{% endhint %}
{% endtab %}
{% endtabs %}

## Возврат исправленного текста до перевода

<mark style="color:blue;">`GET`</mark> `api.waix.ru/translate/amendment`

Отображает текст до перевода, например, введя: *`летнии мушские жинсы`* будет исправлено на [*летние мужские джинсы*](#user-content-fn-1)[^1]

#### Query Parameters

| Name                                   | Type   | Description                                                                  |
| -------------------------------------- | ------ | ---------------------------------------------------------------------------- |
| text<mark style="color:red;">\*</mark> | String | <p>Текст на русском языке.<br>Максимальная длинна запроса 1000 символов.</p> |

{% tabs %}
{% tab title="200 Ответ на запрос: летнии мушские жинсы" %}

```json
{
   "status":"OK",
   "result":"летние мужские джинсы"
}
```

{% endtab %}
{% endtabs %}

## Исправить текст запроса и вернуть перевод

<mark style="color:blue;">`GET`</mark> `api.waix.ru/translate`

Ответ будет содержать текст исправленного запроса без переадресации на таобао

#### Query Parameters

| Name                                   | Type   | Description                                                                  |
| -------------------------------------- | ------ | ---------------------------------------------------------------------------- |
| text<mark style="color:red;">\*</mark> | String | <p>Текст на русском языке.<br>Максимальная длинна запроса 1000 символов.</p> |

{% tabs %}
{% tab title="200: OK Ответ на запрос: text=кроссовки+пума" %}

```json
{
   "status":"OK",
   "result":"美洲狮运动鞋"
}
```

{% endtab %}
{% endtabs %}

[^1]: Магия в деле: исправляет даже ytgjyznyj yf,hfyyst cnhjrb или не той раскладки, например.


# Telegram Бот

Бот @waixbot служит для уведомлений о смене статусов заказов, позиций, входа на сайт, восстановления пароля и новых сообщениях в которых можно продолжать диалог

Для начала работы с телеграм ботом [@waixbot](https://t.me/waixbot) ему в чат необходимо отправить [ключ код](/access#klyuch-kod)

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

Использовать учетную запись посредника в разных чатах не предусмотрено, вы можете привязать только канал, группу или личный профиль телеграм к боту на одном сайте посредника. Вы можете использовать одинаковую учетную запись телеграм на всех посредниках. Вы не можете использовать одну учетную запись телеграм в любом одном посреднике более чем в 1 аккаунте, при попытке привязать телеграм профиль к новому аккаунту посредника, ранее использованный профиль автоматически анулирует привязку к боту.&#x20;


# Bot

Service

## Отправка служебных уведомлений

Служебные уведомления — те которые основаны на уже имеющей информации, они отправляются  сразу. Например: смена статуса заказа в системе автоматически отправляет уведомление пользователю при условии что он подключил свой аккаунт посредника к своему telegram аккаунту через телеграм бота [@waixbot](https://t.me/waixbot)

{% hint style="info" %}
Системные уведомления состояний отправляются системой **автоматически**

<sup>К системным уведомлениям относятся: изменение статуса заказа, смена состояния статуса позиции, вход в личный кабинет, выставление нового счета, публикация нового сообщения в заказе со стороны системы управления</sup>
{% endhint %}

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

{% hint style="warning" %}
В telegram боте реализована возможность пользователю, каждый раз получая уведомление взаимодействовать с настройками их получения через специальную кнопку ⚙️
{% endhint %}

## Отправка своих сообщений

Вы можете использовать телеграм бота для отправки своих сообщений любого содержания но не чаще 2-х раз в сутки

{% hint style="info" %}
Отправка данных сообщений осуществляется из системы управления или через API запрос с указанием серверного `token`, в порядке очереди из-за ограничений на запросы телеграм.
{% endhint %}

Раздел как это сделать еще дописывается.


# Парсинг товаров таобао

Получение товаров с сайта tmall.com и taobao.com по ссылке

Получение json данных товара по ссылкам происходит только с сайта taobao.com и tmall.com. Ссылки с мобильной версии преобразуются в desktop версию сайта таобао перед парсингом.

Наши *роботы* используют только открытые данные, доступные для всех пользователей таобао. Одним запросом мы получаем все возможные данные на странице карточки товара. Некоторая информация может не соответствовать фактической, в частности речь идет о количестве и стоимости. Для получения фактической цены (*скидочной*) и точного количества товаров используется специальный запрос, он более медленный стандартного. Обычно среднее время парсинга страницы составляет \~1.5 секунды, получение актуальных данных количества и цены занимает порядка \~3 секунд. Мы **не гарантируем** всегда это время загрузки, поскольку это напрямую зависит от загруженности сервиса, ширины канала, посещаемости сайтов таобао и тмалл. В разное время суток — разная скорость загрузки данных. Вы можете ускорить время отображения данных используя предварительный парсинг.

### Стандартный метод получения данных

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

{% content-ref url="/pages/-MUzNfdUKCBibM1bhauw" %}
[Стандартный метод](/api/parser/item)
{% endcontent-ref %}

### Расширенный метод получения данных

Более медленный способ в отличии от стандартного, зато содержит более точные данные в частности стоимость и количество на складе. Метод возвращает данные только на английском языке. На своей стороне вы можете сливать воедино два запроса в один для получения расширенных данных на китайском языке.

{% content-ref url="/pages/-MUzR22tpYSqJhm2b4z-" %}
[Расширенный метод](/api/parser/actual)
{% endcontent-ref %}

Все уникальные успешные запросы кешируются на 300 секунд для минимизации количества обращений. Уникальным запрос составляется суммой md5 от указанной ссылки в параметрах запроса *link*.


# Стандартный метод

Отображается обычная цена товаров и количество. В данном случае скидки не учитываются, точное количество на складе продавца не соответствует фактической.

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

## Получение json данных товара

<mark style="color:blue;">`GET`</mark> `api.waix.ru/parser/item`

Пример: <http://api.waix.ru/parser/item?link=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fid%3D531225646625>

#### Query Parameters

| Name | Type   | Description                                                                                                                                                                                                                                           |
| ---- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| key  | string | Ключ клиента. На данный момент не требуется.                                                                                                                                                                                                          |
| id   | number | Получение данных по ID товара таобао не рекомендуется поскольку используется по-умолчанию ссылка на item.taobao.com и в случае если товар принадлежит сайту detail.tmall.com то из-за перенаправлений будет потеряно существенное количество времени. |
| link | string | Преимущественный способ получения данных, любые ссылки доменов taobao.com, tmall.com имеющие ID товара в переданных параметрах будут предварительно преобразованы перед парсингом.                                                                    |

{% tabs %}
{% tab title="200 При успешном парсинге поле data будет заполнено полученными данным о товаре." %}

```
{
  "status": "OK",
  "result": {
    "time_request": 1.58063,
    "time_total": 1.58417,
    "link": "https://item.taobao.com/item.htm?id=531225646625",
    "data": {
      "title": "切削液防锈乳化液金属乳化油冷却液加工中心机床铝合金切削油1:40",
      "pic": "//gd1.alicdn.com/imgextra/i2/900208505/O1CN01XI46BO2ChLC23ePgQ_!!900208505.jpg",
      "video": null,
      "images": [
        "//gd1.alicdn.com/imgextra/i2/900208505/O1CN01XI46BO2ChLC23ePgQ_!!900208505.jpg",
        "//gd3.alicdn.com/imgextra/i3/900208505/O1CN01E7kfki2ChL29Hmopa_!!900208505.jpg",
        "//gd4.alicdn.com/imgextra/i4/900208505/O1CN01E9ASFz2ChL2A10dSd_!!900208505.jpg",
        "//gd3.alicdn.com/imgextra/i3/900208505/O1CN01Fv9sUt2ChL29Qib4S_!!900208505.jpg",
        "//gd2.alicdn.com/imgextra/i2/900208505/O1CN01tSSd9a2ChLB48oNfu_!!900208505.jpg"
      ],
      "sellerId": "900208505",
      "sellerNick": "杰科仪器仪表工具商行",
      "sellerRate": null,
      "shopId": "72192161",
      "shopName": "杰科自动化仪器设备行",
      "shopAge": "8",
      "isOnline": true,
      "brand": null,
      "quantity": 4,
      "price": 21,
      "priceDefault": "21-37.8",
      "weight": null,
      "userId": "900208505",
      "itemId": "531225646625",
      "catRootId": "50020485",
      "catId": "50013370",
      "skuMap": {
        "1627207:11895751255": {
          "title": "一瓶切削液",
          "price": 21,
          "stock": 2,
          "skuId": "4564078993547"
        },
        "1627207:11983616028": {
          "title": "两瓶切削液（已省2元）",
          "price": 37.8,
          "stock": 2,
          "skuId": "4564078993548"
        }
      },
      "propMap": [
        {
          "pid": "1627207",
          "name": "颜色分类",
          "param": [
            {
              "vid": "11895751255",
              "value": "一瓶切削液",
              "image": "//gd2.alicdn.com/imgextra/i3/900208505/O1CN01aFWywv2ChLC1udzT2_!!900208505.jpg",
              "title": null
            },
            {
              "vid": "11983616028",
              "value": "两瓶切削液（已省2元）",
              "image": "//gd1.alicdn.com/imgextra/i3/900208505/O1CN01EmqxIA2ChLC5fk1Ng_!!900208505.jpg",
              "title": null
            }
          ]
        }
      ],
      "skuSelected": -1,
      "descUrl": "//dscnew.taobao.com/i6/530/220/531225646625/TB1MPUu7oY1gK0jSZFM8quWcVla.desc%7Cvar%5Edesc%3Bsign%5Ed1f6d8d57b9464111e96558b82625dc9%3Blang%5Egbk%3Bt%5E1613979373"
    }
  }
}
```

{% endtab %}
{% endtabs %}


# Расширенный метод

Отображает конечную стоимость с учетом скидки на таобао и точный остаток товаров на складе

Раздел дописывается.


# Введение

Все запросы в данном модуле осуществляются с указанием GET параметров на ваш выбор, мы рекомендуем осуществлять запросы в данный модуль тоьлко с указанием `project` параметра

| Name    | Type | Description                                           |
| ------- | ---- | ----------------------------------------------------- |
| project |      | id [площадки](/expand/projects), например project=1   |
|         | или  |                                                       |
| token   |      | Серверный или клиентский [ключ](/access#klyuch-token) |
|         | или  |                                                       |
| key     |      | [Код](/access#klyuch-kod) расширения                  |


# Навигация

Получение списка навигации площадки, вложенных меню, ссылок

## Многоуровневый список навигации разбитый на группы

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/nav`

Используйте в Query параметре переменную **project** (или используйте свой ключ **key** или **token)**

{% tabs %}
{% tab title="200: OK Навигационный список меню из системы waix для выбранной площадки" %}
{% code overflow="wrap" fullWidth="false" %}

```json
{
   "status":"OK",
   "result":{
      "main":[
         {
            "id":1,
            "group":"main",
            "nested_id":0,
            "url":"\/usloviya.html",
            "title":"О нас",
            "class":"",
            "view":-1,
            "pos":1,
            "target":false,
            "sub":[
               {
                  "id":7,
                  "group":"main",
                  "nested_id":1,
                  "url":"\/vikup.html",
                  "title":"Выкуп с таобао",
                  "class":"",
                  "view":0,
                  "pos":2,
                  "target":false
               },
               {
                  "id":25,
                  "group":"main",
                  "nested_id":1,
                  "url":"\/payment.html",
                  "title":"Оплата заказов",
                  "class":"",
                  "view":-1,
                  "pos":3,
                  "target":false
               },
               {
                  "id":26,
                  "group":"main",
                  "nested_id":1,
                  "url":"\/cargo.html",
                  "title":"Доставка грузов",
                  "class":"",
                  "view":0,
                  "pos":4,
                  "target":false
               },
               {
                  "id":8,
                  "group":"main",
                  "nested_id":1,
                  "url":"\/contacts.html",
                  "title":"Контакты",
                  "class":"",
                  "view":0,
                  "pos":20,
                  "target":false
               },
               {
                  "id":47,
                  "group":"main",
                  "nested_id":1,
                  "url":"\/news\/",
                  "title":"Новости",
                  "class":"",
                  "view":-1,
                  "pos":22,
                  "target":false
               }
            ]
         },
         {
            "id":6,
            "group":"main",
            "nested_id":0,
            "url":"\/help.html",
            "title":"Помощь",
            "class":"",
            "view":-1,
            "pos":5,
            "target":false,
            "sub":[
               {
                  "id":27,
                  "group":"main",
                  "nested_id":6,
                  "url":"\/pages-32.html",
                  "title":"Как оформить заказ",
                  "class":"",
                  "view":0,
                  "pos":6,
                  "target":false
               },
               {
                  "id":4,
                  "group":"main",
                  "nested_id":6,
                  "url":"\/pages-33.html",
                  "title":"Как заказать с Таобао",
                  "class":"",
                  "view":0,
                  "pos":7,
                  "target":false
               },
               {
                  "id":35,
                  "group":"main",
                  "nested_id":6,
                  "url":"\/pages-42.html",
                  "title":"Регистрация на Taobao",
                  "class":"",
                  "view":-1,
                  "pos":8,
                  "target":false
               },
               {
                  "id":3,
                  "group":"main",
                  "nested_id":6,
                  "url":"\/catalog\/",
                  "title":"Каталог товаров",
                  "class":"",
                  "view":0,
                  "pos":9,
                  "target":false
               },
               {
                  "id":48,
                  "group":"main",
                  "nested_id":6,
                  "url":"\/alibaba.html",
                  "title":"Как заказать с Alibaba",
                  "class":"",
                  "view":-1,
                  "pos":23,
                  "target":false
               }
            ]
         },
         {
            "id":24,
            "group":"main",
            "nested_id":0,
            "url":"\/delivery.html",
            "title":"Доставка",
            "class":"",
            "view":-1,
            "pos":10,
            "target":false
         },
         {
            "id":36,
            "group":"main",
            "nested_id":0,
            "url":"\/cargo1.html",
            "title":"Карго",
            "class":"",
            "view":-1,
            "pos":16,
            "target":false
         },
         {
            "id":23,
            "group":"main",
            "nested_id":0,
            "url":"\/order.html?step=1",
            "title":"Сделать заказ",
            "class":"order",
            "view":-1,
            "pos":17,
            "target":false
         },
         {
            "id":2,
            "group":"main",
            "nested_id":0,
            "url":"https:\/\/t.me\/+muw4m9qxFLozMmJi",
            "title":"Чат",
            "class":"",
            "view":1,
            "pos":18,
            "target":true
         },
         {
            "id":5,
            "group":"main",
            "nested_id":0,
            "url":"\/opinion.html",
            "title":"Отзывы",
            "class":"",
            "view":0,
            "pos":19,
            "target":false
         }
      ],
      "help":[
         {
            "id":28,
            "group":"help",
            "nested_id":0,
            "url":"\/pages-33.html",
            "title":"Как заказать с Taobao",
            "class":"",
            "view":-1,
            "pos":1,
            "target":false
         },
         {
            "id":29,
            "group":"help",
            "nested_id":0,
            "url":"\/pages-31.html",
            "title":"Таблица размеров",
            "class":"",
            "view":-1,
            "pos":2,
            "target":false
         },
         {
            "id":30,
            "group":"help",
            "nested_id":0,
            "url":"\/pages-30.html",
            "title":"Помощь выбора цвета",
            "class":"",
            "view":-1,
            "pos":3,
            "target":false
         },
         {
            "id":31,
            "group":"help",
            "nested_id":0,
            "url":"\/pages-32.html",
            "title":"Как правильно оформить",
            "class":"",
            "view":-1,
            "pos":4,
            "target":false
         },
         {
            "id":38,
            "group":"help",
            "nested_id":0,
            "url":"\/pages-45.html",
            "title":"Как узнать стоимость доставку?",
            "class":"",
            "view":-1,
            "pos":5,
            "target":false
         }
      ],
      "info":[
         {
            "id":18,
            "group":"info",
            "nested_id":0,
            "url":"\/how_to_register_on_our_site.html",
            "title":"Я в первый раз",
            "class":"",
            "view":0,
            "pos":2,
            "target":false
         },
         {
            "id":17,
            "group":"info",
            "nested_id":0,
            "url":"\/pages\/32\/",
            "title":"Как создать заказ",
            "class":"",
            "view":0,
            "pos":3,
            "target":false
         },
         {
            "id":19,
            "group":"info",
            "nested_id":0,
            "url":"\/pages\/42\/",
            "title":"Как зарегистрироваться",
            "class":"",
            "view":0,
            "pos":4,
            "target":false
         },
         {
            "id":20,
            "group":"info",
            "nested_id":0,
            "url":"\/pages\/33\/",
            "title":"Как заказать с таобао",
            "class":"",
            "view":0,
            "pos":5,
            "target":false
         },
         {
            "id":33,
            "group":"info",
            "nested_id":0,
            "url":"\/pages\/45\/",
            "title":"Доставка по Китаю",
            "class":"",
            "view":-1,
            "pos":6,
            "target":false
         },
         {
            "id":43,
            "group":"info",
            "nested_id":0,
            "url":"\/payment.html",
            "title":"Как оплатить заказ",
            "class":"",
            "view":-1,
            "pos":7,
            "target":false
         },
         {
            "id":44,
            "group":"info",
            "nested_id":0,
            "url":"\/vikup.html",
            "title":"Стоимость услуг",
            "class":"",
            "view":-1,
            "pos":8,
            "target":false
         },
         {
            "id":46,
            "group":"info",
            "nested_id":0,
            "url":"\/oferta.html",
            "title":"Оферта",
            "class":"",
            "view":-1,
            "pos":9,
            "target":false
         }
      ],
      "menu":[
         {
            "id":9,
            "group":"menu",
            "nested_id":0,
            "url":"\/usloviya.html",
            "title":"Наши условия",
            "class":"",
            "view":0,
            "pos":1,
            "target":false
         },
         {
            "id":12,
            "group":"menu",
            "nested_id":0,
            "url":"\/help.html",
            "title":"Помощь",
            "class":"",
            "view":0,
            "pos":2,
            "target":false
         },
         {
            "id":10,
            "group":"menu",
            "nested_id":0,
            "url":"\/forum\/",
            "title":"Форум",
            "class":"",
            "view":0,
            "pos":3,
            "target":false
         },
         {
            "id":11,
            "group":"menu",
            "nested_id":0,
            "url":"\/opinion.html",
            "title":"Отзывы",
            "class":"",
            "view":0,
            "pos":4,
            "target":false
         },
         {
            "id":14,
            "group":"menu",
            "nested_id":0,
            "url":"\/delivery.html",
            "title":"Доставка",
            "class":"",
            "view":0,
            "pos":5,
            "target":false
         },
         {
            "id":15,
            "group":"menu",
            "nested_id":0,
            "url":"\/order\/",
            "title":"Сделать заказ",
            "class":"",
            "view":0,
            "pos":7,
            "target":false
         }
      ]
   }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}


# Страницы

Получение содержимого статической страницы наполнения сайта

## Получение содержимого страницы

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/pages/id`

Для примера, используйте запрос [api.waix.ru/site/pages/1?project=1](https://api.waix.ru/site/pages/1?project=1) на получение содержимого страницы, замените 1 на свой id страницы, project на id [площадки](/expand/projects#vernet-spisok-aktivnykh-ploshadok)

#### Path Parameters

| Name                                 | Type | Description                                         |
| ------------------------------------ | ---- | --------------------------------------------------- |
| id<mark style="color:red;">\*</mark> | Int  | id страницы из системы waix или навигации @page\_id |

{% tabs %}
{% tab title="200: OK Результат успешного ответа" %}

```json
{
   "status":"OK",
   "result":{
      "title":"Выбор цвета",
      "keywords":"карго, доставка карго из Китая, Карго Китай Россия",
      "description":"Доставка грузов из Китая в Россию.  КАРГО перевозки товаров из Китая в Россию.",
      "sitemap":{
         "/pages-30.html":"Выбор цвета"
      },
      "content":"<div><font color=\"#00ccff\">Для заполнения формы заказа в графе «цвет» обязательно используйте &nbsp;оригинальные названия цветов на китайском языке. Это ускорит время обработки оператором вашего заказа и исключит возможность несоответствия. Сделать это можно следующим образом:</font></div><div><font color=\"#00ccff\"><br></font></div><div><font color=\"#00ccff\">Зайдите на главную страницу нужного лота.</font></div><div><br></div><div><img src=\"https://i.imgur.com/eztRfTY.png\" alt=\"\" align=\"none\" rel=\"nofollow\"><br></div><div><br></div><div><font color=\"#00ccff\">В таблице, выделенной красным маркером, показаны описание товара, отзывы и количество сделок за последние 30 дней.</font></div><div><br></div><div><br></div><div><img src=\"https://i.imgur.com/kSwwFTF.png\" alt=\"\" align=\"none\" rel=\"nofollow\"><br></div><div><br></div><div><font color=\"#00ccff\">После двоеточия в графе выбора цвета 颜色分类: &nbsp;будут указаны доступные цвета 黑色 &nbsp;宝蓝 &nbsp;西瓜 &nbsp;米色. Скопируйте цвета на китайском языке и вставьте их в</font><font color=\"#ffcc00\"> <a href=\"http://translate.google.ru/\" title=\"\" target=\"_blank\"><font color=\"#ffcc00\">онлайн-переводчик Google</font></a>.</font></div><div><br></div><div><br></div><div><img src=\"https://i.imgur.com/xW96xEe.png\" alt=\"\" align=\"none\" width=\"100%\" rel=\"nofollow\"><br></div><div><br></div><div><font color=\"#00ccff\">Наведите курсором на нужный вам цвет в правом окне. Он автоматически выделится желтым цветом, в левом окне желтым цветом будет обозначен его китайский вариант.</font></div><div><font color=\"#00ccff\"><br></font></div><div><font color=\"#00ccff\"><br></font></div><div><font color=\"#00ccff\">Цветовые категории так же могут находиться ниже графы размеров.</font></div><div><br></div><div><img src=\"https://i.imgur.com/tHIfIlm.png\" alt=\"\" align=\"none\" rel=\"nofollow\"><br></div><div><br></div><div><br></div><div><font color=\"#00ccff\">При выборе цвета обратите внимание на активность поля. Если оно бледно-серого цвета, значит не активно, т.е. данного цвета нет в наличии. Доступные цвета мы можем отметить галочкой, недоступные нет. Это выглядит так:</font></div><div><br></div><div><img src=\"https://i.imgur.com/Jxa2AuZ.jpg\" alt=\"\" align=\"none\" rel=\"nofollow\"><br></div>"
   }
}
```

{% endtab %}
{% endtabs %}


# Новости

Получение списка новостей или детальный просмотр новости

## Получение списка новостей

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/news`

Список будет сформирован от более новых к более старым, по умолчанию выводится 5 новостей, но вы можете запросить любое число от 1 до 100. Содержание новости будет сокращено до 20 слов, вы так же можете указать сокращение содержания слов от 10 до 100. Значение `words=0` отключает вывод содержимого новости. Все html теги в содержании новости будут удалены

#### Query Parameters

| Name                                                      | Type   | Description                                                                                                                      |
| --------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| token or key or project<mark style="color:red;">\*</mark> | String | Серверный или клиентский [токен](/access#klyuch-token), [ключ-доступа](/access#klyuch-kod) или номер [проекта](/expand/projects) |
| count                                                     | int    | количество новостей, по умолчанию 5                                                                                              |
| offset                                                    | int    | Выводит записи с отступом (т.е кроме n первых записей)                                                                           |
| words                                                     | int    | Указывает сколько слов должно содержаться в кратком выводе содержимого новости. Допустимо от нуля до 100 слов в новости.         |

{% tabs %}
{% tab title="200: OK Выводится список новостей" %}

{% endtab %}
{% endtabs %}

## Получение содержимого новости

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/news/{id}`

Ответ будет содержать новость «как есть», с выборочным сохранением тегов:

```html
<br> <b> <i> <u> <a> <strong> <em> <span>
```

#### Любые стили внутри тегов будут удалены перед выдачей, но по прежнему сохранены в системе

#### Path - (/параметр/параметр)

| Name                                 | Type | Description                                                                       |
| ------------------------------------ | ---- | --------------------------------------------------------------------------------- |
| id<mark style="color:red;">\*</mark> | Int  | Идентификатор новости из [списка новостей](/site/news#poluchenie-spiska-novostei) |

#### Query - (ключ=значение&ключ=значение)

| Name                                                      | Type   | Description                                                                                                                      |
| --------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| token or key or project<mark style="color:red;">\*</mark> | String | Серверный или клиентский [токен](/access#klyuch-token), [ключ-доступа](/access#klyuch-kod) или номер [проекта](/expand/projects) |

{% tabs %}
{% tab title="200: OK Выводится содержимое новости" %}

```json
{
    "status": "OK",
    "result": {
        "title": "Курс 14.1 = 1 юань", // заголовок новости
        "content": "<span>Уважаемые клиенты 30.09.2025 года курс на нашем сайте равен 14. 1 руб за 1 юань . Все новые зачисления принимаем по актуальному курсу</span>", // её описание с сохранением некоторых тегов
        "image": "https://d.zaix.ru/IIJz.png", // фото, с 2022 г фото выдаются с хостинга zaix.ru и могут использовать для сжатия налету: например https://d.zaix.ru/IIJz.png_c80x80.webp для создания квадратного обрезанного в центре изображения
        "date_create": 1727669591, // дата создания, время когда новость была создана
        "date_public": 1727643600, // дата публикации, время после которого новость будет доступна
        "date": "30 сен 2025" // удобочитаемый формат
    }
}
```

{% endtab %}
{% endtabs %}


# Отзывы

Обратная связь с вашими клиентами

## Получение списка

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/opinion`

Список будет сформирован от более новых к более старым, по умолчанию выводится 20 записей, но вы можете запросить любое число от 1 до 100. Содержание текста одной записи будет сокращено до 20 слов, вы так же можете указать сокращение содержания слов от 10 до 100. Значение `words=0` отключает вывод содержимого записи. Все html теги в содержании будут удалены или отредактированы

#### Query Parameters

| Name                                                      | Type   | Description                                                                                                                      |
| --------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| token or key or project<mark style="color:red;">\*</mark> | String | Серверный или клиентский [токен](/access#klyuch-token), [ключ-доступа](/access#klyuch-kod) или номер [проекта](/expand/projects) |
| count                                                     | int    | количество записей 20 или любое другое число                                                                                     |
| offset                                                    | int    | Выводит записи с отступом (т.е кроме n первых записей)                                                                           |
| words                                                     | int    | Указывает сколько слов должно содержаться в кратком выводе содержимого текста. Допустимо от нуля до 100 слов                     |

{% tabs %}
{% tab title="200: OK Выводится список" %}

<pre class="language-json" data-overflow="wrap"><code class="lang-json"><strong>{
</strong>  "status": "OK",
  "result": [
    {
      "id": 7438,
      "order_id": 0,
      "author": "Александр",
      "content": "Я хотел бы поделиться положительным опытом сотрудничества с транспортной компанией Посредник №1. С момента первой консультации я был приятно удивлён профессионализмом...",
      "comment": null,
      "rating": null,
      "images": [
        "https://d.zaix.ru/PiuG.jpeg",
        "https://d.zaix.ru/PiuH.jpeg",
        "https://d.zaix.ru/PiuI.jpeg"
      ],
      "created": 1752865524,
      "date": "30 сен 2025",
      "user": {
        "name": "Александр",
        "avatar": null,
        "vip": 0
      }
    },
    {
      "id": 7437,
      "order_id": 0,
      "author": "Дмитрий Фурс",
      "content": "Как всегда всё хорошо. Товар доставлен в целости и сохранности. Спасибо за оперативный сбор товара и отправки его в пункт...",
      "comment": null,
    },
    ...
  ],
  "total": 2803
}
</code></pre>

{% endtab %}
{% endtabs %}

## Получение детального содержимого

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/opinion/{id}`

Ответ будет содержать отзыв «как есть», с выборочным сохранением тегов:

```html
<br> <b> <i> <u> <a> <strong> <em> <span>
```

#### Любые стили внутри тегов будут удалены перед выдачей, но по прежнему сохранены в системе

#### Path - /параметр/параметр

| Name                                 | Type | Description                              |
| ------------------------------------ | ---- | ---------------------------------------- |
| id<mark style="color:red;">\*</mark> | Int  | Идентификатор из [списка](/site/opinion) |

#### Query — (параметр=значение)

| Name                                                      | Type   | Description                                                                                                                      |
| --------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| token or key or project<mark style="color:red;">\*</mark> | String | Серверный или клиентский [токен](/access#klyuch-token), [ключ-доступа](/access#klyuch-kod) или номер [проекта](/expand/projects) |

{% tabs %}
{% tab title="200: OK Выводится содержимое" %}
{% code overflow="wrap" %}

```json
{
    "status": "OK",
    "result": {
        "content": "Я хотел бы поделиться положительным опытом сотрудничества с транспортной компанией Посредник №1. С момента первой консультации я был приятно удивлён профессионализмом менеджеров — они были готовы ответить на все вопросы и предоставить подробную информацию о процессе доставки. Оплата прошла быстро и без проблем, а сама доставка оказалась значительно быстрее, чем я ожидал, что было отличным сюрпризом. Цены очень конкурентоспособные, что делает сотрудничество с вами ещё более выгодным. Сайт компании интуитивно понятен и удобен для использования, что упрощает процесс оформления заказа. Я уже совершил несколько заказов, и каждый раз упаковка была на высшем уровне — всё было аккуратно упаковано и пришло в идеальном состоянии.",
        "comment": null,
        "created": 1752865524,
        "date": "30 сен 2025",
        "user": null,
        "images": [],
        "author": null
    }
}  
```

{% endcode %}
{% endtab %}
{% endtabs %}


# Вопрос-ответ

Получение списка часто задаваемых вопросов и ответов к ним

## Выводит список вопрос-ответов

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/faq`

Укажите `project` или `key`/`token` (ключ) в GET параметрах для получения списка последних пар вопрос-ответ. Количество можно задать через GET параметр `count`, а отступ через `offset`

{% code title="200: Пример ответа результата" expandable="true" %}

```json
{
"status": "OK",
"result": [
{
"id": 7,
"question": "Как рассчитывается стоимость доставки?",
"answer": "Стоимость зависит от объема, веса и способа доставки. Также в стоимость идут дополнительные услуги.",
"answered": 1775001600,
"created": 1775001600
},
{
"id": 6,
"question": "Как происходит оплата за доставку груза?",
"answer": "После согласования маршрута и параметров груза менеджер фиксирует смету и порядок оплаты. Итоговые суммы согласуются заранее без скрытых платежей.",
"answered": 1775001600,
"created": 1775001600
},
{
"id": 5,
"question": "Как быстро оформить заказ на доставку из Китая в Россию?",
"answer": "Достаточно оставить заявку и отправить ссылку на товар. Дальше мы проверим поставщика, уточним параметры и предложим оптимальную схему доставки.",
"answered": 1775001600,
"created": 1775001600
},
{
"id": 4,
"question": "Можно ли через вас оплатить товар поставщику?",
"answer": "Да, в услугах компании есть оплата инвойса и сопровождение выкупа товара у китайского поставщика.",
"answered": 1775001600,
"created": 1775001600
},
{
"id": 3,
"question": "Условия доставки из Китая",
"answer": "Работаем с белой доставкой, карго, контейнерными перевозками и фулфилментом. Условия зависят от веса, объема, маршрута и требований по документам.",
"answered": 1775001600,
"created": 1775001600
},
{
"id": 2,
"question": "Какой срок доставки из Китая?",
"answer": "Сроки зависят от выбранного способа: быстрая автодоставка 18-25 дней, автодоставка 25-40 дней, море 35-50 дней, ЖД 30-50 дней.",
"answered": 1775001600,
"created": 1775001600
},
{
"id": 1,
"question": "Какой процент за выкуп товара с ТаоБао и Алибаба?",
"answer": "Финальная комиссия рассчитывается от объема задачи, типа товара и дополнительных услуг. Менеджер уточнит процент после оценки заявки.",
"answered": 1775001600,
"created": 1775001600
}
],
"total": 7
}
```

{% endcode %}


# Вставки

Возвращает все контентные области для вставок на сайте, например может использоваться для описания блока, страницы, заголовков сайта

## Выводит список всех вставок

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/custom`

Используйте это при необходимости гибко редактировать текст на вашем ресурсе, везде где вы используете данные вставки, прямо из системы управления контентом. Актуально для часто обновляемых данных.

{% tabs %}
{% tab title="200: OK Массив значений вставок" %}

```json
{
   "status":"OK",
   "result":{
      "custom_footer":"<a href=\"//master-tao.com/#page\">Master-Tao.com</a> — это надежный посредник таобао!<div>Приобретая товары через нас Вы можете быть уверены в качестве, удобстве и скорости нашей работы!</div>",
      "custom_header":"Ваши заботы в наших руках!",
      "custom_referal":"Это реферальная система и с ее помощью можно зарабатывать на этом сайте!<br>\r\nВсе очень просто, Вы даете ссылку другу, друг переходит по ней, делает заказ Вы получаете от 0.1 до 1% от суммы заказа, допустим, от суммы 10000 рублей вы получаете 100 рублей! Согласитесь, неплохой расклад за пару кликов!",
      "custom_opinion_note":"Все отзывы проходят предварительную модерацию!<br/>\r\nМы оставляем за собой право не размещать Ваш отзыв.<br/>\r\nМы не меняем имена и текст отправителей.",
      "custom_order_opinion":"Напишите свой отзыв о заказе более подробно и красиво. Так же Вы можете написать дополнительно комментарий к каждой позиции в заказе. Если нашему хорошему и весьма доброму модератору понравится Ваш отзыв о заказе и товарах в нем, то он даст Вам за это небольшой бонус! <br>\r\nНам приятно стараться для Вас, постарайтесь еще и для себя!",
      "custom_cart":"В этом разделе отображаются товары, добавленные с помощью расширения для браузера. Вы можете создать заказ с этими позициями в один клик.",
      "custom_dollar_course":"98",
      "custom_etc":"Your another text!!"
   }
}
```

{% endtab %}
{% endtabs %}


# Города и регионы

Сделайте запрос и система отобразит все совпадения по запросу. Информация взята с api.vk.com по состоянию на 2020 год, введу чего её актуальность может быть под вопросом.

## Список городов

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/cities`

Получить список городов с информацией региона по запросу.

Удобно использовать в выпадающих списках быстрого набора адреса.

#### Query Parameters

| Name | Type   | Description                   |
| ---- | ------ | ----------------------------- |
| q    | string | Текст запроса, например: Санк |

{% tabs %}
{% tab title="200 Отсортировано по важности, важность определяется частотой использования данного города в системе." %}

```
[
  {
    "id": 2,
    "title": "Санкт-Петербург",
    "area": "",
    "region": ""
  },
  {
    "id": 1007735,
    "title": "Санкино",
    "area": "Куюргазинский район",
    "region": "Башкортостан"
  },
  {
    "id": 1009942,
    "title": "Санково",
    "area": "Грайворонский район",
    "region": "Белгородская область"
  },
  {
    "id": 1027663,
    "title": "Осанково",
    "area": "Гаврилово-Посадский район",
    "region": "Ивановская область"
  },
  {
    "id": 1027676,
    "title": "Санково",
    "area": "Гаврилово-Посадский район",
    "region": "Ивановская область"
  },
  {
    "id": 1028411,
    "title": "Санково",
    "area": "Кинешемский район",
    "region": "Ивановская область"
  },
  {
    "id": 1068990,
    "title": "Пиксанкино",
    "area": "Шемышейский район",
    "region": "Пензенская область"
  },
  {
    "id": 1114674,
    "title": "Санкино",
    "area": "Красночетайский район",
    "region": "Чувашская"
  },
  {
    "id": 1141461,
    "title": "Санки",
    "area": "Лукояновский район",
    "region": "Нижегородская область"
  },
  {
    "id": 1148055,
    "title": "Санково",
    "area": "Сакмарский район",
    "region": "Оренбургская область"
  },
  {
    "id": 1154245,
    "title": "Санкино",
    "area": "Алапаевский район",
    "region": "Свердловская область"
  }
]
```

{% endtab %}
{% endtabs %}


# Курс валют

Получить актуальный курс валют сайта посредника

## Текущий курс валют обмена

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/site/course`

Требуется передача `project` или `ключа` или `токена`.

Ответы

{% tabs %}
{% tab title="200: OK" %}

```json
{
    "status": "OK",
    "result": {
        "rub-cny": 14, // сколько рублей за 1 юань
        "cny-rub": 0.07142857, // сколько юаней за 1 рубль
        "usd-cny": 0.13513514, // сколько долларов за юань
        "cny-usd": 7.4, // сколько юаней за доллар
        "usdt-cny": 0.14492754, // сколько USDT за один юань
        "cny-usdt": 6.9 // сколько юаней за один USDT
    }
}
```

{% endtab %}
{% endtabs %}


# О расширении

Используй WAIX Extension — расшить свои возможности!

Расширение изменяет внешний вид карточки товара на китайских площадках, делая ее удобнее и понятнее.

{% tabs %}
{% tab title="1688.com" %}
![Внешний вид расширения на сайте 1688.com](https://1673408856-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwdN2-2eDL2JduJu4uv%2F-LwxPrWQ8ssJ-T93dIPz%2F-LwxTDG_bbUkQf-UVcHX%2F1688.png?alt=media\&token=de21b22c-f689-4fd9-9de5-44fba6e02d7a)
{% endtab %}

{% tab title="taobao.com" %}
![Внешний вид расширения на сайте taobao.com](https://1673408856-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwdN2-2eDL2JduJu4uv%2F-Lx7MQiujH4xjWdPwV1n%2F-LxB_PMikrLuj1_z3O93%2Ftaobao.png?alt=media\&token=49aea1a1-160f-49c4-ae1d-619d07a2082d)
{% endtab %}

{% tab title="tmall.com" %}
![Внешний вид расширения на сайте tmall.com](https://1673408856-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwdN2-2eDL2JduJu4uv%2F-Lx7MQiujH4xjWdPwV1n%2F-LxB_ZqM-QjvBRrLA4ub%2Ftmall.png?alt=media\&token=a2d94f8b-77f6-471d-81bd-b12bb8b0d0ec)
{% endtab %}
{% endtabs %}

## **Установка расширения**

Для работы расширения у Вас должен быть установлен браузер Google Chrome.

Перейдите в магазин расширений по ссылке: <https://chrome.google.com/webstore/detail/waix-extension/hmhgcjchegcabaaoicegphljdpbifbcm>

Нажмите на кнопку установить. Установка начнется автоматически.

После чего вам необходимо [ввести код](/access) или войти с помощью почты.

## Как активировать расширение?

[Активация](/extension/activate) это тоже самое что и авторизация! Она происходит несколькими способами, обычно если пользователь переходит по ссылке из личного кабинета посредника, то активация происходит автоматически. Однако, в некоторых случаях может потребоваться ручной ввод [ключа-доступа](/access).


# Активация расширения

Способы авторизации расширения WAIX Extension для браузеров Chromium

### Авторизация в расширении WAIX Extension

Если у пользователя установлено расширение в браузере Google Chrome (или любом другом) то перейдя по ссылке: <https://waix.ru/welcome.html?key=>[**ключ-код**](/access) пользователь авторизует своё расширение в браузере с информированием:

> #### &#x20;Благодарим Вас за установку данного расширения!
>
> Очень надеемся, что благодаря ему Ваши покупки товаров из Китая станут проще и удобнее!

{% hint style="info" %}
Если Вам уже известен [ключ-код](/access) для авторизации, вы можете передать его по лично (желательно по закрытым каналам) либо передать ссылку для удобства.
{% endhint %}

В настоящее время расширение [WAIX Extension](https://chrome.google.com/webstore/detail/waix-extension/hmhgcjchegcabaaoicegphljdpbifbcm) работает именно по данному принципу авторизации, если код указан не верный, то его подмены и авторизации не произойдет в случае, если расширение уже авторизовано.

Ключ не будет прописан в расширении если код не верный, вместо этого будет отображено сообщение:

> Ключ который Вы пытаетесь активировать — нерабочий. Попробуйте запросить новый у Вашего посредника, либо выберите нового посредника


# Фоновая активация

Используйте данный метод для авторизированных пользователей до установки расширения в браузер

Существует 3 способа сделать расширение активным:

1. Авторизация впервые для конечной страницы welcome.html?key={[ключ](/access#klyuch-kod)}
2. Авторизация вручную пользователем, путём вставки [ключа-доступа](/access)
3. Фоновая авторизация в момент установки расширения впервые

Здесь мы рассмотрим третий способ активации.

Перед тем, как пользователю скачать расширение, необходимо направить его по ссылке:&#x20;

```
https://api.waix.ru/extension?key={ключ}
```

Данный переданный ключ, будет проверен и записан в cookie браузера, затем, после установки, расширение проверит наличие данных cookie в браузере и использует их для авторизации в расширении. Если все сделано правильно, расширение будет активно сразу после установки. Однако если пользователь ранее уже пользовался расширением, данный способ не сработает.


# Проверка состояния

Данный метод позволяет определить, установлено ли расширение у пользователя, введен ли ключ и на каком сайте посредника

Сперва, вам необходимо повесить обработчик событий `onMessage` на `window`, затем вставить на страницу код `iframe` для получения сообщений посылаемых [расширением](/extension/about).

{% code overflow="wrap" lineNumbers="true" %}

```javascript
function checkExtension(e) {
  // отлавливаем все сообщения на странице и фильтруем, нас интересуют только сообщения от api.waix.ru
  if (e.origin.indexOf('api.waix.ru') < 0)
    return;

  if (e.data.key) { // false or true
    // key entered or not
  }
  if (e.data.user) {
    // user is active or not
  }
  if (location.host != e.data.domain) {
    // the Google Extension is being used by another company
  }
  if (!e.data.key || !e.data.user) {
    // the Google Extension installed but not used
  }
}

window.addEventListener("message", checkExtension, false);
```

{% endcode %}

Вставьте код `iframe` в место, где вы хотите проверять состояние расширения, например в личном кабинете пользователя. Если `iframe` отсутствует, вы не сможете перехватить событие сообщения `onMessage` для получения состояния.

{% code overflow="wrap" fullWidth="false" %}

```html
<iframe src="https://api.waix.ru/check.html" frameborder="0" height="0" style="overflow: hidden;"></iframe>
```

{% endcode %}

{% hint style="info" %}
Важное замечание, код скрипта JavaScript должен находиться перед iframe, чтоб избежать ситуации, когда iframe загрузится из кэша быстрее, чем успеет инициироваться код JS.
{% endhint %}


# Whois

Получить информацию о посетителе, страну, провайдера, временную зону. Информация предоставляется сервисом ip-api.com

## Информация о посетителе на основе его IP

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/whois`

Данный метод не подразумеваем передачу параметров. Информация о пользователе берется на основе IP источника запроса. Имеет ограничение на 10 запросов в минуту, используйте метод [as](/expand/whois/as) для обхода

{% hint style="info" %}
Если ограничение мешает работе вашего ресурса, используйте метод [as](/expand/whois/as) для обхода ограничения количества запросов в минуту
{% endhint %}


# AS num

Unlimited edition

## Используйте данный метод для получения сети (asnum) источника запроса&#x20;

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/whois/as`


# Площадки

Список активных посредников на платформе

## Вернет список активных площадок

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/run/projects`

Запрос не требует ключей, будет возвращен список площадок типа Object

{% tabs %}
{% tab title="200: OK Результат запроса" %}

```json
{
   "1":"china-towns.com",
   "2":"cargoasia.info",
   "4":"cargo1885.ru",
   "5":"master-tao.com",
   "6":"storetao.com",
   "9":"quick-china.ru",
   "10":"asia-like.com",
   "13":"asia-tao.com",
   "14":"alex-tao.com",
   "16":"963cargo.ru",
   "17":"tao-club.ru",
   "20":"lena-cargo.com",
   "29":"super-tao.com"
}
```

{% endtab %}
{% endtabs %}


# Котировки валют

Получение актуальных котировок RUB и USD по отношению к CNY

## Получить список сервисов и их котировки

<mark style="color:blue;">`GET`</mark> `https://api.waix.ru/currencies`

Кеш данных составляет *6 часов*, т.е в момент выполнения запроса будут получены актуальные котировки и помещены в кэш нашим сервером на *6 часов*. Значение индекса **average** является средним показателем котировок по всем сервисам. Используйте данный запрос если вам необходимо отображать на сайте актуальный курс, вы так же можете прибавлять к нему свой коэффициент.

{% tabs %}
{% tab title="200: OK Результат запроса" %}

```json
{
   "currencylayer.com":{
      "timestamp":1691339763,
      "base":"USD",
      "data":{
         "RUB":95.875038,
         "CNY":7.170304
      },
      "values":{
         "RUB":"13.371",
         "USD":"0.139"
      }
   },
   "cbr-xml-daily.ru":{
      "timestamp":1691182800,
      "base":"RUB",
      "data":{
         "USD":0.0105476776,
         "CNY":0.075898
      },
      "values":{
         "RUB":"13.175",
         "USD":"0.138"
      }
   },
   "openexchangerates.org":{
      "timestamp":1691337618,
      "base":"USD",
      "data":{
         "CNY":7.1703,
         "RUB":95.874996
      },
      "values":{
         "RUB":"13.371",
         "USD":"0.139"
      }
   },
   "exchangeratesapi.io":{
      "timestamp":1691339763,
      "base":"EUR",
      "data":{
         "CNY":7.905166,
         "RUB":105.700974,
         "USD":1.102487
      },
      "values":{
         "RUB":"13.371",
         "USD":"0.139"
      }
   },
   "average":{
      "timestamp":1691339770,
      "data":{
         "RUB":13.322000000000001,
         "USD":0.13875
      }
   }
}
```

{% endtab %}
{% endtabs %}


