Обмен с интернет-магазином на платформе DOCPART

17.02.24

Интеграция - Сайты и интернет-магазины

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

Текущая версия больше не актуальна и не поддерживается. См. Документацию для получения актуальной информации - Полная документация по методам Docpart 1C API

Для продажи автозапчастей в интернете уже сделано немало готовых платформ. Какие-то распространяются по ежемесячной подписке. Другие можно купить и установить на своем сервере. Платформа Docpart выгодно отличается на фоне конкурентов низкой стоимостью и необходимым функционалом для открытия своего интернет-магазина. Функционально она в чем-то уступает более именитым конкурентам, но далеко не все пользователи используют функционал интернет-магазина "по полной".  Платформа потихоньку обрастает новыми функциями и становится чуть-чуть лучше с каждым обновлением. Открытость кода позволяет дорабатывать необходимый функционал самостоятельно не "подсаживаясь" на сервисную поддержку производителя. 

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

Работа с сервисом

Для использования API необходимо установить модули из архива docpart_1c_api.zip на ваш веб-сервер. Для примера, скопируем все модули в каталог /api/agent_1c.

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

Работа с веб-сервисом осуществляется посредством отправки POST-запросов к входной точке веб-сервиса, которой является скрипт execute.php с передачей необходимого метода и параметров. В ответ будут возвращены необходимые данные. 

Для использования API версия платформы 1С значения не имеет. Работать будет с любой учетной системой для которой есть возможность отправки POST-запроса и обработки его результата. 

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

http://мой-магазин.рф/api/agent_1c/execute.php

Для запросов обязательна передача заголовка

content-type: application/x-www-form-urlencoded

В теле POST-запроса есть два общих для всех методов параметра:

  • task – имя метода API для выполнения
  • tech_key – Ключ для вызова скриптов. Его необходимо взять из панели управления платформы Docpart в разделе «Настройки».

При вызове любого метода будет возвращена JSON-структура с полями

  • status – Булево – статус выполнения метода
  • message – Строка – Сообщение об ошибке
  • data – Результат выполнения метода

Пример вызова метода для платформы 8.3 (8.3.5+):

Процедура ВыполнитьЗапросDocpartAPI()
	
	//Изменить параметры на свои значения
	АдресСайта = "мой-магазин.рф";	
	ТелоЗапроса = "tech_key=TESTKEYTECH&task=check_connection";
	ПротоколHTTPS = Истина;
	
	//Вызов метода API
	Если ПротоколHTTPS Тогда
		ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
		ПодключениеКСерверу = Новый  HTTPСоединение(АдресСайта,,,,,30, ЗащищенноеСоединение);	
	Иначе		
		ПодключениеКСерверу = Новый  HTTPСоединение(АдресСайта,,,,,30);	
	КонецЕсли;
	
	ОтветСервера = Неопределено;
	Если ПодключениеКСерверу = Неопределено Тогда
		ОбщегоНазначения.СообщитьОбОшибке("Обмен с WEB-сайтом: ошибка подключения к сайту: "+ОписаниеОшибки());		
		Возврат ;
	КонецЕсли;
	
	СтрокаПодключения = "api/agent_1c/execute.php";	
	ЗаголовокHTTP = Новый Соответствие;
	ЗаголовокHTTP.Вставить("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");		
	ЗапросHTTP =  Новый HTTPЗапрос(СтрокаПодключения, ЗаголовокHTTP);
	ЗапросHTTP.УстановитьТелоИзСтроки(ТелоЗапроса,КодировкаТекста.ANSI);
	Попытка
		РезультатЗапроса = ПодключениеКСерверу.ОтправитьДляОбработки(ЗапросHTTP);
		ОтветСервера	= РезультатЗапроса.ПолучитьТелоКакСтроку();	
	Исключение
		ОбщегоНазначения.СообщитьОбОшибке("Обмен с WEB-сайтом: ошибка отправки данных на сервер: "+ОписаниеОшибки());		
	КонецПопытки;
	
	Если НЕ ЗначениеЗаполнено(ОтветСервера) Тогда
		Возврат;
	КонецЕсли;
	
	//JSON ENCODE
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ОтветСервера);
	Результат = ПрочитатьJSON(Чтение, Истина); //Структура запроса для дальнейшей обработки
	Чтение.Закрыть();
	
	//Обрабатываем дальнейший результат
	Если Результат["status"] Тогда
		ОбщегоНазначения.Сообщение("Связь с сайтом установлена");
	Иначе
		ОбщегоНазначения.Сообщение("Ошибка связи с сайтом: "+Результат["message"]);
	Конецесли;
	
