Обмен заказами с 1С

Пример структуры выгружаемой из 1С

Выгрузка из 1С:
  1. Выгружается по одному заказу
  2. Если успешно в ответ придет "1"
  3. Если не получен ответ "1", пытаться выгрузить заказ еще раз, но сначала отправляет следующий по очереди заказ
  4. Обмен инициирует 1С переходя по ссылке [запросить у разработчика или пришлют с инструкцией]
  5. Обмен происходит по методу POST отправляя в переменной param json массив в виде строки
  6. Поле GUID используется только если выгружаются заказы сделаные в магазине
  7. Даты выгружать в формате 25.08.2020 01:59:59
 
Выгрузка с сайта:
  1. Заказ выгружает аналогичную структуру, но сразу много заказов
  2. Обмен инициирует 1С
  3. Обмен инициирует 1С переходя по ссылке и получая в содержимом ответе json массив в виде строки
  4. Поле GUID используется только если выгружаются заказы сделаные в магазине
  5. Поле сайт выгружается всегда, нужно для того что бы можно было подключить второй сайт, если не требуется - игнорим
  6. Даты выгружаются в формате 2020-10-26T07:55:52+0500 для удобства загрузки
  7. Если обмена контрагентами нет, то поле Покупатель можно игнорить, тк будет содержать GUID не 1С
  8. Способ оплаты и способ доставки выгружает идентификатор, в 1С наверное стоит создать таблицу сопоставления

Структура выгрузки в 1С
{
	"Заказы": [
		{
			"GUID": "01e8e95c-e743-11ea-9878-3085a993cc0c",
			"Номер1С": "ИМ263645",
			"НомерИМ": 26364,
			"ТипКлиента": "1",  // 1 это юр лицо, 2 это физ лицо
			"ДатаЗаказа": "25.08.2020 0:00:00",
			"Покупатель": "428d109c-bb32-11e4-b2be-3085a993cc0c",
			"ПокупательИНН": "235235",
			"ПокупательНазваниеКомпании": "Иванов",
			"ПокупательФИО": "Иванов иван иванович",
			"ПокупательТелефон": "89374863030",
			"ПокупательПочта": "",
			"СтатусЗаказа": "N", // идентификатор сайта, пока не используй
			"СтатусЗаказаТекст": "Ожидает оплаты",
			"Комментарий": "оароаораоа",			
			"СтатусОплаты": 0, // 1 оплачен, 0 - нет
			"ДатаОплаты": "01.01.0001 0:00:00",
			"СпособОплаты": "ИД сайта", 
			"СпособДоставки": "ИД сайта", 
			"СпособОплатыТекст": "Онлайн оплата на сайте", 
			"СпособДоставкиТекст": "Курьер Уфа", 
			"ТрекНомер": "000000",
			"СуммаОплаты": "",
			"Город": "Уфа",
			"АдресДоставки": "г. Челябинск, ул. Молдавская, д. 16, кв. ",
			"СуммаДоставки": 1000, // обрати внимание что идет не как отдельный товар
			"Товар": [
				{
					"GUID": "33ffe3d1-99cb-11ea-bac0-ac1f6b028ca5",
					"Название": "товар 1",
					"Количество": 1,
					"Цена": 1409,
					"Итого": 1409
				},
				{
					"GUID": "33ffe3d1-99cb-11ea-bac0-ac1f6b028ca5",
					"Название": "товар 2",
					"Количество": 1,
					"Цена": 1409,
					"Итого": 1409
				}
			]
		}
	]
}

Структура выгрузки из 1С
{
	"Заказы": [
		{
			"GUID": "01e8e95c-e743-11ea-9878-3085a993cc0c",
			"Номер1С": "ИМ263645",
			"НомерИМ": 26364,
			"ТипКлиента": "1", 
			"ДатаЗаказа": "25.08.2020 0:00:00",
			"Покупатель": "428d109c-bb32-11e4-b2be-3085a993cc0c",
			"ПокупательИНН": "Иванов",
			"ПокупательНазваниеКомпании": "Иванов",
			"ПокупательФИО": "Иванов",
			"ПокупательТелефон": "89374863030",
			"ПокупательПочта": "",
			"СтатусЗаказаТекст": "Ожидает оплаты", // если есть в 1С
			"Комментарий": "оароаораоа",			
			"СтатусОплаты": 0,
			"ДатаОплаты": "01.01.0001 0:00:00",
			"СпособДоставкиТекст": "Курьер Уфа",  // если есть в 1С
			"ТрекНомер": "0",  // если есть в 1С
			"СуммаОплаты": "1",
			"Город": "Уфа",
			"АдресДоставки": "г. Челябинск, ул. Молдавская, д. 16, кв. ",
			"СуммаДоставки": 1000,  // желательно выгрузить отдельно. но можно и в виде товара
			"Товар": [
				{
					"GUID": "33ffe3d1-99cb-11ea-bac0-ac1f6b028ca5",
					"Название": "товар 1",
					"Количество": 1,
					"Цена": 1409,
					"Итого": 1409
				},
				{
					"GUID": "33ffe3d1-99cb-11ea-bac0-ac1f6b028ca5",
					"Название": "товар 2",
					"Количество": 1,
					"Цена": 1409,
					"Итого": 1409
				}
			]
		}
	]
}

Возврат к списку