Инструменты пользователя

Инструменты сайта


cloudterminal:csv

Это старая версия документа!


Имитация файлового обмена

Облачный ТСД обменивается данными исключительно через веб-сервис, файловый или какой-либо другой оффлайн обмен добавлять не планируется.

Однако, имитация файлового обмена есть в веб-сервисе. Вы можете её использовать, если Ваша товароучетная система не поддерживает обмен данными со сторонними веб-сервисами через REST API.

Подготовьте базу штрих-кодов в формате csv файла (первая строка заголовок обязательна):

barcode,name,advanced_name,unit
4893729011893,Скрепы,,шт.
2000000000015,Велосипед,,
2900000005686,Блокнот,Желтый,литр
4960371004716,Деталь,,шт.
640522710850,Дрель,,пачка
725211167020,Утюг,синий,литр

И отправьте его методом POST в веб сервис по адресу /new/csv, В заголовке access-key POST запроса следует указать ключ доступа к веб-сервису.

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

Вот пример отправки csv файла в наш облачный сервис через PHP скрипт.

<spoiler|PHP-код> Разместите этот код в файле service.php

<?php
 
$url = 'http://datacollector.lineris.ru:8080/masterdata/csv/';
$key = '3220eb24-e0f8-4b45-a481-638719cbe7f1';
 
$maxsize = '100000'; //Ограничение размера csv файла в байтах
 
 
if (isset($_FILES['file']['tmp_name']) && !empty($_FILES['file']['tmp_name']))
{
 
    if ($_FILES['file']['size'] <= $maxsize)
    {
       $upload = file_get_contents($_FILES['file']['tmp_name']);  
 
       $headers = array();
 
       $headers[] = 'Content-type: text/csv';
       $headers[] = 'access-key: '.$key;
 
       $ch = curl_init();  
       curl_setopt($ch, CURLOPT_URL, $url);  
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
       curl_setopt($ch, CURLOPT_POST, 1);  
       curl_setopt($ch, CURLOPT_POSTFIELDS, $upload);  
       curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); 
       curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);  
       $output = curl_exec($ch);   
       $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 
       if ($output)
       {
 
        if ($http_code == 200)
        {
          echo(base64_encode($output));
        } else {
          echo('error '.$output);
        }
 
       } else {
           //сервис не ответил
           echo('error Сервис временно не доступен!');
       }
 
    } else {
        //файл слишком большой
        echo('error Файл слишком большой');
    }
 
} else {
    //нет файла
    echo('error Вы не отправили файл');
}
?>

</spoiler>

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

В ответ веб-сервис вернет PNG изображение QR кода, который следует сканировать приложением Облачный ТСД.

Для имитации отправки собранных в виде файла в настройках мобильного приложения Облачный ТСД в разделе Веб-служба передачи данных следует включить опцию Самостоятельная отправка и настроить URL веб-службы и Ключ доступа.

По-умолчанию эти параметры настроены на нашу облачный веб-сервис с демонстрационным ключом доступа

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

По ссылке открывается текстовый документ в формате csv:

barcode,quantity
2003637860748,1
2200000000163,2
2200000000170,1
2200000000361,1
2200000000453,1
2200000000682,1
7930042580136,1
cloudterminal/csv.1545997509.txt.gz · Последнее изменение: 2018/12/28 11:45 — kuld

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki