Обмен данными

В качестве формата обмена данными используется XML формат. Для того чтобы выгрузить данные из вашей системы в DIP+ необходимо выгрузить данные из вашей программы в определенном формате в файл. Затем загрузить файл в вашу инсталляцию DIP+ через меню "Импорт данных". Выберите ваш файл и нажмите загрузить. После этого необходимо отметить опции для выгрузки данных и нажать "Начать импорт". Если формат данных соответствует требуемым загрузка пройдет успешно и вы получите сообщение что данные успешно импортированны. Если произошли какие-то ошибки то программы напишет в чем именно проблема.
Также вы можете автоматизировать выгрузку данных без использования формы. Для того чтобы выполнить действия необходимо выполнить следующие действия:

1. Авторизация

Hеобходимо послать POST запрос на адрес https://dip.plus/(идентификатор вашей компании)/dp/loginremote. Параметры: username - имя пользователя, password - пароль.

В результате вы получить ответ сервера в формате JSON:

{ status: 0, message: 'done' }

Если авторизация прошла успешно, то статус будет 0. В противном случае будет статус не нулевой и в message будет указано сообщение об ошибке.

2. Загрузка файла

Для загрузки данных необходимо послать запрос POST формат multipart на адрес: https://dip.plus/(иденитификатор вашей компании)/dp/import/upload. Файл долже быть в параметре file.

По завершению загрузки сервер ответит результат загрузки в формате JSON:

{ status: 0, message: 'done' data: { format: 'Short (attributes)', bpCount: 1, contactCount: 2, igCount: 3, itemCount: 4, payCount: 5 } }

Если загрузка прошла успешно и файл может быть импортирован и соответствует формату то status будет равен 0. В противном случае status будет не нулевой а также будет указаны ошибки в параметре message.
Если загрузка прошла успешно в объекте data будет описана краткая информация о том что будет импортированно из загруженного файла.

  • bpCount - количество контрагентов;
  • contactCount - количество контактов;
  • igCount - количество групп товаров/услуг;
  • itemCount - количество товаров/услуг;
  • payCount - количство входящих платежей.

3. Выполнить импорт

Для того чтобы выполнить импорт загруженного файла необходимо послать POST запрос на адрес https://dip.plus/(идентификатор вашей компании)/dp/import/process.
Также необходимо передать следующие параметры:

  • importBusinessPartners - если on будет выполен импорт контрагентов.
  • matchBusinessPartnersByNames - если on будет произведено объединение контрагентов по наименованию.
  • importAsNewIfBusinessPartnerNotFound - если on будет создан новый контрагент если не найден по коду.
  • updateIfBusinessPartnerCodeExist - если on информация будет обновлена для контрагента если найден по коду.
  • importContacts - если on будет выполен импорт контактов.
  • matchContactsByName - если on будет выполено объединение контактов по полному имени.
  • importAsNewIfContactNotFound - если on будет создаваться новый контакт если не найден по коду.
  • updateIfContactCodeExist - если on будет выполено обновление информации о контакте если найден по коду.
  • importItemGroups - если on будет выполен импорт групп товаров/услуг.
  • updateIfItemGroupCodeExist - если on будет выполено обновление наименования группы товаров/услуг.
  • importItems - если on будет выполен импорт товаров/услуг.
  • updateIfItemCodeExist - если on будет выполено обновление информации по товару если найден по коду.

По завершении будет получен ответ от сервера в формате JSON:

{ status: 0, message: 'done', error: [ ] }

Если импорт прошел успешно параметр status будет равен 0, в противном случае status будет не нулевой. В параметре message будет указано что произошла ошибка. В параметре error будет список строк соощения об ошибках которые произошли в процессе импорта и которые необходимо исправить.

Формат файла данных (XML)

Корневой элемент XML документа <data> в этом элементе необходимо указать формат данных атрибутом shortFormat="false / true ". Если короткий формат данных указан true в таком случае значения полей будут извлекаться из атрибутов элементов документа.
<businesspartner> - данный тэг предназначен для импортирования данных о контрагенте. Для каждого контрагента отдельный элемент. Обязательными параметрами являются параметры code и name, где code - это код контрагента во внешней системе из которой экспортируют данные, name - наименование контрагента.

  • <alias> - алтернативное наименование контрагента
  • <address> - адрес
  • <zip> - почтовый индекс
  • <city> - город
  • <country> - страна. Если указана страна которой нет в базе данных, страна будет добавлена автоматически
  • <country> - веб-сайт компании
  • <longitude><latitude> - координаты для отображения локации на карте
  • <info> - Общая информация о контрагенте

В DIP+ контрагент также имеет параметры как тип контрагента, а также менеджер 1 и 2. По умолчанию менеджер 1 записывается как текущий пользователь. Менеджер 2 и Тип контрагента не заполняется.

Пример форматирования контагента в XML:

