Newer Version Available

This content describes an older version of this product. View Latest

FulfillmentOrder Class

Fulfill orders in Order Management.

Namespace

ConnectApi

FulfillmentOrder Methods

These methods are for FulfillmentOrder. All methods are static.

cancelFulfillmentOrderLineItems(fulfillmentOrderId, cancelFulfillmentOrderLineItemsInput)

Cancel FulfillmentOrderLineItems from a FulfillmentOrder. This action doesn’t cancel the associated OrderItemSummaries, so reallocate the canceled quantities to a new FulfillmentOrder.

API Version

48.0

Requires Chatter

No

Signature

public static ConnectApi.FulfillmentOrderCancelLineItemsOutputRepresentation cancelFulfillmentOrderLineItems(String fulfillmentOrderId, ConnectApi.FulfillmentOrderLineItemsToCancelInputRepresentation cancelFulfillmentOrderLineItemsInput)

Parameters

fulfillmentOrderId
Type: String
ID of the FulfilllmentOrder.
cancelFulfillmentOrderLineItemsInput
Type: ConnectApi.FulfillmentOrderLineItemsToCancelInputRepresentation
List of FulfillmentOrderLineItems to cancel.

Example

1String fulfillmentOrderId = '0a3xx0000000085AAA';
2List<ConnectApi.FulfillmentOrderLineItemInputRepresentation> itemToCancelList = new List<ConnectApi.FulfillmentOrderLineItemInputRepresentation>();
3
4for(FulfillmentOrderLineItem fulfillmentOrderLineItem : fulfillmentOrder.FulfillmentOrderLineItems){
5  ConnectApi.FulfillmentOrderLineItemInputRepresentation itemToCancel = new ConnectApi.FulfillmentOrderLineItemInputRepresentation();
6  itemToCancel.fulfillmentOrderLineItemId = fulfillmentOrderLineItem.Id;
7  itemToCancel.quantity = 1;
8  itemToCancelList.add(itemToCancel);
9}
10
11ConnectAPI.FulfillmentOrderLineItemsToCancelInputRepresentation input = new ConnectAPI.FulfillmentOrderLineItemsToCancelInputRepresentation();        
12input.fulfillmentOrderLineItemsToCancel = itemToCancelList;
13
14ConnectAPI.FulfillmentOrderCancelLineItemsOutputRepresentation result = ConnectAPI.FulfillmentOrder.cancelFulfillmentOrderLineItems(fulfillmentOrderId, input);

createFulfillmentOrders(fulfillmentOrderInput)

Create one or more FulfillmentOrders and FulfillmentOrderLineItems for an OrderDeliveryGroupSummary, which defines a delivery method and recipient for an OrderSummary. You specify the OrderItemSummaries to allocate, which can be fulfilled from different locations. Specifying multiple fulfillment groups creates one FulfillmentOrder for each location. For each OrderItemSummary, a FulfillmentOrderLineItem is created and assigned to the corresponding FulfillmentOrder.

API Version

48.0

Requires Chatter

No

Signature

public static ConnectApi.FulfillmentOrderOutputRepresentation createFulfillmentOrders(ConnectApi.FulfillmentOrderInputRepresentation fulfillmentOrderInput)

Parameters

fulfillmentOrderInput
Type: ConnectApi.FulfillmentOrderInputRepresentation
OrderItemSummaries to allocate, with location and delivery information.

Example

