Клиентский API Web-сервис

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

  • Доступ к web-сервису осуществляется с помощью Bearer Token Authentication.
    Параметры запроса формируются POST запросом в json-формате.
    Результы возвращается в json-формате.

    Необходимо запросить доступ у менеджера вашего поставщика и вам он предоставит:
    1. Адрес, куда нужно формировать запросы
    2. Токен для авторизиаци в web-сервисе
    Ниже представлено описание интегрированное в примеры PHP.

    Работа с прайсом


    <?php
    /********************************************************/
    /*** Получить список  брендов по артикульному номеру  ***/
    /********************************************************/
    // адрес сервера предоставляет поставщик, например  https://api2.tezarius.ru или https://api3.tezarius.ru и т.д.
    $params=[];
    $url "{адрес-сервера}/method/price/brandsByCode";
    $post = ["params" => ["YourReferenceOperationID" =>1,"jparams"=>["code" => "номер запрашиваемого товара"]]];
        

    $data_string json_encode($post);
    $ch=curl_init($url);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($chCURLOPT_POSTFIELDS$data_string);
    curl_setopt($chCURLOPT_HTTPHEADER,
        array(
            
    "Authorization: Bearer {предоставленный_поставщиком_токен}",
            
    "Accept: application/json",
            
    "Content-type: application/json"
        
    )
    );

    $result curl_exec($ch);
    curl_close($ch);

    /*
    Реузультаты:
    [
     {"YourReferenceOperationID":1,
      "result":[
               {
                 "id":"внутренний id(не используется)",
                 "code":"артикульный номер товара",
                 "id_rbBrands":"уникальный код бренда в системе поставщика",
                 "name":"имя бренда, например Kayaba или Toyota",
                 "goods_name":"описание товара"
                }
              ]
     }
    ]

    Результат выполнения, в случае ошибки:
    {"error":true,"message":"описание ошибки"}
    */
    ?>


    <?php
    /******************************************************************************/
    /*********************** Поиск в прайсе по номеру и бренду ********************/
    /******************************************************************************/


    $params=[];
    $url "{адрес-сервера}/method/price/search";
    $post = ["params" => 
              [
    "YourReferenceOperationID" =>1,
               
    "jparams"=>
                 [
    "code" => "артикульный номер",
                  
    "brand" => "наименование бренда",
                  
    "brandID" =>"id_rbBrands - уникальный код бренда в системе поставщика",
                  
    "StockTypeFilter" =>"StockAll - по всем складам поставщика, StockCompany - только по остаткам поставщика",
                  
    "SearchFilter" =>"ByCodeBrand",
                  
    "limit" =>"число строк для показа, например 1000",
                  
    "limitPos" =>"страница результатов, начиная с 1"
                 
    ]
              ]
            ];
        

    $data_string json_encode($post);
    $ch=curl_init($url);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($chCURLOPT_POSTFIELDS$data_string);
    curl_setopt($chCURLOPT_HTTPHEADER,
        array(
            
    "Authorization: Bearer {предоставленный_поставщиком_токен}",
            
    "Accept: application/json",
            
    "Content-type: application/json"
        
    )
    );

    $result curl_exec($ch);
    curl_close($ch);

    /*
    Реузультаты:
    [
     {"YourReferenceOperationID":1,
     "result":[
               {
               "hash":"хэш ключ для заказа",
               "name":"название товара",
               "code":"артикульный номер (очищенный от пробелов, точек и других символов)",
               "code_display":"исходный артикульнный номер",
               "brand":"бренд/производитель",
               "qty":"доступное кол-во",
               "cost":"цена",
               "part":"кратность отгрузки",
               "delivery_min":"минимальный срок доставки в раб. днях",
               "delivery_max":"минимальный срок доставки в раб. днях",
               "deliveryProc":"вероятность поставки",
               "unitName":"единица измерения",
               "logo":"лого склада поставки",
               "isKit":"1-комплект, иначе 0",
               "tzp":"внутренний код для заказа",
               "dlvr_inf":"информация о доставке",
               "caption":"описание к товару"
               }
              ]
     }
    ]

    Результат выполнения, в случае ошибки:
    {"error":true,"message":"описание ошибки"}
    */


    Работа с заказами


    <?php
    /******************************************************************************/
    /***********************        Оформление заказа          ********************/
    /******************************************************************************/

    $params=[];
    $url "{адрес-сервера}/method/cart/OrderFastAny";
    $post = ["params" => 
              [
    "YourReferenceOperationID" =>1,
               
    "jparams"=>
                 [
                  
    "note" => "комментарий к заказу",
                  
    "isToWork" => "1 - отправить сразу в работу, если это разрешено, иначе передаем 0",
                  
    "isDelivery" => "0 - без доставки, 1 - с доставкой",
                  
    "address_delivery" => "адрес доставки",
                  
    "isDeliveryPartly" => "1 - доставлять частично, 
                                         0 - только при полном поступлении заказа (при включенной опции с доставкой)"
    ,
                  
    "LanguageCode" => "ru",
                  
    "positions" => 
                    array(
                     [
                       
    "hashkey" => "поле hash из резульатов поиска в прайсе",
                       
    "qty" => "кол-во для заказа",
                       
    "priceRunUp" => "Допустимое увеличение цены в базовой валюте, так как цены 
                                        могут меняться из за курсов валюты. 
                                        Если передать 0, то цена должна совпадать."
    ,
                       
    "note" => "можно указать здесь для себя комментарий к позиции, 
                                  он печатается на стикере, 
                                  при получении товара (не более 150 символов)"                 
                     
    ]
                    ),
                 ]
               ]
            ];
        

    $data_string json_encode($post);
    $ch=curl_init($url);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($chCURLOPT_POSTFIELDS$data_string);
    curl_setopt($chCURLOPT_HTTPHEADER,
        array(
            
    "Authorization: Bearer {предоставленный_поставщиком_токен}",
            
    "Accept: application/json",
            
    "Content-type: application/json"
        
    )
    );

    $result curl_exec($ch);
    curl_close($ch);

    /*
    Реузультаты:
    [
     {
        "YourReferenceOperationID":1,
        "result":
          [
           {
            "DocID":"id документа заказа",
            "DocNumber":"номер заказа",
            "comment":"если не пусто, значит возникала проблема с 
                       отправкой заказа в работу и будет указан комментарий"
           }
          ]
      }
    ]

    Результат выполнения, в случае ошибки:
    {"error":true,"message":"описание ошибки"}

    */

    ?>


    <?php

    /******************************************************************************/
    /***********************  получить заказы за период        ********************/
    /******************************************************************************/
    $params=[];
    $url "{адрес-сервера}/method/orders/GetOrderListDetails";
    $post = ["params" => 
              [
    "YourReferenceOperationID" =>1,
               
    "jparams"=>
                 [
                  
    "ByDate"  =>  1,
                  
    "date1"  =>  "дата начала периода заказов в формате гггг.мм.дд, например пример 2022.01.17",
                  
    "date2"  =>  "дата конца периода заказов в формате гггг.мм.дд, например пример 2022.01.19",
                  
    "ShowArh"  =>  "1 - для показа заказов с учетом архива, 0- только активнные заказы",
                  
    "limit"  =>  "показать количество позиций, например 100",
                  
    "limitPos"  =>  "страница показа, например 1"
                 
    ]
               ]
           ];
           
    /******************************************************************************/
    /************  получить заказы по списку ID документов заказов      ***********/
    /******************************************************************************/
    $params=[];
    $url "{адрес-сервера}/method/orders/GetOrderListDetails";
    $post = ["params" => 
              [
    "YourReferenceOperationID" =>1,
               
    "jparams"=>
                 [
                  
    "ArrayDocs"  =>  "передаем ID документа заказа, если несколько, то разделяем через запятую",
                  
    "ShowArh"  =>  "1 - для показа заказов с учетом архива, 0- только активнные заказы",
                  
    "limit"  =>  "показать количество позиций, например 100",
                  
    "limitPos"  =>  "страница показа, например 1"
                 
    ]
               ]
           ];
           
    $data_string json_encode($post);
    $ch=curl_init($url);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($chCURLOPT_POSTFIELDS$data_string);
    curl_setopt($chCURLOPT_HTTPHEADER,
        array(
            
    "Authorization: Bearer {предоставленный_поставщиком_токен}",
            
    "Accept: application/json",
            
    "Content-type: application/json"
        
    )
    );

    $result curl_exec($ch);
    curl_close($ch);

    /*
    Реузультаты:
    [
     {
       "YourReferenceOperationID":1,
       "result":
        [
          {
            "DocDate":"дата заказа, в формате  yyyy-mm-dd",
            "DocID":"ID документа заказа",
            "DocNumber":"номер заказа",
            "position":"№ позиции в заказе",
            "name":"наименование товара",
            "code":"номер , артикул товара",
            "brand":"бренд/производитель",
            "cost":"цена",
            "total":"сумма",
            "qty":"кол-во",
            "state":"статус позиции заказа"
          }
        ]
     }
    ]

    */
    500 руб. от 3х - 450 руб. от 5и - 400 руб.
    Данная функция предназначена для добавления и удения пользователей.
    ico ico

    Онлайн чат

    ico
    Оператор

    Здравствуйте! Спасибо, за обращение в Tezarius! Чем мы можем вам помочь?