1

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

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

Запрос на создание заказа выдаёт ошибку: {error : 2}

Пример запроса: svc=orders/update&params={'tf': 1454641200.0, 'r': 100, 'callMode': 'create', 'n': '2233-22-34546-X', 'u': 150, 'y': 56.3071073, 'itemId': 13481460, 'p': {}, 'x': 44.0282176, 'trt': 5, 'id': 1, 'tt': 1454698800.0}&sid=26ca7fe1fadc3ea0f16f8bf90e090523

Что делаю не так?

2

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

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

Добрый день

Правильная команда order/update (не orders/update)
Также обратите мнимание, что параметры tf и tt должны быть целочисленными.

3

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

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

Спасибо, получилось.
Создал заказ, в ресурсах он присутствует. Как его визуализировать на карте?

4

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

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

У заказа есть координаты и радиус, этих данных достаточно для визуализации.
Далее всё зависит от среды и языка разработки.

Для интерактивных карт в браузере можно воспользоваться библиотекой http://leafletjs.com/ или http://openlayers.org/
В этом сообщении есть полезные ссылки по теме.

5

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

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

Возможно ли получить отчет в wialon hosting по заказам сформированным через api?

6

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

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

rublikov wrote:

Возможно ли получить отчет в wialon hosting по заказам сформированным через api?

такого отчёта нет

7

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

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

Добрый день
Создаю заказы раз в минуту. Присваиваю id начиная с 1, через некоторое время WIALON не создаёт заказ а записывает в уже существующий
заказ.
Например создаю заказ id 24, а информация записывается в id 10.
Как мне избежать этой ситуации?

8

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

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

id - внутренний идентификатор, вы не можете указать его при создании, его Wialon устанавливает автоматически.
Когда заказ удаляется или уходит в историю, его id освобождается.
При создании под-элементов (таких как заках) в качестве id выбирается минимальный из свободных.

Если вам нужен собственный уникальный идентификатор, вы можете использовать для его хранения поле p передав туда произвольный JSON c желаемым идентификатором, например

...
p: "{uid:24}"
...
9

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

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

Приветствую.

К сожаление не получается создать заказ.
Пробовал так:
{"tf":1454641200,"r":100,"callMode":"create","n":"test123","u":150,"y":55.1992988586,"p": {} "x": 61.3178901672,"trt": 5,"tt":1454698800}
Получаю: {"error":4}
если пытаюсь добавить параметр itemId, то получаю {"error":7}, что собственно логично, так как непонятно что я должен прописывать в этот параметр.

Вопрос: что делаю не так ?
PS1: координаты получал через http://search-maps.wialon.com/hst-api.w … rchintelli
(Челябинск, Россия, Солнечная, 20)
PS2: Токен создан с параметром access_type=0x800
PS3: Страницы мануала читал (в т.ч. и эту https://sdk.wialon.com/wiki/ru/sidebar/ … r/update), но информативности мало.
PS4: Не хватает ГАРАНТИРОВАННО рабочих примеров в этом мануале, от которых можно было бы отталкиваться, а также детализации ошибок

10

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

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

Добрый день

itemId - идентификатор ресурса, в котором будет создана заявка
Если хотите создать заявку в ресурсе своей учётной записи - подайте user.bact из ответа на token/login

11

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

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

Спасибо, shmi.

Однако пока не хочет заявка создаваться у меня. Последние тесты делаю вокруг таких данных:
{
"callMode":"create",
"n":"test123",
"tf":1492570800,
"tt":1492617600,
"ut":600,
"trt":5,
"x":61.3178901672,
"y":55.1992988586,
"r":150,
"itemId":15233643,
"f":0x2,
"p":{}
}
Постоянно ошибка : {"error": 4}
Собственно вопросы::
1. Что тут не так?
2. В документации сказано, что  на входе можно подать поля:
  2.1 "rp"( маршрут заявки)... Обязательное ли данное поле? надеюсь что нет, так как маршруты в нашем случае формируются позже формирования заявок.
  2.2. "u",( id объекта (можно указать id 0, чтобы привязать объект к заявке позже))... Собственно вопрос: про какой объект идет речь, где взять этот id... обязателен ли он
  2.3.."id" (id заявки внутри ресурса).. Вопросы прежние: про какой id идет речь, где взять этот id... обязателен ли он

Заранее всем спасибо.

12

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

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

Добрый день

В запросах Wialon Remote API, за редким исключением, нужно слать все параметры из документации. В вашем примере не хватает id, а  также ut передаётся внутри p.

2.1 "rp"( маршрут заявки)... Обязательное ли данное поле? надеюсь что нет, так как маршруты в нашем случае формируются позже формирования заявок.

Параметр rp опционален и используется в случае создания готового маршрута

2.2. "u",( id объекта (можно указать id 0, чтобы привязать объект к заявке позже))... Собственно вопрос: про какой объект идет речь, где взять этот id... обязателен ли он

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

2.3.."id" (id заявки внутри ресурса).. Вопросы прежние: про какой id идет речь, где взять этот id... обязателен ли он

id - внутренний идентификатор заявки, присваивается системой автоматически при создании, для "callMode":"create" передавайтe "id":0

Не знаю на каком языке ведёте разработку, написал пример на PHP с использованием библиотеки php-wialon. Скрипт создаёт заявку в ресурсе учётной записи пользователя. Для работы нужно поменять значение переменной $token

<?
    include('wialon/wialon.php');
    $wialon_api = new Wialon();

    $token = 'YOUR TOKEN HERE';

    // login
    $response = $wialon_api->login($token);
    echo "<p>token/login: $response</p>";

    // check login response
    $loginResponse = json_decode($response, true);
    if (!isset($loginResponse['eid'])) {
        exit();
    }

    // order params
    $params = array(
        "itemId"=>$loginResponse['user']['bact'],
        "callMode"=>"create",
        "id"=>0,
        "n"=>"test123",
        "tf"=>1492570800,
        "tt"=>1492617600,
        "trt"=>5,
        "x"=>61.3178901672,
        "y"=>55.1992988586,
        "r"=>150,
        "f"=>2,
        "p"=>array(
            "ut"=>600
        )
    );

    // create order
    $response = $wialon_api->order_update(json_encode($params, JSON_UNESCAPED_UNICODE));
    echo "<p>order/update: $response</p>";

    // logout
    $response = $wialon_api->logout();
    echo "<p>core/logout: $response</p>";
?>
13

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

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

Огроменное спасибо, shmi !
Информация предоставленная Вами несомненно помогла и документы у меня начали создаваться.

Только правда не сразу.

Оказывается  параметр "f":0x2 нельзя так передавать...
  можно или так "f":2   
  или так   "f":"0x2"
у меня в последний момент именно по этому слету не заработало, а собирал запрос я ручками в программе Postman

В любом случае спасибо, в т.ч. и на счет рекомендации:
"В запросах Wialon Remote API, за редким исключением, нужно слать все параметры из документации"