inventora-shopify-admin-api
Version:
Shopify Admin API is a NodeJS library built to help developers easily authenticate and make calls against the Shopify API. It was inspired by and borrows heavily from ShopifySharp.
249 lines (203 loc) • 7.81 kB
text/typescript
import { Address } from "./address";
import { TaxLine } from "./tax_line";
import { Customer } from "./customer";
import { LineItem } from "./line_item";
import { Fulfillment } from "./fulfillment";
import { ShippingLine } from "./shipping_line";
import { DiscountCode } from "./discount_code";
import { PaymentDetails } from "./payment_details";
import { PriceSet } from "./price_set";
import { NoteAttribute } from "./note_attribute";
// Enum imports
import { FinancialStatus } from "../enums/financial_status";
import { FulfillmentStatus } from "../enums/fulfillment_status"
export interface OrderCreate {
/**
* The mailing address associated with the payment method. This address is an optional field that will not be available on orders that do not require one.
*/
billing_address?: Partial<Address>;
/**
* Indicates whether or not the person who placed the order would like to receive email updates from the shop.
* This is set when checking the "I want to receive occasional emails about new products, promotions and other news" checkbox during checkout.
*/
buyer_accepts_marketing?: boolean;
/**
* The reason why the order was cancelled. If the order was not cancelled, this value is null. Known values are "customer", "fraud", "inventory" and "other".
*/
cancel_reason?: string | null;
/**
* The customer's contact email address.
*/
contact_email?: string;
/**
* The three letter code (ISO 4217) for the currency used for the payment.
*/
currency?: string;
/**
* A <see cref="ShopifyCustomer"/> object containing information about the customer. This value may be null if the order was created through Shopify POS.
*/
customer?: Customer;
/**
* Applicable discount codes that can be applied to the order.
*/
discount_codes?: DiscountCode[];
/**
* The order's email address. Note?: On and after 2015-11-03, you should be using <see cref="ContactEmail"/> to refer to the customer's email address.
* Between 2015-11-03 and 2015-12-03, updates to an order's email will also update the customer's email. This is temporary so apps can be migrated over to
* doing customer updates rather than order updates to change the contact email. After 2015-12-03, updating updating an order's email will no longer update
* the customer's email and apps will have to use the customer update endpoint to do so.
*/
email?: string;
/**
* The financial status of an order. Known values are "authorized", "paid", "pending", "partially_paid", "partially_refunded", "refunded" and "voided".
*/
financial_status?: FinancialStatus;
/**
* An array of <see cref="ShopifyFulfillment"/> objects for this order.
*/
fulfillments?: Partial<Fulfillment>[];
/**
* The fulfillment status for this order. Known values are 'fulfilled', 'partial' or null.
*/
fulfillment_status: FulfillmentStatus;
/**
* An array of <see cref="ShopifyLineItem"/> objects, each one containing information about an item in the order.
* @required
*/
line_items: Partial<LineItem>[];
/**
* The ID of the physical location where the order was processed.
*/
location_id?: number;
/**
* The text of an optional note that a shop owner can attach to the order.
*/
note?: string;
/**
* Extra information that is added to the order.
*/
note_attributes?: NoteAttribute[];
/**
* Payment details for this order. May be null or undefined if the order was created via API without payment details.
* @deprecated Use the Transaction resource instead
*/
payment_details?: Partial<PaymentDetails>;
/**
* The customer's phone number.
*/
phone?: string;
/**
* The presentment currency that was used to display prices to the customer.
* @beta
*/
presentment_currency?: string;
/**
* The date that the order was processed at.
*/
processed_at?: string;
/**
* The website that the customer clicked on to come to the shop.
*/
referring_site?: string;
/**
* A reference string (8-4-4-4-12 uppercase hexadecimal digits), not documented, can be `null`
*/
reference?: string;
/**
* The mailing address to where the order will be shipped. This address is optional and will not be available on orders that do not require one.
*/
shipping_address?: Address;
/**
* An array of <see cref="ShopifyShippingLine"/> objects, each of which details the shipping methods used.
*/
shipping_lines?: Partial<ShippingLine>[];
/**
* Where the order originated. May only be set during creation, and is not writeable thereafter.
* Orders created via the API may be assigned any string of your choice except for `web`, `pos`, `iphone`, and `android`.
* Default is `api`.
*/
source_name?: string;
/**
* Price of the order before shipping and taxes
*/
subtotal_price?: number;
/**
* Price of the order before shipping and taxes, in shop and presentment currencies
* @beta
*/
subtotal_price_set?: PriceSet;
/**
* Tags are additional short descriptors, commonly used for filtering and searching, formatted as a string of comma-separated values.
*/
tags?: string;
/**
* An array of <see cref="ShopifyTaxLine"/> objects, each of which details the total taxes applicable to the order.
*/
tax_lines?: TaxLine[];
/**
* States whether or not taxes are included in the order subtotal.
*/
taxes_included?: boolean;
/**
* whether this is a test order
*/
test?: boolean;
/**
* The total amount of the discounts applied to the price of the order.
*/
total_discounts?: string;
/**
* The total amount of the discounts applied to the price of the order, in shop and presentment currencies.
* @beta
*/
total_discounts_set?: PriceSet;
/**
* The sum of all the prices of all the items in the order.
*/
total_line_items_price?: string;
/**
* The sum of all the prices of all the items in the order, in shop and presentment currencies.
* @beta
*/
total_line_items_price_set?: PriceSet;
/**
* The sum of all the prices of all the items in the order, with taxes and discounts included (must be positive).
*/
total_price?: number;
/**
* The sum of all the prices of all the items in the order, in shop and presentment currencies, with taxes and discounts included (must be positive).
* @beta
*/
total_price_set?: PriceSet;
/**
* The sum of all the shipping prices in the order, in shop and presentment currencies, with taxes and discounts included (must be positive).
* @beta
*/
total_shipping_price_set?: PriceSet;
/**
* The sum of all the prices of all the items in the order, in USD, with taxes and discounts included (must be positive).
*/
total_price_usd?: number;
/**
* The sum of all the taxes applied to the order (must be positive).
*/
total_tax?: number;
/**
* The sum of all the taxes applied to the order, in shop and presentment currencies (must be positive).
* @beta
*/
total_tax_set?: PriceSet;
/**
* The sum of all the tips in the order.
*/
total_tip_received?: string;
/**
* The sum of all the weights of the line items in the order, in grams.
*/
total_weight?: number;
/**
* POS device user id for POS sales, or Shopify staff user id for draft orders
* null if not applicable
*/
user_id?: number | null;
}