1String orderSummaryId = '1Osxx0000004CCG';
2String fulfillmentType = 'warehouse';
3
4String warehouseFromLocationId = [SELECT Id from Location WHERE LocationType='Warehouse' LIMIT 1].Id;
5
6ConnectApi.FulfillmentOrderInputRepresentation fulfillmentOrderInput = new ConnectApi.FulfillmentOrderInputRepresentation();
7fulfillmentOrderInput.orderSummaryId = orderSummaryId;
8
9List<OrderDeliveryGroupSummary> orderDeliveryGroupSummaryList = [SELECT Id FROM OrderDeliveryGroupSummary WHERE OrderSummaryId =: orderSummaryId];
10
11for (OrderDeliveryGroupSummary orderDeliveryGroupSummary: orderDeliveryGroupSummaryList){
12
13  fulfillmentOrderInput.orderDeliveryGroupSummaryId = orderDeliveryGroupSummary.Id;
14  List<ConnectApi.FulfillmentGroupInputRepresentation> fulfillmentGroups = new List<ConnectApi.FulfillmentGroupInputRepresentation>();
15  ConnectApi.FulfillmentGroupInputRepresentation fulfillmentGroup = new ConnectApi.FulfillmentGroupInputRepresentation();
16  fulfillmentGroup.fulfilledFromLocationId = warehouseFromLocationId;
17  fulfillmentGroup.fulfillmentType = fulfillmentType;
18
19  List<ConnectApi.OrderItemSummaryInputRepresentation> orderItemSummaries = new List<ConnectApi.OrderItemSummaryInputRepresentation>();
20
21  List<OrderItemSummary> orderItemSummaryList = [Select Id, quantity FROM OrderItemSummary WHERE OrderSummaryId =: orderSummaryId AND OrderDeliveryGroupSummaryId =: orderDeliveryGroupSummary.Id];
22  for(OrderItemSummary orderItemSummary : orderItemSummaryList){
23    ConnectApi.OrderItemSummaryInputRepresentation oisInputRepresentation = new ConnectApi.OrderItemSummaryInputRepresentation();
24    oisInputRepresentation.orderItemSummaryId = orderItemSummary.Id;
25    oisInputRepresentation.quantity = orderItemSummary.quantity;
26    orderItemSummaries.add(oisInputRepresentation);
27  }
28
29  fulfillmentGroup.orderItemSummaries = orderItemSummaries;
30  fulfillmentGroups.add(fulfillmentGroup);      
31  fulfillmentOrderInput.fulfillmentGroups = fulfillmentGroups;
32
33}
34
35ConnectApi.FulfillmentOrderOutputRepresentation result = ConnectAPI.FulfillmentOrder.createFulfillmentOrders(fulfillmentOrderInput);

createInvoice(fulfillmentOrderId, invoiceInput)

Create an invoice for a FulfillmentOrder that doesn’t have one.

API Version

48.0

Requires Chatter

No

Signature

public static ConnectApi.FulfillmentOrderInvoiceOutputRepresentation createInvoice(String fulfillmentOrderId, ConnectApi.FulfillmentOrderInvoiceInputRepresentation invoiceInput)

Parameters

fulfillmentOrderId
Type: String
ID of the FulfillmentOrder.
invoiceInput
Type: ConnectApi.FulfillmentOrderInvoiceInputRepresentation
Required input with no data.

Example

1String fulfillmentOrderId = '0a3xx0000000085AAA';
2
3ConnectApi.FulfillmentOrderInvoiceInputRepresentation input = new ConnectApi.FulfillmentOrderInvoiceInputRepresentation();
4ConnectAPI.FulfillmentOrderInvoiceOutputRepresentation result = ConnectApi.FulfillmentOrder.createInvoice(fulfillmentOrderId, input);

createMultipleFulfillmentOrder(multipleFulfillmentOrderInput)

Create FulfillmentOrders for multiple OrderDeliveryGroups in a single request.

API Version

50.0

Requires Chatter

No

Signature

public static ConnectApi.MultipleFulfillmentOrderOutputRepresentation createMultipleFulfillmentOrder(ConnectApi.MultipleFulfillmentOrderInputRepresentation multipleFulfillmentOrderInput)

Parameters

multipleFulfillmentOrderInput
Type: ConnectApi.MultipleFulfillmentOrderInputRepresentation
Wraps a list of inputs for creating fulfillment orders.

createMultipleInvoices(invoicesInput)

Create Invoices for multiple FulfillmentOrders.

API Version

52.0

Requires Chatter

No

Signature

public static ConnectApi.MultipleFulfillmentOrderInvoicesOutputRepresentation createMultipleInvoices(ConnectApi.MultipleFulfillmentOrderInvoicesInputRepresentation invoicesInput)

Parameters

invoicesInput
Type: ConnectApi.MultipleFulfillmentOrderInvoicesInputRepresentation
The FulfillmentOrders to create Invoices for.