UNPKG

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

546 lines (545 loc) 23.3 kB
/** * Shell Data & Reporting APIsLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { ApiResponse, RequestOptions } from '../core'; import { CardUsageSummaryRequest } from '../models/cardUsageSummaryRequest'; import { CardUsageSummaryResponse } from '../models/cardUsageSummaryResponse'; import { FeeSummaryResponse } from '../models/feeSummaryResponse'; import { FuelConsumptionRequest } from '../models/fuelConsumptionRequest'; import { FuelConsumptionResponse } from '../models/fuelConsumptionResponse'; import { MultiPricedTransactionRequest } from '../models/multiPricedTransactionRequest'; import { MultiPricedTransactionResponse } from '../models/multiPricedTransactionResponse'; import { PricedTransactionRequestV2 } from '../models/pricedTransactionRequestV2'; import { PricedTransactionResponse } from '../models/pricedTransactionResponse'; import { PricedTransactionResponseV2 } from '../models/pricedTransactionResponseV2'; import { PricedTransSummaryResponse } from '../models/pricedTransSummaryResponse'; import { PriceTransactionRequest } from '../models/priceTransactionRequest'; import { PriceTransSummaryRequest } from '../models/priceTransSummaryRequest'; import { RecentTransactionRequest } from '../models/recentTransactionRequest'; import { RecentTransactionsResponse } from '../models/recentTransactionsResponse'; import { TransactionExceptionsRequest } from '../models/transactionExceptionsRequest'; import { TransactionExceptionsResponse } from '../models/transactionExceptionsResponse'; import { TransactionFeesRequest } from '../models/transactionFeesRequest'; import { TransactionFeesResponse } from '../models/transactionFeesResponse'; import { UpdateOdometerRequest } from '../models/updateOdometerRequest'; import { UpdateOdometerResponse } from '../models/updateOdometerResponse'; import { VolumeBasedBonusRequest } from '../models/volumeBasedBonusRequest'; import { VolumeBasedBonusResponse } from '../models/volumeBasedBonusResponse'; import { VolumeBasedPricingRequest } from '../models/volumeBasedPricingRequest'; import { VolumeBasedPricingResponse } from '../models/volumeBasedPricingResponse'; import { BaseController } from './baseController'; export declare class TransactionController extends BaseController { /** * This API allows querying transaction data (i.e. Priced, Billed and Unbilled sales items). It * provides a flexible search criteria and supports paging. * * * * Transactions that are posted but not yet priced, billed or that are in error will not be returned by * this API. The API also supports returning Fee Items. * * * * #### Supported operations * * * Get sales items and fee transactions * * * Search by invoice status * * * Search by fixed date period * * * Search by date range * * * Search by account * * * Search by card * * * Get sales items only * * * Search by transaction Id or location * * * Search by transaction posting date * * * Search by invoice number or date * * * Search by driver name or vehicle registration number * * * Search by card group * * * Search by fuel only transactions * * * Search by product * * * * This API fetches transactions for a period based on the below parameters and priority order: * * 1. InvoiceNumber * * 2. InvoiceDate * * 3. FromDate, ToDate * * 4. PostingFromDate, PostingToDate (Can be used only when IncludeFees = false) * * 5. InvoiceDateFrom, InvoiceDateTo * * 6. Period * * * * This API considers only one of the above set of parameters at a time. For example, if InvoiceNumber * and Period are provided in the input then Period is ignored and transactions associated to the given * invoice number are returned. * * * * If none of the above parameters are provided then last 7 days transactions will be fetched. * * * * This operation can fetch transactions that are old up to 24 (configurable) months. However, the date * range between any of the ‘From’ and ‘To’ dates in the above combination cannot be more than 210 * (configurable) days. * * * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body Priced Transaction Request Body * @return Response from the API call */ pricedTransactions(apikey: string, requestId: string, body?: PriceTransactionRequest, requestOptions?: RequestOptions): Promise<ApiResponse<PricedTransactionResponse>>; /** * This API returns the transaction summary data (i.e. Priced, Billed and Unbilled sales items). It * provides a flexible search criteria. * * The API also supports returning Fee Items. Transactions posted for fee items that are in error are * not included in the summary. * * * * The endpoint supports the exact same search criteria as the endpoint * *transaction/prciedtransactions*. * * * * #### Supported operations * * * Get sales items and fee transactions * * * Search by invoice status * * * Search by fixed date period * * * Search by date range * * * Search by account * * * Search by card * * * Get sales items only * * * Search by transaction Id or location * * * Search by transaction posting date * * * Search by invoice number or date * * * Search by driver name or vehicle registration number * * * Search by card group * * * Search by fuel only transactions * * * Search by product * * * * This API fetches transactions for a period based on the below parameters and priority order: * * 1. InvoiceNumber * * 2. InvoiceDate * * 3. FromDate, ToDate * * 4. PostingFromDate, PostingToDate (Can be used only when IncludeFees = false) * * 5. InvoiceDateFrom, InvoiceDateTo * * 6. Period * * * * This API considers only one of the above set of parameters at a time. For example, if InvoiceNumber * and Period are provided in the input then Period is ignored and transactions associated to the given * invoice number are returned. * * * * If none of the above parameters are provided then last 7 days transactions will be fetched. * * @param apikey This is the API key of the specific environment which * needs to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body PricedSummary RequestBody * @return Response from the API call */ pricedTransactionsSummary(apikey: string, requestId: string, body?: PriceTransSummaryRequest, requestOptions?: RequestOptions): Promise<ApiResponse<PricedTransSummaryResponse>>; /** * This API allows querying transaction data (i.e. Priced, Billed and Unbilled sales items) for * multiple payers. It provides a flexible search criteria and supports paging. * * * * Transactions that are posted but not yet priced, billed or that are in error will not be returned by * this API. The API also supports returning Fee Items. * * * * At least one payer should be provided. Multiple payers must belong to the same payer group. * * * * #### Supported operations * * * Get sales items and fee transactions for multiple payers * * * Search by invoice status * * * Search by fixed date period * * * Search by date range * * * Get sales items only for multiple payers * * * Search by transaction location * * * Search by transaction posting date * * * Search by invoice number or date * * * Search by fuel only transactions * * * * This API fetches transactions for a period based on the below parameters and priority order: * * 1. InvoiceNumber * * 2. InvoiceDate * * 3. FromDate, ToDate * * 4. PostingFromDate, PostingToDate (Can be used only when IncludeFees = false) * * 5. InvoiceDateFrom, InvoiceDateTo * * 6. Period * * * * This API considers only one of the above set of parameters at a time. For example, if InvoiceNumber * and Period are provided in the input then Period is ignored and transactions associated to the given * invoice number are returned. * * * * If none of the above parameters are provided then last 7 days transactions will be fetched. * * @param apikey This is the API key of the specific environment which * needs to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in * the response from the request. * @param body MultiPayer RequestBody * @return Response from the API call */ multipricedTransactions(apikey: string, requestId: string, body?: MultiPricedTransactionRequest, requestOptions?: RequestOptions): Promise<ApiResponse<MultiPricedTransactionResponse>>; /** * This operation is to provide the expenditure analysis for a card for the past 7 months. * The response contains a daily summary of the transactions (billed & unbilled) from 1st of the last 7 * months for the requested card grouped by card, site-group and product. * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body Card Usage Summary RequestBody * @return Response from the API call */ cardUsageSummary(apikey: string, requestId: string, body?: CardUsageSummaryRequest, requestOptions?: RequestOptions): Promise<ApiResponse<CardUsageSummaryResponse>>; /** * - This API provides the details of the bonus and/or association bonus rules setup for the given * payer and that are active on the current date. * - This API also returns the details of the monthly breakup of current period consumption as well as * the details of the previously calculated bonus and consumption of the applicable payers. * * * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body VolumeBasedBonus RequestBody * @return Response from the API call */ volumeBasedBonus(apikey: string, requestId: string, body?: VolumeBasedBonusRequest, requestOptions?: RequestOptions): Promise<ApiResponse<VolumeBasedBonusResponse>>; /** * - This API will return the details of the in arrear fee rule applied to the payer along with details * of locations, products, tiers as applied. * * - It will also show historical and current volume consumption and related tier applied for the * following month. * * * * @param apikey This is the API key of the specific environment which * needs to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body VolumeBasedPricing RequestBody * @return Response from the API call */ volumeBasedPricing(apikey: string, requestId: string, body?: VolumeBasedPricingRequest, requestOptions?: RequestOptions): Promise<ApiResponse<VolumeBasedPricingResponse>>; /** * This API returns the fee/charges levied from a customer's account in a billing period or date range. * The API returns both billed and unbilled fee items. * * * * To get the summary of charges, the endpoint *transaction/feessummary* should be called with the same * input criteria. * * * * #### Supported operations * * * Get fees by invoice status * * * Get fees by date period * * * Get fees by account * * * Get fees by card Id or PAN * * * Get fees by fee type charges * * * Get fees including cancelled items * * * Get fees by line item description * * * Get fees by product * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body Transaction Fees RequestBody * @return Response from the API call */ fees(apikey: string, requestId: string, body?: TransactionFeesRequest, requestOptions?: RequestOptions): Promise<ApiResponse<TransactionFeesResponse>>; /** * This API returns the summary data of the fee/charges levied from a customer's account in a billing * period or date range. The API returns both billed and unbilled fee items. * * * * The endpoint supports the exact same search criteria as the endpoint *transaction/feessummary*. * * * * #### Supported operations * * * Get fees by invoice status * * * Get fees by date period * * * Get fees by account * * * Get fees by card Id or PAN * * * Get fees by fee type charges * * * Get fees including cancelled items * * * Get fees by line item description * * * Get fees by product * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body FeeSummary RequestBody * @return Response from the API call */ feeSummaryResponse(apikey: string, requestId: string, body?: TransactionFeesRequest, requestOptions?: RequestOptions): Promise<ApiResponse<FeeSummaryResponse>>; /** * - This API returns the customer an overview of how many transactions, how much fuel volume used over * a given period and the total volume used by a card * * - This operation response will contains card & transaction details for given period aggregated by * payer, account, cardGroup, PAN, DriverName and VRN * * * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body FuelConsumption RequestBody * @return Response from the API call */ fuelConsumption(apikey: string, requestId: string, body?: FuelConsumptionRequest, requestOptions?: RequestOptions): Promise<ApiResponse<FuelConsumptionResponse>>; /** * - This API allows the users to update the odometer readings on the sales items (transaction data) * * - This is an asynchronous operation. If opted, the user will be notified on completion of processing. * * @param apikey This is the API key of the specific environment which needs * to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for requests * and responses. This will be played back in the response from * the request. * @param body updateOdometer RequestBody * @return Response from the API call */ updateOdometer(apikey: string, requestId: string, body?: UpdateOdometerRequest, requestOptions?: RequestOptions): Promise<ApiResponse<UpdateOdometerResponse>>; /** * - This API provides the details of the Cards or Transaction related exceptions based on the given * conditions for the Requested period. * - This API will return the Transactions related exceptions when the OutputType input parameter is * passed as ‘Transaction’ else will return the Cards related exceptions. * * * * @param apikey This is the API key of the specific environment which * needs to be passed by the client. * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body Transaction Exceptions RequestBody * @return Response from the API call */ transactionExceptions(apikey: string, requestId: string, body?: TransactionExceptionsRequest, requestOptions?: RequestOptions): Promise<ApiResponse<TransactionExceptionsResponse>>; /** * This endpoint allows querying last 48 hours of transaction data of Shell Card (i.e. Priced, Billed, * Unbilled etc. sales items). It provides a flexible search criteria and supports pagination. E.g., if * the request is made at 08:30 AM on 18 Aug 2022 then transactions until 16 Aug 2022 08:30 AM * (including) can be retrieved. * * * #### Supported operations * * * Search by Date and Time range (within the last 48 hours only) * * * Search by Payer and/or Account number * * * Search by Card * * * Search by Purchased Country * * * Search by Transaction posting date * * * Search by Driver Name or Vehicle registration number * * * Search by Fuel only transactions * * * Search by Product and/or Product group * * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body New Recent Transaction RequestBody * @return Response from the API call */ recentTransactionsNew(requestId: string, body?: RecentTransactionRequest, requestOptions?: RequestOptions): Promise<ApiResponse<RecentTransactionsResponse>>; /** * This API allows querying transaction data (i.e. Priced, Billed and Unbilled sales items). It * provides a flexible search criteria and supports paging. * * The version 2 is an enhancement to the version 1 where EV transactions and their details are added * in the response. * * * * Transactions that are posted but not yet priced, billed or that are in error will not be returned by * this API. The API also supports returning Fee Items. * * * * #### Supported operations * * * Get sales items and fee transactions * * * Search by invoice status * * * Search by fixed date period * * * Search by date range * * * Search by account * * * Search by card * * * Get sales items only * * * Search by transaction Id or location * * * Search by transaction posting date * * * Search by invoice number or date * * * Search by driver name or vehicle registration number * * * Search by card group * * * Search by fuel only transactions * * * Search by product * * * EV transaction details - Below are EV specific parameters * * * EVOperator * * * EVSerialId * * * EVChargePointSerial * * * EVChargePointConnectorType * * * EVChargePointConnectorTypeDescription * * * EVChargeDuration * * * EVChargeStartDate * * * EVChargeStartTime * * * EVChargeEndDate * * * EVChargeEndTime * * @param requestId Mandatory UUID (according to RFC 4122 standards) for * requests and responses. This will be played back in the * response from the request. * @param body Priced TransactionV2 RequestBody * @return Response from the API call */ pricedTransactionsV2(requestId: string, body?: PricedTransactionRequestV2, requestOptions?: RequestOptions): Promise<ApiResponse<PricedTransactionResponseV2>>; }