Appearance
Cognizant
Fingermark Cognizant menu and ordering integration.
Framework
This library requires Node.
Overview
This library provide function handlers for Supersonic APIs that interact with Cognizant APIs.
Current implementation support preOrder, placeOrder and placeOrderWebhookCallback.
Full documentation about the Cognizant APIs can be found here
Usage
All functions handlers return typed objects that will be consumed by the root function to complete the API execution.
ts
// pre-order.ts
import { preOrderHandler } from '@fingermarkglobal/cognizant';
import preOrderJson from './data/pre-order-handler-payload';
import { PreOrderPayloadCognizant, PreOrderHandlerPayloadResponse } from '@fingermarkglobal/types';
const response: PreOrderHandlerPayloadResponse = await preOrderHandler(
preOrderJson as PreOrderPayloadCognizant,
);ts
// place-order.ts
import { placeOrderHandler } from '@fingermarkglobal/cognizant';
import placeOrderJson from './data/place-order-handler-payload';
import {
PlaceOrderPayloadCognizant,
PlaceOrderHandlerPayloadResponse,
} from '@fingermarkglobal/types';
import { EventEmitter } from 'events';
const orderUpdateEvent = new EventEmitter();
// async event emmiter to complete order submission
setTimeout(() => {
orderUpdateEvent.emit(OrderChangeEvent.STATUS_CHANGE, OrderStatus.SUBMITTED);
}, 1000);
const response: PlaceOrderHandlerPayloadResponse = await placeOrderHandler(
placeOrderJson as PlaceOrderPayloadCognizant,
orderUpdateEvent,
);ts
// place-order-webhook-callback.ts
import { placeOrderWebhookCallbackHandler } from '@fingermarkglobal/cognizant';
import {
PlaceOrderWebhookCallbackPayload,
PlaceOrderWebhookCallbackHandlerPayloadResponse,
} from '@fingermarkglobal/types';
const body: PlaceOrderWebhookCallbackPayload = {
status: 'sent-to-pos-completed',
pickupDateTime: '1658349702389',
orderId: '82xxr',
osOrderId: '908',
};
const response: PlaceOrderWebhookCallbackHandlerPayloadResponse = await placeOrderWebhookCallbackHandler(
body,
);