Разделы инструкции

Интеграция 1С с ON-LINE new


Сценарий:

Отправка данных производится в формате json

АВТОРИЗАЦИЯ В REST API WEB СЕРВЕРА 1С

Для авторизации используется “Basic HTTP Authentication” при котором в заголовках каждого запроса передается логин и пароль

Пользователь: api_vesta

Пароль: ddT34eTr01

Если логин или пароль не правильный, то в ответ на любой запрос выдается ошибка

{
	"data":{},
	"datetime_response":"2019-02-18 09:43:06",
	"endpoint":"authlist",
	"error":true,
	"error_msg":"403 Неверные имя или пароль!",
	"version":"1.0.0"
}

API ENDPOINT: http://178.238.125.99:80/stl_bp/hs/OnlineLogistics/

ОБМЕН АВР

СОЗДАНИЕ АВР В 1С

При добавлении АВР в 1С происходит проверка суммы профита по грузу в спецификации, в случае если сумма Заявки в 1С не совпадает со спецификацией, то сумма в Заявке обновляется из спецификации.

ПРИМЕР JSON ФАЙЛА, POST ЗАПРОС, ОБЯЗАТЕЛЬНЫЕ ДАННЫЕ

  • avr_id
  • bill_number
  • bill_year
  • date_created
  • supplie_inn
  • client_inn
  • contract_id
  • contract_number
  • contract_date 
  • manager_uid
  • odo_uid
  • specifications
  • specifications.id
  • specifications.cargo_id
  • specifications.base
  • specifications.sum_with_nds
  • specifications.service_date

API_ENDPOINT: http://178.238.125.99:80/stl_bp/hs/OnlineLogistics/addavr/

ПРИМЕР ЗАПРОСА

{

  "avr_id": 0, // уникальный идентификатор АВР в системе онлайн
  "date_created": "", // Дата создания АВР
  "bill_number": "", // Номер АВР - текстовый уникальный номер с уникальностью в рамках года
  "bill_year": "", // год АВР - вместе с bill_number образуют уникальный идентификатор АВР за все время
  "client_id": 0, // Идентификатор Заказчика в онлайне
  "client_id_1s": 0, // Идентификатор Заказчика в 1С
  "client_name": "", // Краткое наименование заказчика
  "client_inn": "", // ИНН заказчика
  "supplie_inn": "", // ИНН поставщика услуги (наша компания)
  "contract_id": 0, // Идентификатор договора в Онлане
  "contract_id_1s" : "", // Идентификатор договора в 1C
  "contract_number" : "", // Номер договора
  "contract_date" : "0000-00-00", // Дата договора
  "date": "", // Дата счета, Счета-фактуры, Реестра
  "date_avr": "", // Дата АВР, в случае, если она отличается от даты счета
  "sum": 0, // Конечная Сумма счета с учетом скидок НДС и всего такого
  "nds": 0, // В т.ч. НДС
  "type_nds": 0, // Тип НДС (0 - не начисляется, 1 - входит в стоимость, 2 - не входит)
  "nds_rate": 0, // Ставка НДС
  "date_send": "", // Дата отправки счета
  "date_pass": "",// Дата доставки (передачи) счета
  "pass_person": "", // Лицо, принявшее счет 
  "status": 0, // Статус (0 - Не подтвержден АВР не подписан Клиеном и не вернулся, 10 - Подтвержден - АВР подписан Клиеном и вернулся)
  "date_reassert": "", // Дата подтверждения счета
  "date_updating": "", // Дата последнего изменения АВР
  "sum_for_month": 0, // Накопленная сумма выставленных счетов по клиенту с начала месяца Скидка участвует только тут, в специфкации с base 4
  "discount_rate": 0, // Процент скидки
  "discount_sum": 0, // Сумма скидки
  "returned": 0, // Отметка о возврате подписанного Клиентом АВР
  "date_returned": "", // Дата возврата  подписанного Клиентом АВР
  "UPD_UID": "", // UID заявки СЭДО (возможно составной)
  "UPD_service": "", // Название СЭДО
  "UPD_loading_status": 0, // Статус загрузки в СЭДО
  "UPD_loading_date": "", // Дата последней загрузки в СЭДО
  "UPD_status": 0, // Статус АВР в СЭДО
  "avr_id_1s":"10fcac9c-494c-11e9-80f4-d09466765ba8" // Параметр не пустой, если АВР уже был прогружен, если АВР новый, то параметр - пустой.
  "user_id_1s": 0, // Идентификатор пользователя, создавшего АВР, в 1С Возвращается при загрузке в 1С
  "imported_to_1s": 0,// Флаг о том, что АВР импортирован в 1С
  "imported_to_1s_date": "",// Дата импорта в 1С
  "specifications": [
    0: {
      "id": 0,
      "service_name": "", // Наименование услуги
      "service_date": "0000-00-00", // Дата услуги
      "base" : "", // Список ID грузов 0 - по грузу, 1 - несколько грузов (в случае FTL - один рейс - несколько загрузок/выгрузок на каждый груз добавляется своя спецификация),  2 - основание услуга (сейчас не используется), 3 - произвольная спецификация 4 - скидка
      "units": "", // Единицы измерения услуги в тексте. Там строкой указаны:
                   //     - паллет
                   //     - кг.
                   //     - шт.
                   //     - рубли
                   //     - пал
                   //     - кор
                   //     - заказ

      "price_for_unit": 0, // Цена за единицу измерения
      "amount" : 0, // Количество единиц
      "min_sum" : 0, // Минимальная сумма услуги
      "sum_without_nds" : 0, // Сумма без НДС
      "sum_nds" : 0, // Сумма НДС
      "sum_with_nds" : 0, //Сумма с НДС
      "date_feed": "0000-00-00 00:00:00", // Дата передачи груза
      "date_delivery": "0000-00-00 00:00:00", // Планируемая дата доставки груза
      "cargo_id_1s": "" //идентификатор заявки в 1С (которая создается если спецификация по произвольной услуге) получает онлайн в момент первой загрузки АВР в 1С
    },
    1: {/*....*/}
  ]
}

 

