facebook-nodejs-business-sdk
Version:
SDK for the Facebook Marketing API in Javascript and Node.js
244 lines (222 loc) • 6.42 kB
JavaScript
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* This source code is licensed under the license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
*/
import {AbstractCrudObject} from './../abstract-crud-object';
import AbstractObject from './../abstract-object';
import Cursor from './../cursor';
/**
* CommerceOrder
* @extends AbstractCrudObject
* @see {@link https://developers.facebook.com/docs/marketing-api/}
*/
export default class CommerceOrder extends AbstractCrudObject {
static get Fields (): Object {
return Object.freeze({
buyer_details: 'buyer_details',
channel: 'channel',
contains_bopis_items: 'contains_bopis_items',
created: 'created',
estimated_payment_details: 'estimated_payment_details',
id: 'id',
is_group_buy: 'is_group_buy',
is_test_order: 'is_test_order',
last_updated: 'last_updated',
merchant_order_id: 'merchant_order_id',
order_status: 'order_status',
pre_order_details: 'pre_order_details',
selected_shipping_option: 'selected_shipping_option',
ship_by_date: 'ship_by_date',
shipping_address: 'shipping_address',
});
}
static get Filters (): Object {
return Object.freeze({
has_cancellations: 'HAS_CANCELLATIONS',
has_fulfillments: 'HAS_FULFILLMENTS',
has_refunds: 'HAS_REFUNDS',
no_cancellations: 'NO_CANCELLATIONS',
no_refunds: 'NO_REFUNDS',
no_shipments: 'NO_SHIPMENTS',
});
}
static get State (): Object {
return Object.freeze({
completed: 'COMPLETED',
created: 'CREATED',
fb_processing: 'FB_PROCESSING',
in_progress: 'IN_PROGRESS',
});
}
static get ReasonCode (): Object {
return Object.freeze({
buyers_remorse: 'BUYERS_REMORSE',
damaged_goods: 'DAMAGED_GOODS',
facebook_initiated: 'FACEBOOK_INITIATED',
not_as_described: 'NOT_AS_DESCRIBED',
quality_issue: 'QUALITY_ISSUE',
refund_compromised: 'REFUND_COMPROMISED',
refund_for_return: 'REFUND_FOR_RETURN',
refund_reason_other: 'REFUND_REASON_OTHER',
refund_sfi_fake: 'REFUND_SFI_FAKE',
refund_sfi_real: 'REFUND_SFI_REAL',
wrong_item: 'WRONG_ITEM',
});
}
createAcknowledgeOrder (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/acknowledge_order',
fields,
params,
CommerceOrder,
pathOverride,
);
}
getCancellations (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/cancellations'
);
}
createCancellation (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/cancellations',
fields,
params,
CommerceOrder,
pathOverride,
);
}
createItemUpdate (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/item_updates',
fields,
params,
CommerceOrder,
pathOverride,
);
}
getItems (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/items'
);
}
getPayments (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/payments'
);
}
getPromotionDetails (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/promotion_details'
);
}
getPromoTIOns (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/promotions'
);
}
getRefunds (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/refunds'
);
}
createRefund (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/refunds',
fields,
params,
CommerceOrder,
pathOverride,
);
}
getReturns (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/returns'
);
}
createReturn (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/returns',
fields,
params,
CommerceOrder,
pathOverride,
);
}
getShipments (fields: Array<string>, params: Object = {}, fetchFirstPage: boolean = true): Cursor | Promise<*> {
return this.getEdge(
AbstractObject,
fields,
params,
fetchFirstPage,
'/shipments'
);
}
createShipment (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/shipments',
fields,
params,
CommerceOrder,
pathOverride,
);
}
createUpdateShipment (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/update_shipment',
fields,
params,
CommerceOrder,
pathOverride,
);
}
createUpdate (fields: Array<string>, params: Object = {}, pathOverride?: ?string = null): Promise<CommerceOrder> {
return this.createEdge(
'/updates',
fields,
params,
CommerceOrder,
pathOverride,
);
}
get (fields: Array<string>, params: Object = {}): CommerceOrder {
// $FlowFixMe : Support Generic Types
return this.read(
fields,
params
);
}
}