<data shortFormat = "false"> <businessparther> <code>1</code> <name>ООО "Компания изменилось наименование"</name> <alias>Компания</alias> <address>Ленский проспект 123</address> <zip>196123</zip> <city>Санкт-Петербург</city> <country>Russian Federation</country> <website>http://company.com</website> <longitude>1.2345</longitude> <latitude>1.2345</latitude> <info>Дополнительная информация о контрагенте</info> </businessparther> </data>

<contact> - данный тэг предназначен для импортирвания данных о контактах контрагента. Для каждого контакта должен быть отдельный элемент. Обязательным параметрами контакта являются code - код контакта во внешней системе, name - полное имя контакта, businesspartner - код контрагента во внешней системе из которой происходит экспорт. Если контрагент на момент обработки импорта не будет найден то данный контакт не будет загружен в DIP+

  • <code> - код контакта
  • <name> - полное имя
  • <businesspartner> - контрагент
  • <position> - должность
  • <email> - может быть указано один или несколько адресов через запятую
  • <phone> - может быть указано один или несколько телефонов через запятую. Номер должен быть в формате +79998887766.

Пример форматирования контагента в XML:

<data shortFormat = "false"> <contact> <code>1</code> <name>Иван Иванов</name> <position>Директор</position> <businesspartner>1</businesspartner> <email>directory@company.com</email> <phone>+79218765432</phone> </contact> </data>

<itemgroup> - данный тэг предназначен для импортирвания групп товаров/услуг. Для каждой группы должен быть отдельный элемент. Обязательным параметрами группы являются code - код группы во внешней системе, name - наименование группы.

  • <code> - код группы товаров/услуг
  • <name> - наименование группы

Пример форматирования групы товаров/услуг в XML:

<data shortFormat = "false"> <itemgroup> <code>1</code> <name>Обородувание</name> </itemgroup> </data>

<item> - данный тэг предназначен для импортирвания товаров/услуг. Для каждого товара/услуги должен быть отдельный элемент. Обязательным параметрами товара/услуги являются code - код товара во внешней системе, name - наименование товара.

  • <code> - код товаров/услуг
  • <name> - наименование
  • <group> - код группы
  • <description> - подробное описание товара/услуги

Пример форматирования товаров/услуг в XML:

<data shortFormat = "false"> <item> <code>1</code> <name>Электродрель</name> <group>Электродрель</group> <description>Описание товара/услуги</description> </item> </data>

Опции импорта данных

  • Импортировать контрагентов
    Если отмечен данный пункт будут произведена загрузка данных по контрагентам из загруженного файла. Если пункт не отмечен, даже если контрагенты были выгружены в файл, они будут проигнорированны.
  • Объединять контрагентов по наименованию
    В случе если не удалось найти среди существующих контрагентов по коду при загрузке данных, можно отметить этот пункт. В этом случае будет произведен поиск по наименованию контрагента. Обязательное требование чтоб наименование порядок слов совпадал с наименованием в выгружаемом файле. Пример: ООО "Компания АБВ", в файле наименование ООО (КомпанияАБВ), в таком случае будет выполнено объединение и назначен код.
  • Создавать нового контрагента если не найден по коду
    Если отмечен данный пункт, будет создаваться новый контрагент если не найден среди существующих. Если отключить пункт то контрагенты которые не найдены по коду будет игнорироваться.
  • Обновлять информацию по контрагенту если найден по коду
    Если отмечен данный пункт, при этом если контрагент найден по коду, можно обновлять информацию по нему в случае если она изменилась. Если данный пункт не отмечен, то контрагенты найденые по коду будут игнорироваться.
  • Импортировать контакты
    Если отмечен данный пункт буду импортированны контакты из загруженного файла. Если данный пункт не отмечен, контакты не будут загружены в DIP+ даже если они выгружены в файле.
  • Объединять контакты по полному имени
    В случае если контакт не найден по коду, при этом отмечен данный пункт, будет произведен поиск по полному имени, аналогично контрагентам.
  • Создавать новый контакт если не найден по коду
    Если отмечен данный пункт будет создаваться новый контакт если не найден по коду.
  • Обновлять информацию по контакту если найден по коду
    Обновлять информацию по контакту если найден по коду
  • Импортировать группы товаров/услуг
    В случае если отмечен данный пункт будут загружены группы товаров/услуг.
  • Обновлять наименование группы если найден по коду
    Если отмечен данный пункт наименование группы будет обновлено если группа найден по коду.
  • Импортировать товары/услуг
    Если отмечен данный пункт, будут загружены товары/услуги.
  • Обновлять товары/услуги если найден по коду
    Если отмечен данный пункт информация о товаре будет обновлена если группа найден по коду.

Интеграция с 1С

Мы предлагаем установить специализированный модуль в 1С который обеспечивает синхрнизацию данных по контрагентам, контактам, товарам и услугам с DIP+

img1

Остались вопросы?

Если вы не нашли нужную информацию, наша команда будет рада помочь вам!

up

Скачайте мобильное приложение