ОТВЕТ СЕРВЕРА

В ответе 1С возвращает идентификатор документа 1С

КОДЫ ОТВЕТА HTTP

200 OK - АВР создан успешно

400 Bad Request

401 - нет контрагента с таким ИНН/КПП

407 Conflict - АВР с таким avr_id уже существует (при создании)

408 Conflict - АВР с таким avr_id не найден (при обновлении)

409 Conflict - АВР с таким avr_id запрещена к обновлению

410 Conflict specification - Не загружено основание спецификации (его нет)

411 - Запрещено вносить изменения в закрытом периоде

412 - Не найден договор контрагента

413 - Не найдена номенклатура

414 - Загрузка запрещена на основании Акта сверки

415 - Общая ошибка при записи документа (пытаемся записать документ, но не получается)

416 - 

417 Conflict specification - спецификация с id уже существует (не уникальна)

418 Conflict specification - Заявка (Груз) с id, указанным в спецификации не существует

500 Internal Server Error


ПРИМЕР ОТВЕТА

{
  "data":{
    "avr_id":"11117",
    "avr_id_1s":"10fcac9c-494c-11e9-80f4-d09466765ba8"
    "specifications": [
      {
        "spec_id":"285710", // Идентификатор спецификации в онлайне
        "cargo_id_1s": "" // Идентификатор спецификации в 1С
      },
      {
        /** ... */
      }
    ],
  "datetime_response":"2019-03-18 12:39:08",
  "endpoint":"addavr",
  "error":false,
  "error_msg":"OK",
  "error_code":"200",
  "version":"1.0.0"
}

ОБНОВЛЕНИЕ АВР

Обновление АВР 2 видов - обновление параметров и обновление вместе со спецификацией (изменение суммы АВР)

ОБНОВЛЕНИЕ ПАРАМЕТРОВ АВР

Производится так же, как и добавление АВР - методом, только с заполненным параметром avr_id_1s

УДАЛЕНИЕ АВР (DELETE)

API_ENDPOINT: http://130.193.68.101:8080/UNF/hs/OnlineLogistics/delavr/

ПРИМЕР ЗАПРОСА

{
  "avr_id":"11117", //Идентификатор документа в altlog
  "avr_id_1s":"10fcac9c-494c-11e9-80f4-d09466765ba8" //Идентификатор документа 1С. Передается в случае, если он в altlog уже записан
  "bill_number": "",
  "bill_year": "",
  "datetime_response":"2019-03-18 12:39:08",
  "endpoint":"delavr",
  "error":false,
  "error_msg":"OK",
  "error_code":"200",
  "version":"1.0.0"
}

Передается идентификатор 1С АВР к удалению

ОТВЕТ СЕРВЕРА

КОДЫ ОТВЕТА HTTP

200 OK - АВР успешно удалена

400 Bad Request

408 Conflict - АВР с таким номером не найден

409 Conflict - АВР с таким номером, запрещен к удалению.

500 Internal Server Error

ПРИМЕР ОТВЕТА

{
  data:{
    "avr_id":"11117",  
    "avr_id_1s":"10fcac9c-494c-11e9-80f4-d09466765ba8",  
    "bill_number": "", // Номер АВР - текстовый уникальный номер с уникальностью в рамках года  
    "bill_year": "", // год АВР - вместе с bill_number образуют уникальный идентификатор АВР за все время  
    "specifications": [
      {
        "spec_1c_uid":"d3fc9c-400c-fae9-8094-d094688767", // Идентификатор реализации в 1С  
        "spec_id":"285710" // Идентификатор спецификации в онлайне  
      }
    ],
    "datetime_response":"2019-03-18 12:39:08",  
    "endpoint":"delavr",  
    "error":false,  
    "error_msg":"OK",  
    "error_code":"200",  
    "version":"1.0.0"
  }
}

ОБМЕН ПОСТУПЛЕНИЯМИ

API_ENDPOINT URL: http://178.238.125.99:80/stl_bp/hs/OnlineLogistics/addbill

ПРИМЕР ЗАПРОСА

{
  "bill_id": "25294", // Идентификатор документа в altlog online
  "bill_id_1s": "", // Идентификатор документа в 1С. Передается в случае его наличия в altlog online
  "date_pass": "2021-12-28", // Дата получения поступления
  "number": "2132", // Номер Счета
  "date": "2021-12-28", // Дата счета
  "sum": "105000.00", // Общая сумма счета, равна сумме спецификаций при их наличии
  "nds": "0.00", // Сумма НДС
  "invoice_type": "0", // Тип счета фактуры: 0 - счета фактуры или УПД нет и не будет; 1 - счет-фактура; 2 - УПД
  "invoice_number": "",// Номер счета фактуры, при её наличии
  "invoice_date": "",// Дата счета фактуры, при её наличии
  "receipt_number": "",// Номер документа основания поступления
  "receipt_date": "",// Дата документа основания поступления
  "client_id": "812", // Идентификатор контрагента в altlog online
  "client_id_1s": "",// Идентификатор (внешней навигационной ссылки) контрагента в 1С
  "client_id_1s77": "",// Ненужное поле (устаревшее)
  "client_name": "Индивидуальный предприниматель Катышкина Светлана Александровна", // Наименоване контрагента
  "client_inn": "235300030056", // ИНН контрагента
  "client_rs": "40702810138180121008", // Расчетный счёт контрагента
  "contract_id": "929", // Идентификатор договора в altlog online
  "contract_id_1s": "",// Идентификатор (внешней навигационной ссылки) договора в 1С
  "contract_id_1s77": "30/08", // Ненужное поле (устаревшее)
  "contract_number": "30/08", // Номер договора 
  "contract_date": "2021-08-30", // Дата договора
  "specifications": // Список строк в поступлении
  [
    {
      "sum": "105000.00" // Сумма строки
      "nds_sum": "0" // Сумма НДС строки
      "sum_ex_nds": "105000" // Сумма строки без НДС
      "nds_type": "0" // Тип НДС
      "nds_rate": "0" // Размер НДС
      "selling_1s_uid": "a25cb888e3455f5b11e6dbc3ff591e15" // Идентификатор (внешней навигационной ссылки) справочника номерклатуры в 1С
      "selling_1s_name": "Транспортные услуги (без НДС)" // Наименование номенклатуры
      "selling_id": "2" // Идентификатор справочника номенклатуры altlog online
    }
  ]
}

ОТВЕТ СЕРВЕРА

В ответе 1С возвращает идентификатор документа 1С

КОДЫ ОТВЕТА HTTP

200 OK - поступление создано/обновлено успешно

400 Bad Request

401 - нет контрагента с таким ИНН/КПП

407 Conflict - Поступление с таким bill_id уже существует (при создании)

408 Conflict - Поступление с таким bill_id_1s не найдено (при обновлении)

409 Conflict - Поступление с таким bill_id_1s запрещено к обновлению

411 Conflict - Запрещено вносить изменения в закрытом периоде

412 Conflict - Не найден договор контрагента

413 Conflict - Не найдена номенклатура

414 Conflict - Загрузка запрещена на основании Акта сверки

415 Conflict - Общая ошибка при записи документа (пытаемся записать документ, но не получается)

500 Internal Server Error

ПРИМЕР ОТВЕТА

{
  "data":{
    "bill_id":"11117",
    "bill_id_1s":"10fcac9c-494c-11e9-80f4-d09466765ba8"
  },
  "datetime_response":"2021-03-18 12:39:08",
  "endpoint":"addbill",
  "error":false,
  "error_msg":"OK",
  "error_code":"200",
  "version":"1.0.0"
}

УДАЛЕНИЕ ПОСТУПЛЕНИЯ

API_ENDPOINT: http://130.193.68.101:8080/UNF/hs/OnlineLogistics/delavr/

ПРИМЕР ЗАПРОСА

{
  "data": {
    "avr_id":"11117", //Идентификатор документа в altlog  
    "avr_id_1s":"10fcac9c-494c-11e9-80f4-d09466765ba8" //Идентификатор документа 1С. Передается в случае, если он в altlog уже записан  
    "bill_number": "",  
    "bill_year": ""  
  },
  "datetime_response":"2019-03-18 12:39:08",  
  "endpoint":"delavr",  
  "error":false,  
  "error_msg":"OK",  
  "error_code":"200",  
  "version":"1.0.0"
}

Передается идентификатор 1С АВР к удалению

ОТВЕТ СЕРВЕРА

КОДЫ ОТВЕТА HTTP

200 OK - АВР успешно удалена

400 Bad Request

408 Conflict - АВР с таким номером не найден

409 Conflict - АВР с таким номером, запрещен к удалению.

500 Internal Server Error

ПРИМЕР ОТВЕТА

{
  "data": {
    "avr_id": "11117",
    "avr_id_1s": "10fcac9c-494c-11e9-80f4-d09466765ba8",
    "bill_number": "", // Номер АВР - текстовый уникальный номер с уникальностью в рамках года
    "bill_year": "", // год АВР - вместе с bill_number образуют уникальный идентификатор АВР за все время
    "specifications": [
      {
        "spec_1c_uid": "d3fc9c-400c-fae9-8094-d094688767", // Идентификатор реализации в 1С
        "spec_id": "285710" // Идентификатор спецификации в онлайне
      }
    ]
  }
}

...

ОТПРАВКА СПИСКА ПЛАТЕЖЕК НА ОПЛАТУ

API_ENDPOINTURL: http://178.238.125.99:80/stl_bp/hs/OnlineLogistics/setpay

ПРИМЕР ЗАПРОСА

// Платёжки (по контрагентам)
[
  {
    "client_id": "449", // ID клиента  
    "client_id_1s": "bed8d43d7e499d8011e558549070737c", // UID контрагента в 1С 8  
    "client_id_1s77": "",// ID контрагента в 1С 7  
    "client_name": "ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО \"ВЫМПЕЛ-КОММУНИКАЦИИ\"", // Полное наименование контрагента  
    "client_inn": "7713076301", // ИНН контрагента  
    "client_bik": "044525225", // БИК контрагента  
    "client_kpp": "997750001", // КПП контрагента  
    "client_rs": "40702810138180121008", // Расчетный счёт контрагента  
    "date_payment": "2022-02-18", // Дата планируемой оплаты (в оплату)  
    "sum": "6942.6", // Сумма платёжки  
    "nds": "0", // НДС платёжки  
    "nds_type": "0", // Метод начисления НДС - 0: 'Не начисляется', 1: 'Входит в стоимость', 2: 'Не входит в стоимость',  
    "bills": [ // Счета платёжки
      {
        "bill_id": "29513", // ID счёта
        "bill_id_1s": "9b8c000c294d311111ec84fe7c123d22", // ID счёта в 1С
        "bill_sum": "6942.6", // Сумма счёта
        "bill_nds": "0", // НДС счёта
      }
    ] 
  }
]

ОТВЕТ СЕРВЕРА

В ответе 1С возвращает идентификатор документа 1С

КОДЫ ОТВЕТА HTTP

200 OK - поступление создано/обновлено успешно

400 Bad Request

416 - нет счета в 1С

417 - счет оплачен

418 - не совпадает сумма счёта

500 Internal Server Error

ПРИМЕР ОТВЕТА

{
  "datetime_response":"2021-03-18 12:39:08",
  "endpoint":"setpay",
  "error":false,
  "error_msg":"OK",
  "error_code":"200",
  "version":"1.0.0"
}

УДАЛЕНИЕ ПЛАТЁЖКИ (ИСКЛЮЧЕНИЕ СЧЁТА ИЗ ПЛАТЁЖКИ)

API_ENDPOINT: http://130.193.68.101:8080/UNF/hs/OnlineLogistics/delpay

ПРИМЕР ЗАПРОСА