data-and-reporting-sdk
Version:
Data And Reporting product consists of API's which provides details of transaction and invoice informations about shell cards. The Shell Card Transaction and Invoice API is REST-based and employs Basic authentication in Version 1 and Oauth authentication
137 lines (133 loc) • 4.12 kB
text/typescript
/**
* Shell Data & Reporting APIsLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import {
array,
boolean,
lazy,
number,
object,
optional,
Schema,
string,
} from '../schema';
import { Accounts, accountsSchema } from './accounts';
import { ExceptionProduct, exceptionProductSchema } from './exceptionProduct';
export interface TransactionExceptionsRequest {
/**
* Collecting Company Id of the selected payer.
* Optional if ColCoCode is passed else Mandatory.
* Example:
* 1 for Philippines
* 5 for UK
*/
colCoId?: number;
/**
* Collecting Company Code of the selected payer.
* Mandatory for serviced OUs such as Romania, Latvia, Lithuania, Estonia, Ukraine etc. It is optional for other countries if ColCoID is provided.
* Example:
* 86 for Philippines
* 5 for UK
*/
colCoCode?: number;
/**
* Payer Id of the selected payer.
* Optional if PayerNumber is passed else Mandatory
*/
payerId?: number;
/**
* Payer Number of the selected payer.
* Optional if PayerId is passed else Mandatory
*/
payerNumber?: string;
accounts?: Accounts[];
/**
* Exceptions to be searched in transactions from date.
* Should be with in last 24 months from the ToDate parameter.
* Mandatory
* Format: yyyyMMdd
*/
transactionsFromDate: string;
/**
* Exceptions to be searched in transactions until date.
* Mandatory.
* Format: yyyyMMdd
*/
transactionsToDate: string;
/** Value to be used on the Filter Condition */
value?: number;
/**
* Filter condition for the Exceptions.
* Mandatory
* 1. VolumeGreaterThan
* 2. VolumeLessThan
* 3. UsageGreaterThan
* 4. UsageLessThan
* 5. ValueGreaterThan (in Customer Currency)
* 6. ValueLessThan (in Customer Currency)
* Note: -
* When “OutputType” = 1 is passed as input, above 3 and 4 Condition are not applicable.
*/
condition: number;
products?: ExceptionProduct[];
/**
* Period in which the Exceptions such as Monthly/Weekly or Daily volume, value or usage to be identified in the given transactions date range. It is only applied when the Output Type is specified as "Cards".
* Mandatory when Output Type is Cards
* 1. Month
* 2. Week
* 3. Day
* 4. Date Range
*/
exceptionPeriod?: number;
/**
* Output Type for Exceptions.
* Mandatory.
* Possible values:
* 1. Transactions
* 2. Cards
*/
outputType: number;
/**
* True/False
* Optional
* Default value: False.
* When passed as ‘True’ Only returned records with Fuel transactions.
* When passed as ‘False’ the above condition will not be checked.
*/
fuelOnly?: boolean;
/**
* SiteGroupIds to be applied to the Filter Condition.
* Optional
* When not passed, ignored.
* When passed, transactions that are matching with the provided list of site group id’s are only returned.
*/
siteGroupIds?: number[];
/**
* True/False
* Optional
* Default value – False.
* When set to True, the property names in the output will be replaced by Field IDs.
*/
useFieldId?: boolean;
}
export const transactionExceptionsRequestSchema: Schema<TransactionExceptionsRequest> = object(
{
colCoId: ['ColCoId', optional(number())],
colCoCode: ['ColCoCode', optional(number())],
payerId: ['PayerId', optional(number())],
payerNumber: ['PayerNumber', optional(string())],
accounts: ['Accounts', optional(array(lazy(() => accountsSchema)))],
transactionsFromDate: ['TransactionsFromDate', string()],
transactionsToDate: ['TransactionsToDate', string()],
value: ['Value', optional(number())],
condition: ['Condition', number()],
products: ['Products', optional(array(lazy(() => exceptionProductSchema)))],
exceptionPeriod: ['ExceptionPeriod', optional(number())],
outputType: ['OutputType', number()],
fuelOnly: ['FuelOnly', optional(boolean())],
siteGroupIds: ['SiteGroupIds', optional(array(number()))],
useFieldId: ['UseFieldId', optional(boolean())],
}
);