shopify-api-types
Version:
typings for Shopify Admin API
406 lines • 13.5 kB
TypeScript
import type { CurrencyCode } from '../../../common';
import type { Metafield } from './metafield';
export declare enum CustomerAccountState {
/**
* The customer doesn't have an active account
*/
Disabled = "disabled",
/**
* The customer has recieved an email to create an account
*/
Invited = "invited",
/**
* The customer has crated an account
*/
Enabled = "enabled",
/**
* The customer declined the email invite to crate an account
*/
Declined = "declined"
}
export declare enum CustomerTaxExceptions {
/**
* This customer is exempt from all Canadian taxes.
*/
ExemptAll = "EXEMPT_ALL",
/**
* This customer is exempt from specific taxes for holding a valid STATUS_CARD_EXEMPTION in Canada.
*/
CAStatusCardExemption = "CA_STATUS_CARD_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid DIPLOMAT_EXEMPTION in Canada.
*/
CADiplomatExemption = "CA_DIPLOMAT_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in British Columbia.
*/
CABCResellerExemption = "CA_BC_RESELLER_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Manitoba.
*/
CAMBResellerExemption = "CA_MB_RESELLER_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Saskatchewan.
*/
CASKResellerExemption = "CA_SK_RESELLER_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in British Columbia.
*/
CABCCommercialFisheryExemption = "CA_BC_COMMERCIAL_FISHERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Manitoba.
*/
CAMBCommercialFisheryExemption = "CA_MB_COMMERCIAL_FISHERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Nova Scotia.
*/
CANSCommercialFisheryExemption = "CA_NS_COMMERCIAL_FISHERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Prince Edward Island.
*/
CAPECommercialFisheryExemption = "CA_PE_COMMERCIAL_FISHERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Saskatchewan.
*/
CASKCommercialFisheryExemption = "CA_SK_COMMERCIAL_FISHERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid PRODUCTION_AND_MACHINERY_EXEMPTION in British Columbia.
*/
CABCProductionAndMachineryExemption = "CA_BC_PRODUCTION_AND_MACHINERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid PRODUCTION_AND_MACHINERY_EXEMPTION in Saskatchewan.
*/
CASKProductionAndMachineryExemption = "CA_SK_PRODUCTION_AND_MACHINERY_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in British Columbia.
*/
CABCSubContractorExemption = "CA_BC_SUB_CONTRACTOR_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in Saskatchewan.
*/
CASKSubContractorExemption = "CA_SK_SUB_CONTRACTOR_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid CONTRACTOR_EXEMPTION in British Columbia.
*/
CABCContractorExemption = "CA_BC_CONTRACTOR_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid CONTRACTOR_EXEMPTION in Saskatchewan.
*/
CASKContractorExemption = "CA_SK_CONTRACTOR_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid PURCHASE_EXEMPTION in Ontario.
*/
CAONPurchaseExemption = "CA_ON_PURCHASE_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Manitoba.
*/
CAMBFarmerExemption = "CA_MB_FARMER_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Nova Scotia.
*/
CANSFarmerExemption = "CA_NS_FARMER_EXEMPTION",
/**
* This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Saskatchewan.
*/
CASKFarmerExemption = "CA_SK_FARMER_EXEMPTION"
}
/**
* https://shopify.dev/docs/admin-api/rest/reference/customers/customer#properties-2020-04
*/
export interface Customer {
/**
* Whether the customer has consented to receive marketing material via email
*/
accepts_marketing: boolean;
/**
* The date when the customer consented to recieving marketing material by email
*/
accepts_marketing_updated_at: string;
/**
* A list of the ten most recently updated addresses for the customer
*/
addresses: Omit<Customer, 'name'> & {
customer_id: number;
id: number;
}[];
/**
* The three-letter code for the currency that the customer used when they paid for their last order.
* @readonly
*/
currency: CurrencyCode;
/**
* The date the customer was created
*/
created_at: string;
/**
* The default address for the customer
*/
default_address: Omit<Customer, 'name'> & {
customer_id: number;
id: number;
};
/**
* The unique email for the customer
*/
email: string;
/**
* The customer's first name
*/
first_name: string;
/**
* The unique id for the customer
*/
id: string;
/**
* The customer's last name
*/
last_name: string;
/**
* The id of the customer's last order
* @readonly
*/
last_order_id: number | null;
/**
* The name of the customer's last order
*/
last_order_name: string | null;
/**
* Attached additional metadata
*/
metafield: Metafield;
/**
* The marketing level subscription opt-in level
*/
marketing_opt_in_level: 'single_opt_in' | 'confirmed_opt_in' | 'unknown' | null;
/**
* The unique identifier for the customer that's used with Multipass login
*/
multipass_identifier: number | unknown;
/**
* The number of orders associated with this customer
* @readonly
*/
orders_count: number;
/**
* The unique phone number for this customer
*/
phone: string;
/**
* The state of the customer's account with the shop
*/
state: CustomerAccountState;
/**
* A list of comma-separated values of tags the shop owner has attached to a customer
*/
tags: string;
/**
* Whether the customer is except from paying taxes on their order
*/
tax_exempt: boolean;
/**
* Whether the customer is excempt from paying specific taxes on their order. Canadian taxes only.
*/
tax_exemptions: CustomerTaxExceptions[];
/**
* The total amount of money the customer has spent across their order
* @readonly
*/
total_spent: string;
/**
* The date when the customer information was last updated
*/
updated_at: string;
/**
* Whether the customer has verified their email
* @reaodnly
*/
verified_email: boolean;
}
/**
* https://shopify.dev/docs/admin-api/rest/reference/customers/customer-address#properties-2020-04
*/
export interface CustomerAddress {
/**
* The customer's mailing address
*/
address1: string;
/**
* An additional field for the customer's mailing address
*/
address2: string;
/**
* The customer's city, town or village
*/
city: string;
/**
* The customer's country
*/
country: string;
/**
* The two-letter country code corresponding to the customer's country
* @readonly
*/
country_code: string;
/**
* The customer's normalized country name
*/
country_name: string;
/**
* The customer's company
*/
company: string | null;
/**
* The customer's first name
*/
first_name: string;
/**
* The customer's last name
*/
last_name: string;
/**
* The customer's first and last name
*/
name: string;
/**
* The customer's phone number at this address
*/
phone: string;
/**
* The customer's region name. Typically a prvince, state or prefecture
*/
province: string;
/**
* The two-letter code for the customer's region
*/
province_code: string;
/**
* The customer's postal code, also known as zip, postcard, Eircode, etc.
*/
zip: string;
}
/**
* https://shopify.dev/docs/admin-api/rest/reference/customers/customersavedsearch#customer-saved-search-queries-2020-04
*/
export declare enum CustomerSavedSearchQueries {
/**
* Filters customers by whether they accept email marketing.
* 0 = doesn't accept
* 1 = accepts
*/
AcceptsMarketing = "accepts_marketing",
/**
* Retrieves customers from a specified country
*/
Country = "country",
/**
* Retrieves customers who were created within a set period of time:
*
* * `past_week`: Return customers who were created in the last week.
* * `past_month`: Return customers who were created in the last month.
* * `last_3_months`: Return customers who were created in the last 3 months.
* * `past_quarter`: Return customers who were created in the last quarter.
* * `past_year`: Return customers who were created in the last year.
* * `yyyy-m-d`: Return customers who were created on a set date.
* * `>yyyy-m-d`: Return customers who were created after a set date.
* * `<yyyy-m-d`: Return customers who were created before a set date.
*/
CustomerDate = "customer_date",
/**
* Retrieves customers who abandoned a cart within a set period of time:
*
* * `last_week`: Returns customers who abandoned a cart in the last week
* * `last_month`: Returns customers who abandoned a cart within the last month
*/
LastAbandonedOrderDate = "last_abandoned_order_date",
/**
* Retrieves customers who placed an order within a set period of time:
*
* * `last_week`: Return customers who placed an order in the last week.
* * `last_month`: Return customers who placed an order in the last month.
* * `last_3_months`: Return customers who placed an order in the last 3 months.
* * `last_year`: Return customers who placed an order in the last year.
* * `>yyyy-m-d`: Return customers who placed an order after a set date.
* * `<yyyy-m-d`: Return customers placed an order before a set date.
*/
OrderDate = "order_date",
/**
* Retreives customers by the number of orders they've placed with the store:
*
* * `>number_of_orders`: Returns customers who have placed fewer than the specified number of orders
* * `<number_of_orders`: Returns customers who have placed more than the specified number of orders
* * `number_of_orders`: Returns customers who have placed the specified number of orders
*/
OrdersCount = "orders_count",
/**
* Filter customers by their customer account status:
*
* * `declined`: Returns customers who have been invited to create an account but declined
* * `disabled`: Returns customers whose account is disabled
* * `enabled`: Returns customers who have a customer account
* * `invited`: Returns customers who have been invited to create an account
*/
Status = "status",
/**
* Filter customers by tag. Valid values are any existing customer tag contained in quotation marks:
* @example `"Big Spender"`
*/
Tag = "tag",
/**
* Retreives customers by the total amount that they have spent across all of their orders:
*
* * `>money_amount`: Returns customers who have spent less than the specified amount of money
* * `<money_amount`: Returns customers who have spent more than the specified amount of money
* * `money_amount`: Returns customers who have spent the specified amount of money
*/
TotalSpent = "total_spent"
}
/**
* https://shopify.dev/docs/admin-api/rest/reference/customers/customersavedsearch#properties-2020-04
*/
export interface CustomerSavedSearch {
/**
* The date when the customer saved search was created
*/
created_at: string;
/**
* The inique id of the customer saved search
* @readonly
*/
id: number;
/**
* The name of the customer saved search
*/
name: string;
/**
* The set of conditions that determins which customers are returned by the saved search
*/
query: string;
/**
* The date when the customer saved search was last modified
* @readonly
*/
updated_at: string;
}
export interface CustomerInvite {
/**
* The email the invite was sent to
*/
to: string;
/**
* The email the invite was sent from
*/
from: string;
/**
* The subject of the email
*/
subject: string;
/**
* A custom message included in the invite
*/
custom_message: string;
/**
* Any emails BCC'd in the email
*/
bcc: string[];
}
//# sourceMappingURL=customer.d.ts.map