Обмен между MultiMag и 1C
Описывается формат версии 1.2. Предыдущие версии устарели и не поддерживаются.
Обмен осуществляется при помощи POST запросов по протоколам http или https с url /1c_sync.php.
Для аутентификации используются параметры login и password. Соответствующий пользователь должен иметь привилегии на обмен с 1с.
Направление синхронизации определяет параметр mode:
- mode=export - Экспорт
- mode=import - Импорт
Экспорт
Параметры экспорта
- start_date - Дата начала периода для полной синхронизации. Не указывается при частичной синхронизации. Текущая дата по умолчанию.
- end_date - Дата окончания периода для полной синхронизации. Не указывается при частичной синхронизации. Текущая дата по умолчанию.
- format - формат выгрузки. Допустимые варианты - xml (по умолчанию) и json. Выгрузка в XML содержит проблемы, устарела, не рекомендуется к использованию, и будет удалена в следующих версиях.
- partial_time - <timestamp> предыдущей успешной синхронизации. 0 по умолчанию - полная синхронизация.
- doc_types[] - типы документов для синхронизации. Наименования типов - см в структуре XML. По умолчанию - если не задано - все типы документов.
- refbooks[] - типы справочников для синхронизации, в соответствии со структурой XML. По умолчанию - если не задано - все справочники.
Импорт
Импортировать можно из файла, либо из строки. Допустимо указывать лишь 1 параметр.
- xmlfile - Импортируемый файл.
- xmlstring - Строка с XML файлом.
Ответ при импорте - файл со статусом и идентификаторами новых элементов.
Структура файла обмена multimag <-> 1c
Условные обозначения:
- N - Целое число (int). Может быть null.
- F - Число с плавающей точкой (double)
- D - Число с фиксированной точкой. Например D10.2 - decimal(10,2)
- S - строка
- B - Флаг, принимает значения 0 или 1
кодировка utf-8, версия формата 1.2
- <multimag_exchange version='1.2'> - корневой элемент. При обмене необходимо проверять соответствие версии во избежание ошибок при обмене.
- <result> - Результат выполнения запроса синхронизации
- <status> - Статус выгрузки
ok - Выгрузка завершилась успешно err - Выгрузка завершилась с ошибкой
- <message> - Текстовое сообщение об успешной или ошибочной выгрузке
- <timestamp> - unixtime выгрузки. Нужен для частичной синхронизации.
- <status> - Статус выгрузки
- <refbooks> - справочники
- <firms> - собственные организации.
- <firm id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <type> - Вид: 'ip'=>'ИП', 'ooo'=>'ООО', 'pao'=>'ПАО', 'fl'=>'Физ.лицо','alt'=>'Другое'
- <name> - Название организации. Обязательный параметр.
- <director> - ФИО директора
- <manager> - ФИО менеджера
- <buhgalter> - ФИО бухгалтера
- <kladovshik> - ФИО кладовщика
- <address> - Юридический адрес
- <realaddress> - Почтовый адрес
- <storesender> - Данные грузоотправителя
- <phone> - Номер телефона
- <okpo> - ОКПО
- <nds> - Ставка НДС по умолчанию
- <regnum> - Регистрационный номер
- <regdate> - Дата регистрации
- <pricecoeff> Ценовой коэффициент организации
- <no_retailprices> - Не использовать розничные цены
- <leader_post> - Должность руководителя
- <leader_post_r> - Должность руководителя в родительном падеже
- <director_r> - ФИО руководителя в родительном падеже
- <leader_reason> - Основание деятельности руководителя
- <leader_reason_r> - Основание деятельности руководителя в родительном падеже
- <storekeeper_id> - ID пользователя-кладовщика
- <storekeeper_post> Должность кладовщика
- <store_lock> - Ограничить своими складами
- <bank_lock> - Ограничить своими банками
- <till_lock> - Ограничить своими кассами
- <stores> - Справочник складов
- <store id=N firm_id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Название склада. Обязательный параметр.
- <dnc> - Флаг запрета контроля остатков. Если установлен — разрешено списание товаров в минус.
- <firm_id> — идентификатор организации, которой принадлежит склад. Необязательный атрибут. Если задан — другие организации не могут работать с этим складом.
- <tills> - Справочник касс
- <till id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Название кассы. Обязательный параметр.
- <firm_id> — идентификатор организации, которой принадлежит касса. Необязательный атрибут. Если задан — другие организации не могут работать с этой кассой.
- <till id=N> Элемент справочника.
- <banks> - Справочник касс
- <bank id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Название банка. Обязательный параметр.
- <bik> - БИК банка
- <rs> - Расчётный счёт в банке
- <ks> - Корр. Счёт банка
- <firm_id> — идентификатор организации, которой принадлежит банк. Необязательный атрибут. Если задан — другие организации не могут работать с этим банком.
- <bank id=N> Элемент справочника.
- <prices> - Справочник цен
- <price id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Название цены. Обязательный параметр.
- <type> - Тип наценки. pp — процентная наценка, abs — абсолютная наценка, fix — фиксированная цена
- <value> - Значение наценки
- <accuracy> - Точность округления. Число показывает, до какого знака после точки округлять. Отрицательные значения — до какого знака до точки округлять.
- <direction> - направление округления. 1 — вверх, 0 — к ближайшему, -1 — вниз
- <price id=N> Элемент справочника.
- <workers> - Справочник сотрудников
- <worker id=N> Элемент справочника.
id — уникальный числовой идентификатор, совпадающий с id пользователя. Обязательный атрибут.
- <worker> - Флаг доступности сотрудника для выбора в документах.
- <worker_email> - Служебный email сотрудника
- <worker_jid> - Служебный JID сотрудника
- <worker_phone> - Служебный телефон сотрудника
- <worker_real_name> - ФИО сотрудника
- <worker_real_address> - Служебный адрес сотрудника
- <worker_post_name> - Должность сотрудника
- <worker id=N> Элемент справочника.
- <credit_types> - Виды расходов
- <type id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <account> - Код соответствующего счёта бухгалтерского учета
- <name> - Наименование
- <codename> - Кодовое наименование. Все значения, отличные от пустой строки, должны быть уникальны. Используется для поиска в сценариях и отчётах.
- <type id=N> Элемент справочника.
- <debit_types> - Виды доходов
- <type id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <account> - Код соответствующего счёта бухгалтерского учета
- <name> - Наименование
- <adm> - Флаг административного расхода
- <r_flag> - Флаг расхода на возврат товара
- <codename> - Кодовое наименование. Все значения, отличные от пустой строки, должны быть уникальны. Используется для поиска в сценариях и отчётах.
- <type id=N> Элемент справочника.
- <delivery_types> - Типы доставки
- <type id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Наименование
- <min_price> - Минимально разрешенная сумма заказа
- <service_id> - ID соответствующей услуги
- <description> - Описание
- <type id=N> Элемент справочника.
- <delivery_regions> - Типы доставки
- <region id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Наименование
- <price> - Стоимость доставки
- <description> - Описание
- <region id=N> Элемент справочника.
- <agents> - Справочник агентов
- <groups> - Группы агентов
- <group id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <parent_id> — Идентификатор родительской группы. Если N==0 или N==null — то группа корневая
- <name> - Название группы. Обязательный параметр.
- <comment> - Описание группы
- <group id=N> Элемент справочника.
- <items> - Элементы справочника агентов
- <item id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <group_id> — Идентификатор группы, в которую входит элемент.
- <type> - Тип агента. ul — юридическое лицо, fl — физическое лицо, nr — не резидент.
- <name> - Краткое наименование
- <fullname> - Полное наименование
- <address> - Юридический адрес для юр.лица, адрес прописки для физ.лица
- <real_address> - Почтовый адрес
- <inn> - ИНН
- <kpp> - КПП
- <leader_name> - ФИО руководителя юр.лица
- <leader_post> - Должность руководителя юр.лица
- <leader_reason> - Основание для занимаемой должности руководителя юр.лица
- <cpreson_fio> - ФИО контактного лица юр.лица
- <cperson_post> - должность контактного лица юр.лица
- <okved> - ОКВЭД
- <okpo> - ОКПО
- <ogrn> - ОГРН
- <passport_num> - Номер паспорта физ.лица
- <passport_date> - Дата выдачи паспорта физ.лица
- <passport_source_info> - Кем выдан паспорт физ.лица
- <comment> - Комментарий
- <revision_date> - Дата последней бухгалтерской сверки
- <dishonest> - Отметка *недобросовестный агент*
- <p_agent_id> - Идентификатор агента-предка (для групп компаний)
- <price_id> - Идентификатор цены по умолчанию для агента
- <contacts> - Контактные сведения
- <contact> - Элемент контактных сведений
- <type> - тип контактной информации. Варианты: phone - номер телефона, email - адрес электроной почты, jabber - XMPP адрес в jabber сети (JID), sip - номер sip телефона, icq, skype. Обязательный атрибут.
- <context> - контекст использования. 'home' => 'Домашний', 'work' => 'Рабочий', 'mobile'=> 'Мобильный'
- <person_name> - ФИО контактного лица
- <person_post> - должность контактного лица
- <for_sms> - Флаг, информирующий о возможности приёма SMS на номер.
- <for_fax> - Флаг, информирующий о возможности приёма факсимильных сообщений на номер.
- <no_ads> - Флаг, информирующий о запрете отправки рекламно-информационных сообщений на адрес (номер, идентификатор).
- <value> Значение элемента - соответствующий адрес (номер, идентификатор).
- <contact> - Элемент контактных сведений
- <bank_details> - Банковские реквизиты
- <item> - Элемент реквизитов
- <name> - Название банка. Обязательный параметр.
- <bik> - БИК банка
- <rs> - Расчётный счёт в банке
- <ks> - Корр. Счёт банка
- <item> - Элемент реквизитов
- <item id=N> Элемент справочника.
- <groups> - Группы агентов
- <nomenclature> - Справочник номенклатуры
- <groups> - Группы номенклатуры
- <group id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <parent_id> — Идентификатор родительской группы. Если N==0 или N==null — то группа корневая
- <name> - Название группы. Обязательный параметр.
- <generated_name> - Генерируемое имя для печатных форм. Только для чтения.
- <comment> - Описание группы
- <group id=N> Элемент справочника.
- <items> - Элементы справочника номенклатуры
- <item id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <group_id> — Идентификатор группы, в которую входит элемент.
- <type> - Тип элемента. 0 - товар, 1 - услуга
- <name> - Краткое наименование. Обязательный параметр. Должен быть уникальным в группе.
- <vendor_code> - Код производителя, артикул
- <country_id> - id страны происхождения
- <vendor> - Наименование изготовителя
- <base_price> - Базовая цена
- <unit_id> - id единицы измерения
- <warranty> - Гарантийный срок
- <warranty_type> - Тип гарантии. 0 - от продавца, 1 - от изготовителя
- <create_time> - Дата создания наименования. Y-m-d H:i:s
- <mult> - Кратность. Количество в неделимой упаковке.
- <bulkcnt> - Количество оптовой продажи
- <mass> - Масса единицы товара
- <comment> - Комментарий
- <stock> - Флаг распродажи
- <hidden> - Флаг скрытия
- <nds> - Размер ставки НДС. Если не задан - используется ставка организации по умолчанию.
- <no_export_yml> - Запрет экспорта группы в Яндекс.YML
- <eol> - Флаг снятия с поставки
- <meta_description> - Мета-описание, содержимое мета-тэга meta_description
- <meta_keywords> - Ключевые слова. Содержимое мета-тэга keywords
- <title_tag> - Текст заголовка страницы товара
- <analog_group> - Имя группы аналогов
- <prices> - Список переопределенных цен
- <price> - Элемент списка
- <price_id> - Идентификато переопределяемой цены
- <type> - Тип наценки. pp — процентная наценка, abs — абсолютная наценка, fix — фиксированная цена
- <value> - Значение наценки
- <accuracy> - Точность округления. Число показывает, до какого знака после точки округлять. Отрицательные значения — до какого знака до точки округлять.
- <direction> - направление округления. 1 — вверх, 0 — к ближайшему, -1 — вниз
- <price> - Элемент списка
- <params> - Динамические параметры номенклатуры
- <param>
- <raw_value> - Сырое значения параметра
- <int_value> - Целое представление значения
- <double_value> - Представление с плавающей точкой
- <text_value> - Текстовое представление значения
Информация: разные варианты хранения значений используются для упрощения фильтрации данных по нужным параметрам
- <param>
- <attachments> - Прикреплённые файлы
- <attachment> - Элемент списка
- <attachment_id> - ID прикреплённого файла
- <attachment> - Элемент списка
- <images> - Прикреплённые изображения
- <image> - Элемент списка
- <img_id> - ID изобрадения
- <default> - Флаг изображения по умолчанию
- <image> - Элемент списка
- <parts> - Комплектующие
- <part id=N> - Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <kompl_id> - ID номенклатуры
- <cnt> - Количество
- <part id=N> - Элемент справочника.
- <item id=N> Элемент справочника.
- <groups> - Группы номенклатуры
- <pos_links> - Связи номенклатуры
- <link id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <pos1_id> - ID первой позиции в связке
- <pos2_id> - ID второй позиции в связке
- <link id=N> Элемент справочника.
- <pos_params> - Виды динамических свойств номенклатуры
- <param id=N>
id — уникальный числовой идентификатор. Обязательный атрибут.
- <group_id> - Id группы параметров
- <name> - Отображаемое наименование параметра
- <codename> - Кодовое наименование параметра. Все значения, отличные от пустой строки, должны быть уникальны. Используется для поиска параметра в сценариях и отчётах.
- <type> - Тип данных. Варианты: 'text' => 'Текстовый', 'int' => 'Целый', 'bool' => 'Логический', 'float' => 'С плавающей точкой'
- <unit_id> - ID единицы измерения. Может быть null
- <hidden> - Флаг скрытия параметра. Скрытые параметры не видимы на витрине.
- <ym_assign> - Код с яндекс-маркета. Используется для загрузки и выгрузки данных.
- <secret> - Флаг скрытия параметра. Скрытые параметры не доступны без соответствующих привилегий.
- <param id=N>
- <pos_param_groups> - Группы видов динамических параметров номенклатуры
- <group id=N>
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Наименование группы
- <group id=N>
- <pos_pcollections> - Коллекции динамических свойств номенклатуры
- <collection id=N>
id — уникальный числовой идентификатор. Обязательный атрибут.
- <name> - Наименование коллекции
- <params> - Параметры, входящие в колелкцию
- <param>
- <param_id> - ID параметра, входящего в коллекцию
- <param>
- <collection id=N>
- <store id=N firm_id=N> Элемент справочника.
- <firm id=N> Элемент справочника.
id — уникальный числовой идентификатор. Обязательный атрибут.
- <firms> - собственные организации.
- <documents> - документы
- <document id=N> Документ
- <type> - Тип документа. Варианты:
- 'postuplenie' - Поступление товаров и услуг со счётом-фактурой
- 'realizaciya' - Реализация товаров и услуг со счётом-фактурой
- 'zayavka' - Заявка покупателя
- 'pbank' - Приходный банковский ордер
- 'rbank' - Расходный банковский ордер
- 'pko' - Приходный кассовый ордер
- 'rko' - Расходный кассовый ордер
- 'peremeshenie' - Перемещение товаров
- 'perkas' - Перемещение средств
- 'doveren' - Доверенность
- 'redlojenie' - Предложение поставщика
- 'v_puti' - Товар в пути
- 'kompredl' - Коммерческое предложение
- 'dogovor' - Договор
- 'realiz_op' - Оперативная реализация
- 'specific' - Спецификация
- 'sborka' - Сборка товаров
- 'kordolga' - Корректировка долга агента
- 'korbonus' - Корректировка бонусов агента
- 'realiz_bonus' - Реализация за бонусы
- 'zsbor' - Заявка на сборку
- <agent_id> - id агента
- <date> - Дата и время документа Y-m-d H:i:s
- <ok> - Флаг и дата проведения документа
- <store_id> - id склада
- <till_id> - id кассы
- <bank_id> - id банка
- <author_id> - id автора документа
- <altnum> - Номер документа
- <subtype> - Подтип документа
- <sum> - Сумма документа
- <nds> - Флаг *включать или выделять НДС*
- <parent_doc_id> - id документа - предка
- <mark_del> - Флаг и дата пометки на удаление
- <firm_id> - id собственной организации
- <contract_id> - id договора
- <comment> - Комментарий
- <payer_id> - id агента плательщика
- <consignee_id> - id агента грузополучателя
- <storekeeper_id> - id сотрудника-кладовщика
- <packages_cnt> - Кол-во мест
- <price_id> - id цены
- <trusted_preson_id> - id доверенного агента
- <trust_num> - номер доверенности
- <trust_date> - дата выдачи доверенности
- <positions> - Список номенклатуры документа
- <position id=N> Элемент номенклатуры документа. ID - уникальный номер строки номенклатуры документа.
- <pos_id> - id номенклатурной позиции
- <cnt> - Количество
- <price> - Цена
- <gtd> - Номер таможенной декларации. Только для поступления.
- <comm> - Комментарий
- <page_id> - Страница номенклатурной таблицы (для документов с несколькими таблицами)
- <position id=N> Элемент номенклатуры документа. ID - уникальный номер строки номенклатуры документа.
- <type> - Тип документа. Варианты:
- <document id=N> Документ
- <counters> - Значения счётчиков на начало запрошенного периода
- <nomenclature> - Складские остатки
- <pos id=N> - ID наименования
- <store id=N>F</store> - Количество F наименования на складе N
- <pos id=N> - ID наименования
- <debts> - Задолженности агентов
- <agent id="1"> Код контрагента
- <firm id="N">F</firm> - Остаток F по дебету фирме N
- <agent id="1"> Код контрагента
- <nomenclature> - Складские остатки
- <result> - Результат выполнения запроса синхронизации