Files
obsidian/Интеграция СУП/Создание клиента.md

2.7 KiB
Raw Blame History

Авторизация

Используется кастомный header X-Erp-Integration Значение хранится в конфигах у системы СУП. Для дев и прод разные значения. При получении значения необходимо его сравнить со значением хранящимся в конфиге. Если значения не соответствуют, то вернуть ошибку.

Создание клиента

Используется endpoint с методом POST

Предлагаемый вариант api/1.0/openRequest/createClient

Запрос

{
	"name": "Альфа-Пласт",
	"clientName": "Альфа-Пласт",
	"shortName": "Альфа-Пласт",
	"managerId": "00123456", // Значение ИНС сотрудника
	"countryCode": "RU", // Двухбуквенный код страны
	"industryCode": "0015", // Код отрасли ERP
	"authorId": "00123456", // Значение ИНС сотрудника
	"accountId": "57ef229c-d8e4-4da5-b87a-7205e7eb7c42"
}
"name" - Наименование клиента
"clientName" - Наименование
"shortName" - Краткое название
"managerId" - Менеджер по продажам
"countryCode" - Страна
"industryCode" - Отрасль
"authorId" - Автор клиента в CRM
"accountId" - Id контрагента в CRM

Ответ

Успешный

{
	"success": true,
	"errorMessage": ""
}

Неуспешный

{
	"success": false,
	"errorMessage": "Текст ошибки"
}

Проверка готовности создания клиента

Используется endpoint с методом GET

Предлагаемый вариант api/1.0/openRequest/viewAccount?accountId={accountId}

Главная суть метода, что мы по значению accountId из пункта Создание клиента получаем готовность создания клиента. Клиент считается созданным, если у него заполнено поле ClientId (уточнить как называется в базе данных поле Код клиента из R3)

Ответ

Клиент еще создается

{
	"status": "Waiting",
	"clientId": "",
	"errorMessage": ""
}

Создание клиента завершено

{
	"status": "Done",
	"clientId": "0000101202",
	"errorMessage": ""
}

Ошибка при создании клиента

{
	"status": "Error",
	"clientId": "",
	"errorMessage": "Описание ошибки"
}