Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с выпуска за апрель 2023 г. вы можете вызывать модуль оптимизации выполнения (DOM) Microsoft Dynamics 365 Intelligent Order Management из-за пределов оркестрации заказов на продажу с помощью интерфейса программирования (API). Любая платформа, например платформа электронной коммерции, торговая площадка или платформа планирования ресурсов предприятия (ERP), может отправить запрос API к Intelligent Order Management, чтобы получить оптимальный источник выполнения, а также параметры доставки, такие как тарифы перевозчика и предполагаемая дата доставки. Если вы хотите получить только план выполнения, запрос API должен содержать как минимум адрес доставки, продукты и количество. Если вы хотите получить тарифы перевозчика и предполагаемые даты доставки в дополнение к плану выполнения, вы должны передать информацию о перевозчике. В настоящее время API рассчитан на вызовы API тарифов FedEx для получения тарифов на доставку. Тем не менее полезные данные ответа являются универсальными для любого перевозчика.
Необходимые условия
Перед использованием модуля оптимизации выполнения (DOM) в Intelligent Order Management через API необходимо сделать следующее:
- Установить последнюю версию Intelligent Order Management (версия 1.0.0.6035).
- Настроить параметры выполнения, такие как стратегии, списки источников и ограничения. Дополнительные сведения см. в статье Обзор поставщика оптимизации выполнения и возвратов.
- Настроить поставщика видимости запасов. Дополнительные сведения см. в разделе Видимость запасов.
- Убедиться, что ИД склада сопоставлен с каждым источником выполнения в параметрах источников выполнения.
Если вы ожидаете результатов с вариантами доставки от перевозчика FedEx, убедитесь, что выполнена следующая настройка.
- Настройте поставщика FedEx. Дополнительные сведения см. в статье Настройка поставщика FedEx.
- Настройте календарь праздников, выбрав Параметры>Параметры выполнения>Календарь праздников.
- Настройте график вывоза перевозчика, выбрав Параметры>Параметры выполнения>Перевозчики. Выберите перевозчика, перейдите к графикам вывоза и добавьте новый график вывоза.
- Убедитесь, что хотя бы один календарь и график вывоза назначены параметрам источников выполнения.
- Убедитесь, что в общей таблице размеров продуктов указаны вес и размеры продукта.
- Убедитесь, что в таблицу коэффициентов стоимости доставки занесены коэффициент тарифа на доставку и информация о резервном тарифе. Чтобы получить доступ к таблицам коэффициентов стоимости доставки, выберите Параметры>Параметры выполнения>Перевозчики>Коэффициент стоимости доставки.
Описание функциональности
При отправке запроса API вызывается модуль оптимизации выполнения (DOM) в Intelligent Order Management, который возвращает оптимальный источник выполнения для каждой строки на основе предварительно настроенных стратегий оптимизации и ограничений. Если запрос содержит перевозчика, такого как FedEx, график вывоза перевозчика рассматривается в сочетании с календарем рабочего времени источника выполнения, и следующее доступное время вывоза отправляется API-интерфейсам перевозчика. Ответ API-интерфейсу DOM сочетает в себе как план выполнения, так и выходные данные перевозчика, и предоставляет их обратно вызывающему приложению.
Образец запроса API
Создайте несвязанное действие "поток Power Automate — Dataverse", чтобы протестировать запрос в вашей собственной среде.
{{Dataverse URL}}/api/data/v9.2/msdyn_IomDomAPI
**apiVersion**: 1.0
{
"fnoCompanyId": "USMF",
"orderId": "b16bd573-ad9a-4188-bc08-e5ac5eca776e",
"strategyId": null,
"carrier": "fedex",
"salesOrderOrigin": null,
"customerInformation": {
"name": "Whole sales",
"customerNumber": "US-001",
"customerGroup": "10",
"customerEmail": "test@microsoft.com"
},
"orderDestinationAddress": {
"addressType": "Residence",
"address1": "537 N St. Francis",
"address2": null,
"address3": null,
"city": "Wichita",
"stateOrProvince": "KS",
"postalCode": "67214",
"phoneNumber": null,
"country": "US"
},
"lineItems": [
{
"lineId": "d5670621-910d-486b-90ca-61d739e9a92e",
"itemId": "1000",
"quantity": 2,
"freeShipping": "No"
},
{
"lineId": "5c8b423b-c9fe-4ff1-a16e-a75a35d7c424",
"itemId": "T0001",
"quantity": 2,
"freeShipping": "Yes",
"dimensions": {
"sizeId": "10"
}
},
{
"lineId": "a359a0ec-cded-4eda-b7b0-d7478dff48b9",
"itemId": "T0004",
"quantity": 2,
"freeShipping": "Yes",
"dimensions": {
"colorId": "black"
}
}
]
}
Образец ответа
Fulfillment Successful
{
"fulfillmentPlan": {
"executionId": "616d8797-0654-4ca7-bae2-c4771521e5f4",
"planLines": [
{
"orderId": "47c1c1c6-5cc7-4691-a0ae-b50b83b2bba1",
"lineId": "34d8209b-3a4b-4c54-a666-76fef99bef63",
"quantityToFulfill": 1.0,
"orderedQuantity": 1.0,
"fulfillmentCenter": "127",
"itemId": "1000"
}
],
"notFulfilledLines": []
}
}
Справочное руководство по API
В этом разделе описываются поля типов данных и заголовка в запросе API.
Имя | Тип данных | Описание |
---|---|---|
fnoCompanyId | строка, необязательное | Идентификатор компании в системе. Это поле является обязательным, если база данных Dataverse связана с приложением для управления финансами и операциями. |
salesOrderOrigin | строка, необязательное | Идентификатор основания заказа в системе. Это поле является обязательным, если запасы должны потребляться из выделенных исходя из основания заказа. |
orderId | строка GUID, обязательное | Определяемый пользователем номер заказа, который используется для идентификации идентификатора заказа или корзины в исходной системе. |
strategyId | строка GUID, необязательное | Идентификатор стратегии выполнения заказов в Intelligent Order Management. Если этот идентификатор не указан, процесс использует стратегию по умолчанию, определенную в системе. |
carrier | строка, необязательное | Это поле необходимо для получения тарифов на доставку и предполагаемых дат доставки. Поддерживаемое значение — FedEx. |
orderDestinationAddress | адрес, обязательное | Адрес доставки получателя. Используйте модель "Адрес". |
customerInformation | CustomerInformation, необязательное | Информация о клиенте в заказе. Используйте модель "Информация о клиенте". |
lineItems | OrderDetail, обязательное | Массив объектов со сведениями о заказе. Используйте массив модели "Сведения о заказе". |
Модель
В этом разделе описываются поля, которые используют модель данных, в запросе API.
Адрес
В этом разделе описываются поля в объекте адреса в запросе API.
Имя | Тип данных | Описание |
---|---|---|
addressType | строка, необязательное, значения: Business, Residence, Any | Значение, указывающее, является ли указанный адрес домашним. |
имя | строка, необязательное | Имя человека. |
address1 | строка, необязательное | Первая строка адреса. |
address2 | строка, необязательное | Вторая строка адреса. |
address3 | строка, необязательное | Третья строка адреса. |
city | строка, обязательное | Город. |
stateOrProvince | строка, обязательное | Штат или провинция. Требуется двухбуквенный код штата-источника по ISO. |
postalCode | строка, обязательное | Почтовый индекс. |
country | строка, обязательное | Код страны или региона. Требуется двухбуквенный код страны/региона-источника по ISO. |
phoneNumber | строка, необязательное | Номер телефона. |
Сведения о заказе
В этом разделе описываются поля в разделе сведений о заказе в запросе API.
Имя | Тип данных | Описание |
---|---|---|
lineId | строка GUID, обязательное | Идентификатор строки заказа в системе-источнике. |
itemId | строка, обязательное | Название продукта, связанное с данной строкой. Значение не может быть равно NULL. |
quantity | число, обязательное | Заказанное количество продуктов. |
freeShipping | строка, необязательное, значения: Yes, No | Значение Yes означает, что вес продукта исключается из запроса тарифа на доставку. |
dimensions | ProductDimensions, необязательное | Аналитики продукта — это характеристики, которые определяют вариант продукта. Для них используется модель "Аналитики продуктов". Это поле является обязательным, если база данных Dataverse связана с приложением для управления финансами и операциями. Выберите размеры продукта, чтобы определить вариант продукта. |
Аналитики продуктов
В этом разделе описываются поля в таблице размеров продукта.
Имя | Тип данных | Описание |
---|---|---|
colorId | строка, необязательное | Значение цвета номенклатуры. Это поле является обязательным, если база данных Dataverse связана с приложением для управления финансами и операциями. Выберите аналитики продукта, чтобы определить вариант продукта, с которым вы хотите работать. |
sizeId | строка, необязательное | Значение размера номенклатуры. Это поле является обязательным, если база данных Dataverse связана с приложением для управления финансами и операциями. Выберите аналитики продукта, чтобы определить вариант продукта, с которым вы хотите работать. |
styleId | строка, необязательное | Значение стиля номенклатуры. Это поле является обязательным, если база данных Dataverse связана с приложением для управления финансами и операциями. Выберите аналитики продукта, чтобы определить вариант продукта, с которым вы хотите работать. |
configId | строка, необязательное | Значение конфигурации номенклатуры. Это поле является обязательным, если база данных Dataverse связана с приложением для управления финансами и операциями. Выберите аналитики продукта, чтобы определить вариант продукта, с которым вы хотите работать. |