КонецПроцедуры

Пример работы с веб-сервисом

Обработка тестировалась на платформе 8.3.5 но должна работать и на более ранних версиях. В настройках обработки необходимо прописать адрес Вашего сайта и ключ доступа. Адрес скрипта на сервере можно менять по-своему усмотрению, тогда необходимо изменить соответствующую настройку.  

Для повышения безопасности на Вашем веб-сервере можно настроить HTTP-авторизацию для доступа к каталогу с модулем API. Тогда в настройках необходимо указать логин и пароль для доступа. 

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

 

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

    СтруктураФильтров = Новый Структура;
	Если ЗначениеЗаполнено(НачалоПериодаОплаты) Тогда
		СтруктураФильтров.Вставить("НачалоПериода", НачалоПериодаОплаты);
	КонецЕсли;
	Если ЗначениеЗаполнено(КонецПериодаОплаты) Тогда
		СтруктураФильтров.Вставить("КонецПериода", КонецПериодаОплаты);
	КонецЕсли;
	Если ЗначениеЗаполнено(КодОперации) Тогда
		СтруктураФильтров.Вставить("КодОперации", КодОперации);
    КонецЕсли;
    	
	ТаблицаОплат = ПолучитьОплатыПокупателей(СтруктураФильтров);//Вызываем метод из модуля обработки

ВНИМАНИЕ: Обработка только возвращает данные с сайта. Сохранение данных для своей конфигурации необходимо реализовывать самостоятельно! Позже планируется добавить полноценную интеграцию для типовых конфигураций. 

Методы API

Проверка соединения с сервисом

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

Операция: check_connection

Параметры запроса:

Параметр

Пример заполнения

Описание

tech_key *

TEST_KEY_FROM_SETTINGS

Строка – Ключ для вызова скриптов

 

Для проверки связи с веб-сервисом предназначен метод check_connection. При успешном выполнении метод возвращает ответ:

Поле

Описание

status

Булево – статус выполнения метода

 

message

Строка – всегда возвращает текст «ОК»

 

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

Метод возвращает список заказов, соответствующих отбору.

Операция: get_orders

Параметры запроса:

Параметр

Пример заполнения

Описание

tech_key *

TEST_KEY_FROM_SETTINGS

Строка – Ключ для вызова скриптов

time_from *

10.01.2019

Дата – Начало периода получения заказов

time_to

12.01.2019

Дата – Окончание периода получения заказов

order_id

10

Идентификатор заказа

status

2

Идентификатор статуса заказа

paid

1

Состояние оплаты заказа (0/1)

 

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

Поле

Описание

status

Булево – статус выполнения метода

 

message

Строка – всегда возвращает текст «ОК»

data

Запрашиваемые данные

 

При успешном выполнении метод возвращает данные [data]:

Поле

Описание

order_id

Число – Идентификатор заказа

time

Дата – Дата и время оформления заказа

 

user_id

Число – Идентификатор пользователя

amount

Число – Сумма заказа

paid

Число – Состояние оплаты (0/1)

status

Число – Идентификатор статуса заказа

obtain_id

Число – Идентификатор способа доставки

obtain_caption

Строка – Наименование способа доставки

