/** * PagarmeApiSDKLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, boolean, dict, lazy, nullable, object, optional, Schema, string, } from '../schema'; import { CreateAntifraudRequest, createAntifraudRequestSchema, } from './createAntifraudRequest'; import { CreateCustomerRequest, createCustomerRequestSchema, } from './createCustomerRequest'; import { CreateDeviceRequest, createDeviceRequestSchema, } from './createDeviceRequest'; import { CreateLocationRequest, createLocationRequestSchema, } from './createLocationRequest'; import { CreateOrderItemRequest, createOrderItemRequestSchema, } from './createOrderItemRequest'; import { CreatePaymentRequest, createPaymentRequestSchema, } from './createPaymentRequest'; import { CreateShippingRequest, createShippingRequestSchema, } from './createShippingRequest'; import { CreateSubMerchantRequest, createSubMerchantRequestSchema, } from './createSubMerchantRequest'; /** Request for creating an order */ export interface CreateOrderRequest { /** Items */ items: CreateOrderItemRequest[]; /** Customer */ customer: CreateCustomerRequest; /** Payment data */ payments: CreatePaymentRequest[]; /** The order code */ code: string; /** The customer id */ customerId?: string | null; /** Shipping data */ shipping?: CreateShippingRequest; /** Metadata */ metadata?: Record | null; /** Defines whether the order will go through anti-fraud */ antifraudEnabled?: boolean; /** Ip address */ ip?: string; /** Session id */ sessionId?: string; /** Request's location */ location?: CreateLocationRequest; /** Device's informations */ device?: CreateDeviceRequest; closed: boolean; /** Currency */ currency?: string; antifraud?: CreateAntifraudRequest; /** SubMerchant */ submerchant?: CreateSubMerchantRequest; } export const createOrderRequestSchema: Schema = object({ items: ['items', array(lazy(() => createOrderItemRequestSchema))], customer: ['customer', lazy(() => createCustomerRequestSchema)], payments: ['payments', array(lazy(() => createPaymentRequestSchema))], code: ['code', string()], customerId: ['customer_id', optional(nullable(string()))], shipping: ['shipping', optional(lazy(() => createShippingRequestSchema))], metadata: ['metadata', optional(nullable(dict(string())))], antifraudEnabled: ['antifraud_enabled', optional(boolean())], ip: ['ip', optional(string())], sessionId: ['session_id', optional(string())], location: ['location', optional(lazy(() => createLocationRequestSchema))], device: ['device', optional(lazy(() => createDeviceRequestSchema))], closed: ['closed', boolean()], currency: ['currency', optional(string())], antifraud: ['antifraud', optional(lazy(() => createAntifraudRequestSchema))], submerchant: [ 'submerchant', optional(lazy(() => createSubMerchantRequestSchema)), ], });