UNPKG

@arc-publishing/sdk-sales

Version:
119 lines (118 loc) 3.63 kB
import { APIErrorResponse } from '@arc-publishing/sdk-subs-core/lib/utils/APIErrorResponse'; export type SubscriptionStatuses = 1 | 2 | 3 | 4 | 5 | 6 | 7; export interface Subscription { subscriptionID: number; sku: string; nextEventDateUTC: number; subscriptionType: number; status: SubscriptionStatuses; events: Array<SubscriptionEvent>; salesOrders?: Array<SalesOrder>; paymentHistory?: Array<Payment>; productName: string; priceCode: string; currentPaymentMethod: PaymentMethod; clientID: string; billingAddress: Address; } export interface SubscriptionSummary { subscriptionID: number; status: SubscriptionStatuses; paymentMethod?: PaymentMethod | null; productName?: string | null; sku?: string | null; } export interface SubscriptionSummaryAddress { subscriptionID: number; status: SubscriptionStatuses; paymentMethod?: PaymentMethod | null; productName?: string | null; sku?: string | null; billingAddress?: Address; } export interface SubscriptionSummaryAPIResponse { subscriptionID: number; statusID: SubscriptionStatuses; paymentMethod?: PaymentMethod | null; productName?: string | null; sku?: string | null; } export type Subscriptions = Array<Subscription | SubscriptionSummary>; export interface CanceledSubscription { subscriptionID: number; status: 3; } export interface SharingDetails { numSharesAllowed: number | null; sharedSubscriptions: Array<AssociateInfo>; } export interface AssociateInfo { email: string; subscriptionID: number; } export interface SubscriptionEvent { eventType: string; eventDateUTC: number; details: string | null; } export interface SalesOrder { id: number; orderDateUTC: number; orderNumber: string; status: number; tax: number; shipping: number; total: number; } export interface Payment { currency: string; periodFrom: number; periodTo: number; sku: string; tax: number; total: number; transactionDate: number; } export interface PaymentMethod { creditCardType: string | null; firstSix: string | null; lastFour: string | null; expiration: string | null; cardHolderName: string | null; paymentPartner: string; paymentMethodID: number; } export interface Address { country?: string | null; line1?: string | null; line2?: string | null; locality?: string | null; region?: string | null; postal?: string | null; } export interface SubscriptionIDResponse { subscriptionID: number; } export interface ReedemCodeResponse { redeemCode: string; } export declare function isReedemCodeResponse(r: any): r is ReedemCodeResponse; export declare function isSubscriptionIDResponse(r: any): r is SubscriptionIDResponse; export declare function isSharingDetails(x: any): x is SharingDetails; export declare function isSubscription(sub: any): sub is Subscription; export declare function isSubscriptionSummary(sub: any): sub is SubscriptionSummary; export declare function isSubscriptionDetail(sub: any): sub is Subscription; export declare function isAddress(address: any): address is Address; export interface GiftRecipient { email: string; name: string; note?: string; sendNotificationOn?: string; } export interface SetGiftRecipientResponse { subscriptionID: number; redeemCode: string; name: string; email: string; } export declare function isGiftRecipientResponse(setGiftRecipientResponse: APIErrorResponse | SetGiftRecipientResponse): setGiftRecipientResponse is SetGiftRecipientResponse;