office_id

Число – Идентификатор офиса самовывоза

office_name

Строка – Офис самовывоза

 

Получение списка позиций заказов

Метод возвращает список товаров заказов, выбранных заказов.

Операция: get_orders_items

Параметры запроса:

Параметр

Пример заполнения

Описание

tech_key *

TEST_KEY_FROM_SETTINGS

Строка – Ключ для вызова скриптов

order_id

10

Число / Массив чисел - Идентификаторы заказов

 

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

Поле

Описание

status

Булево – статус выполнения метода

 

message

Строка – всегда возвращает текст «ОК»

data

Запрашиваемые данные

 

При успешном выполнении метод возвращает данные [data]:

Поле Описание

order_id

Число – Идентификатор заказа

item_id

Число – Идентификатор позиции заказа

 

product_name

Строка – Наименование товара каталога. Для товара с product_type=1

brand

Строка – Наименование производителя

article

Строка – Артикул товара

count

Число – Количество

price

Число – Цена

amount

Число – Сумма

product_type

Число – Тип товара: 1 – Товар из каталога в наличии, 2 – Товар из проценки по артикулу

product_id

Число – Идентификатор товара каталога. Для товара с product_type=1

t2_time_to_exe

Дата – Срок доставки. Для товара с product_type=2

t2_time_to_exe_guaranteed

Дата – Гарантированный срок доставки. Для товара с product_type=2

status_id

Число – Идентификатор статуса позиции

status_name

Строка – Наименование статуса позиции

 

Получение информации о пользователе

Метод возвращает расширенную информацию о пользователе.

Операция: get_user_info

Параметры запроса:

Параметр

Пример заполнения

Описание

tech_key *

TEST_KEY_FROM_SETTINGS

Строка – Ключ для вызова скриптов

user_id

15

Число / массив чисел – Идентификатор пользователя

 

Для проверки связи с веб-сервисом предназначен метод check_connection. При успешном выполнении метод возвращает ответ:

Поле

Описание

status

Булево – статус выполнения метода

 

message

Строка – всегда возвращает текст «ОК»

Data

Запрашиваемые данные

 

Структура Data содержит следующие данные

Поле

Описание

user_id

Число –Идентификатор пользователя

 

reg_variant

Число – Выбранный способ регистрации (Из числа описанных в панели управления сайта раздел «Способы регистрации»)

reg_field

Строка – значение главного поля регистрации (Email / Телефон). Задается в настройках платформы: «Главное поле регистрации»

unlocked

Число – Пользователь заблокирован – 0 или нет - 1

activated

Число – Пользователь активировал свою учетную запись – 1 или нет -0.

time_registered

Дата - Дата регистрации пользователя

time_last_visit

Дата – Дата последнего визита пользователя

Дополнительные поля регистрации

Значения регистрационных полей для текущего пользователя

 

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

Получение транзакций оплаты

Метод возвращает список транзакций оплаты проведенных на сайте

Операция: get_payments

Параметры запроса:

Параметр

Пример заполнения

Описание

tech_key *

TEST_KEY_FROM_SETTINGS

Строка – Ключ для вызова скриптов

time_from *

10.01.2019

Дата – Начало периода получения заказов

time_to

15.01.2019

Дата – Окончание периода получения заказов

payment_id

10

Идентификатор транзакции

operation_code

7

Код операции из справочника

income

1

Вид операции: 1 – приход, 0- расход

 

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

Поле

Описание

status

Булево – статус выполнения метода

 

message

Строка – всегда возвращает текст «ОК»

data

Запрашиваемые данные

 

При успешном выполнении метод возвращает данные [data]:

Поле

Описание

payment_id

Число – Идентификатор транзакции

user_id

Число – Идентификатор пользователя

time

Дата / время – Дата и время транзакции

income

Число, Вид операции: 1 – приход, 0- расход

pay_orders

Число, Идентификатор заказа для которого производится оплата

