GetAvailableShippingMethods
Implements GetAvailableShippingMethods Unified Method.
Source
import "./extended";
import type { SfShippingMethod } from "@alokai/connect";
import { getNormalizers } from "@alokai/connect/integration-kit";
import { defineApi, getShipmentId } from "@vsf-enterprise/unified-api-sfcc";
export const getAvailableShippingMethods = defineApi.getAvailableShippingMethods(
async (context) => {
const { api } = await context.getApiClient();
const shipmentId = getShipmentId(context);
const { normalizeShippingMethod } = getNormalizers(context);
const { applicableShippingMethods } = await api.getApplicableShippingMethods({
shipmentId,
});
let methods: SfShippingMethod[] = [];
if (applicableShippingMethods) {
methods = applicableShippingMethods
.map((shippingMethod) => normalizeShippingMethod(shippingMethod))
.filter(Boolean);
}
return { methods };
},
);