amount

Число, Сумма транзакции

operation_code

Число, Код операции

 

Получение информации об артикуле

Метод возвращает список производителей и наименования товара по его артикулу. Получение данных выполняется с сервера Кроссов Docpart. Для одного артикула может быть возвращено несколько вариантов производителей.

Операция: get_article_info

Параметры запроса:

Параметр

Пример заполнения

Описание

tech_key *

TEST_KEY_FROM_SETTINGS

Строка – Ключ для вызова скриптов

article

24012802171

Строка / массив строк — Артикулы товаров для которых необходимо получить информацию

 

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

Поле

Описание

status

Булево – статус выполнения метода

 

message

Строка – всегда возвращает текст «ОК»

data

Запрашиваемые данные

 

При успешном выполнении метод возвращает данные [data]:

Поле

Описание

article

Строка – Артикул товара

manufacturer

Строка – Производитель

name

Строка — Наименование товара

 

Обновления

UPD 30.05.2020: Версия на инфостарт больше не актуальна и не поддерживается. См. Документацию для получения актуальной информации - Полная документация по методам Docpart 1C API

UPD 30.04.2020: Добавлена документация по всем методам: Полная документация по методам Docpart 1C API

UPD 14.07.2019: Добавлена обработка получения данных для 1С

UPD 20.07.2019: Исправление некоторых замечаний. Изменены имена некоторых параметров и свойств. Для метода get_user_info добавлена возможность передачи массива идентификаторов пользователей. В архив с модулями добавлен файл описания методов API.

UPD 28.07.2019: Получение информации о товарах выделено в отдельный метод - get_orders_items. Добавлен метод для получения информации о товарах - get_article_info. Исправлена обработка для работы с новыми методами. 

обмен с интернет-магазином docpart myast API веб-сервис

См. также

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Поддерживает работу от разных юридических лиц. Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).

22440 руб.

19.12.2023    5172    38    11    

35

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17820    19    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    19915    13    17    

17

СБП. Оплата по QR-коду Сайты и интернет-магазины Программист Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Бухгалтерский учет Управленческий учет Платные (руб)

В настоящее время система СБП очень часто стала использоваться в повседневной жизни. Одна из систем интеграции СБП через СБЕР. Данная конфигурация является инструментом интеграции СБП в Альфа Авто. Данная система не просто формирует статический QR, а динамический, а значит, в системе будет привязка и на покупателя, и на документ.

7200 руб.

25.10.2022    6336    32    4    

10

Сайты и интернет-магазины Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)

Программа позволяет одним кликом настроить сбор цен ваших конкурентов или дилеров в интернете. Автоматически собирает данные результата поиска Яндекса (вам не придется вручную добавлять каждый сайт, за которым нужно следить). Обновление цен происходит по заданному вами расписанию автоматически. Можете легко отслеживать позиции вашего сайта в Яндексе по ключевым словам и фразам. Этот инструмент даст вам лучшее понимание того, как ваша SEO-стратегия влияет на видимость вашего сайта в поисковой выдаче, и поможет вам улучшить контент и структуру сайта для повышения его позиций. Функция доступна во всех тарифах.

19950 руб.

23.09.2019    31048    7    12    

30
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1027863 31.07.19 16:08 Сейчас в теме
Здравствуйте. Вы оказываете техническую консультацию после покупки? Если скрипт не заработает. Спасибо.
2. Johny_v 140 31.07.19 16:15 Сейчас в теме
(1) Добрый день. Да, но только в рамках заявленного функционала.
3. user1277666 06.09.19 15:46 Сейчас в теме
Добрый день! Какая цена данного модуля? с его помощью, я так понимаю, можно настроить двусторонний обмен данными с 1С: выгрузка цен на сайт, выгрузка двусторонняя заказов, смена статусов двусторонняя, выгрузка товаров в каталог наличия docpart и т.д. Верно?
4. Johny_v 140 08.09.19 23:07 Сейчас в теме
Добрый день. Модуль представляет собой веб-сервис, позволяющий настроить обмен сайта и 1с. На данный момент можно только загружать данные с сайта в 1С. Полноценный двухсторонний обмен пока не готов, но его разработка ведётся.
5. user1277666 09.09.19 00:10 Сейчас в теме
(4)
Т.е. выгрузка цен с 1С на сайт еще не работает? когда примерно будет реализовано?
6. Johny_v 140 09.09.19 05:45 Сейчас в теме
Могу доделать, если надо.
7. chipford 05.01.20 14:29 Сейчас в теме
Здравствуйте! как с Вами связаться?
8. Johny_v 140 05.01.20 17:56 Сейчас в теме
(7) Добрый вечер. Ответил в личку.
20. user1508106 13.12.20 14:07 Сейчас в теме
(8)Как с вами связаться и сколько стоит модуль обмена 1-с и docpart?
21. Johny_v 140 13.12.20 20:23 Сейчас в теме
(20) Скайп ниже в комментариях. Другие контакты есть на странице с полной версией документации.
9. пользователь 18.02.20 15:59
Сообщение было скрыто модератором.
...
10. user1364328 18.02.20 19:57 Сейчас в теме
Здравствуйте! как с Вами связаться?
11. Johny_v 140 18.02.20 20:00 Сейчас в теме
(10)Добрый вечер. По всем вопросам можно писать в личку или скайп: emayskiy.
12. bmw1702 30.04.20 17:13 Сейчас в теме
Добрый день. Какая стоимость готовых обработок для обмена данными с сайтом автозапчастей Docpart?
13. Johny_v 140 30.04.20 19:26 Сейчас в теме
14. user1007807 12.05.20 09:41 Сейчас в теме
Добрый день! Сколько стоит готовая обработка и апи модуль для обмена 1с с сайтом Докпарт?
15. Johny_v 140 12.05.20 13:20 Сейчас в теме
16. ASP_SP 11.09.20 17:36 Сейчас в теме
Добрый день!
Не подскажете, в 2019 году вы писали, что в процессе полноценный двухсторонний обмен, получилось сделать?
Не подскажете стоимость готовой обработки и модуля обмена с 1С?
17. Johny_v 140 11.09.20 18:02 Сейчас в теме
(16) Сделал только веб-сервис, который можете сами интегрировать в 1С. До реализации полноценного обмена дело так и не дошло. Есть более приоритетные задачи на основной работе, поэтому нет времени доработку этой интеграции.
18. ASP_SP 11.09.20 18:27 Сейчас в теме
А описание методов сервиса для 1С есть?
Какие данные можно получать?
Сколько стоимость всех модулей?
19. kin51 14.10.20 13:38 Сейчас в теме
Здравствуйте.
Не подскажете стоимость обработки и модуля обмена с 1С?
22. user1553174 27.02.21 18:35 Сейчас в теме
Подскажите пожалуйста стоимость..
23. user1547539 01.03.21 12:46 Сейчас в теме
(22) Здравствуйте Михаил вы связывались с разработчиком?
24. Johny_v 140 01.03.21 22:57 Сейчас в теме
25. user1574530 31.03.21 18:29 Сейчас в теме
Здравствуйте. Подскажите как с вами можно связаться по поводу обмена 1С и Docpart?
26. transport78 03.10.22 17:01 Сейчас в теме
Добрый день! Как с вами связаться по обработке обмена 1С с платформой Docpart?
27. sher_70 22.02.24 10:48 Сейчас в теме
Добрый день! Как с вами связаться по обработке обмена 1С с платформой Docpart? Так же меня интересует возможность подключения прайс листа по ссылке к Докпарт, прайс содержит ссылки на фото, как это все реализовать не понятно
28. Johny_v 140 23.02.24 09:36 Сейчас в теме
Оставьте свое сообщение