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
408 lines (388 loc) • 14.2 kB
text/typescript
/**
* Shell Data & Reporting APIsLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import {
PricedTransactionRequestV2,
PricedTransactionReqV2InvoiceStatusEnum,
PricedTransactionReqV2PeriodEnum,
PricedTransactionReqV2SortOrderEnum,
PricedTransactionResponseV2,
PricedTransactionRespV2RefundFlagEnum,
RecentTransactionRequest,
RecentTransactionsResponse,
TransactionController,
} from '../src';
import { testClient } from './testClient';
import {
expectHeadersToMatch,
expectMatchingWithOptions,
makeApiCall,
} from './testHelper';
describe('TransactionController', () => {
let controller : TransactionController;
beforeAll(() => {
controller = new TransactionController(testClient);
});
it('should Test RecentTransactionsNew', async () => {
const requestId = '2b0cbe11-f109-4c43-9201-49af0370df1c';
const body: RecentTransactionRequest = {
pageSize: 1,
page: 1,
filters: {
colCoCode: 14,
payerNumber: 'GB00001232',
accountNumber: 'GB00001233',
productCode: '22',
purchasedInCountry: 'GB',
cardPAN: '700205******890645',
fromDateTime: '2020-11-09 13:56:03.000',
toDateTime: '2020-12-09 13:56:03.000',
transactionStatus: 'APPROVED',
fuelOnly: 'False',
productGroupName: 'Motor gasoline',
vehicleRegistrationNumber: 'YG67OUM',
includeDeclines: true,
cardIssuerName: 'Mathew',
columnList: 'PayerNumber,AccountNumber,ProductName,FuelVolume,PAN',
},
};
const response = await makeApiCall(
() => controller.recentTransactionsNew(requestId, body)
);
expect(response.statusCode).toBe(200);
const expectedHeaders = { 'Content-Type': ['application/json', true] };
expectHeadersToMatch(response.headers, expectedHeaders);
const expected: RecentTransactionsResponse = {
requestId: '9d2dee33-7803-485a-a2b1-2c7538e597ee',
status: 'SUCCESS',
page: 1,
rowCount: 2,
totalPages: 1,
data: [
{
colCoCode: 84,
payerNumber: 'MY00200653',
accountNumber: 'MY00200653',
cardIssueNumber: '1',
collectingCompanyCurrencyCode: 'MYR',
custDataCustomerEntered: 'PartnerId',
custDataDriverId: 'D123',
custDataFleetDescription: 'Fleet-Truck',
fleetIdInput: 'AS2344',
amount: 62.47,
euroshellSiteNumber: '1231',
incomingProductCode: '10',
productCode: '23',
productName: 'Unleaded - Low octane',
siteCode: 3350,
hostingCollectingCompanyName: 'Shell Malaysia Trading Sdn Bhd',
hostingCollectingCompanyNumber: '84',
iccdataTranTypeCode: '1',
transactionType: 'Transaction Type description',
latitude: '52.143814',
longitude: '101.72869',
merchantCategory: '5542',
merchantCategoryDescription: 'Description',
purchasedInCountry: 'MY',
merchantId: 'MY1737000000000',
siteName: 'ShellPT3895 BATU 4 KUALA LUMPUR MY',
network: '458',
delcoCode: '084',
odometerInput: '201620',
odometerReadingKm: '201620',
odometerReadingMiles: '201620',
cardPAN: '700214*******780061',
pINIndicator: 'Y',
pOIReceiptNumber: '417662',
productsCodeAdditional: 'Additional Code',
productsTaxCode: '0',
fuelVolume: 34.15,
sfgwCardDateOfExpiry: '2024-12',
siteCurrencyISOCode: 'MYR',
cardId: '330743',
transactionDate: '2021-11-11',
transactionDateTime: '2021-11-11 16:32:09.000',
transactionId: '864220307',
transactionStatus: 'Approved',
unitOfMeasure: 'L',
vehicleRegistrationNumber: 'WD33637',
networkDelcoName: 'Shell Malaysia Trading Sdn Bhd',
productGroupName: 'Motor gasoline',
fuelProduct: 'All Fuels',
accountCustomerName: 'WCT BERHAD',
payerName: 'WCT BERHAD',
transactionTime: '2021-11-11',
transactionCurrency: 'RM',
unitPrice: 0.02050073206442167,
authorisedFlag: 'Y',
transactionTimeGMT: '08:41:02',
reasonCode: '10',
issuerActionCode: '2',
issuerActionCodeDescription: 'Approved, partial',
declinedReason: 'partial',
cardStatusReasonDescription: 'Approved, partial',
transactionCountry: '458',
issuingCollectingCompanyName: 'Partner Name',
cardIssuerName: 'John',
driverName: 'PAK PAK',
bearerDescription: 'Description',
cardCategoryDescription: 'Driver Card',
cardTypeDescription: 'SHELL FLEET- HONG KONG 7002821',
cardTokenTypeDescription: 'HK FLE NAT SIN R1 - CHIP',
embossType: 'Driver',
eVPrintedNumber: 'NL-TNM-C00122045-K',
isRFID: false,
}
],
};
expect(response.result).not.toBeNull();
expectMatchingWithOptions(
expected,
response.result,
{ allowExtra: true, isOrdered: false, checkValues: false }
);
});
it('should Test PricedTransactionsV2', async () => {
const requestId = '2b0cbe11-f109-4c43-9201-49af0370df1c';
const body: PricedTransactionRequestV2 = {
filters: {
colCoCode: '032',
invoiceStatus: PricedTransactionReqV2InvoiceStatusEnum.A,
payerNumber: 'DE26685263',
accountId: 29484,
accountNumber: 'DE26667080',
driverName: 'HH NX 508',
cardGroupId: 40000,
cardPAN: '7002051006629890645',
productCode: '10',
productName: 'Diesel AGO',
siteCode: '05000100',
incomingSiteNumber: '100021',
invoiceDate: '2021-01-01',
invoiceNumber: '3201016193',
purchasedInCountryCode: 'GB',
purchasedInCountry: 'United Kingdom',
siteGroupId: 202,
vehicleRegistrationNumber: '4K46801',
feeTypeId: 275549,
lineItemDescription: 'ABC3',
cards: [
0
],
sortOrder: PricedTransactionReqV2SortOrderEnum.Enum5,
fromDate: '2022-01-01 00:00:00',
toDate: '2022-01-01 00:00:00',
period: PricedTransactionReqV2PeriodEnum.Enum3,
postingDateFrom: '2022-01-01 00:00:00',
postingDateTo: '2022-01-01 00:00:00',
transactionItemId: '1208176398',
fuelOnly: false,
includeFees: true,
isMultipayer: true,
validInvoiceDateOnly: false,
invoiceFromDate: '2022-01-01 00:00:00',
invoiceToDate: '2022-01-01 00:00:00',
hostingCollectingCompanyNumber: '032',
search: '2K89909',
transactionId: 'io9KVXk1UkW57XWKyeaHHg',
},
page: 1,
pageSize: 1,
};
const response = await makeApiCall(
() => controller.pricedTransactionsV2(requestId, body)
);
expect(response.statusCode).toBe(200);
const expectedHeaders = { 'Content-Type': ['application/json', true] };
expectHeadersToMatch(response.headers, expectedHeaders);
const expected: PricedTransactionResponseV2 = {
requestId: '9d2dee33-7803-485a-a2b1-2c7538e597ee',
status: 'SUCCESS',
data: [
{
accountName: 'Blue Colour Ltd',
accountId: 29484,
accountNumber: 'DE26667080',
accountShortName: 'Mathew',
additional1: 'GBALLEGO0002452',
additional2: 'GBALLEGO0002452',
additional3: 'GBALLEGO0002452',
additional4: 'GBALLEGO0002452',
allowClearing: 'Null',
authorisationCode: 300796,
transactionStatus: 'Y',
driverName: 'SATTY BHAMRA',
cardExpiryPeriod: 2204,
cardExpiry: '20220101',
cardGroupId: 40000,
cardGroupName: '006240 FIRE BRIGHT SOLUTIONS',
issuerCode: 7002,
cardPAN: '7002053465789891000',
releaseCode: 9,
cardSequenceNumber: 617,
cardType: 'GB STD FLT NAT SINGLE R9',
colCoCode: '014',
unitDiscountInvoiceCurrency: -0.0051,
colCoExchangeRate: 0.851858,
invoiceCurrencySymbol: 'GBP',
correctionFlag: true,
cRMNumber: 10,
customerCountry: 'United Kingdom',
customerCurrencyCode: 'GBP',
customerCurrencySymbol: '£',
rebateonNetAmountInCustomerCurrency: 0,
effectiveDiscountInCustomerCurrency: -0.22,
effectiveUnitDiscountInCustomerCurrency: -0.0051,
unitPriceInInvoiceCurrency: 1.1024,
invoiceTax: 0,
invoiceGrossAmount: 57.25,
invoiceNetAmount: 47.71,
vATonNetAmountInCustomerCurrency: 9.54,
customerRetailPriceUnitGross: 0,
customerRetailValueTotalGross: 57.52,
customerRetailValueTotalNet: 47.93,
transactionTypeDescription: 9.59,
rebateonNetAmountInTransactionCurrency: -0.22,
effectiveDiscountInTrxCurrency: -0.22,
delCoToColCoExchangeRate: 0,
cards: [
275549
],
unitDiscountTransactionCurrency: -0.005,
transactionGrossAmount: 57.25,
transactionNetAmount: 47.71,
transactionTax: 9.54,
vATonNetAmount: 9.54,
delcoListPriceUnitNet: 0,
delcoRetailPriceUnitGross: 1.32888,
unitPriceInTransactionCurrency: 1.1074,
delcoRetailPriceUnitNet: 1.1074,
delcoRetailValueTotalGross: 57.52,
delcoRetailValueTotalNet: 47.93,
transactionCurrencySymbol: '$',
discountType: 'Retail',
disputeStatus: false,
isShellSite: false,
fleetIdInput: 'YG67OUM',
incomingProductCode: 23,
postingDate: '20210802',
postingTime: '14:15:22',
productCode: 30,
productName: 'Unleaded - Medium octane',
productGroupId: 22,
incomingCurrencyCode: 'GBP',
incomingSiteDescription: 'Shell Broadway Ring',
location: 'Shell Broadway Ring',
siteName: 'Shell Broadway Ring',
siteCode: 32,
incomingSiteNumber: 15,
invoiceCurrencyCode: 'GBP',
invoiceDate: '20210802',
invoiceNumber: 3201016193,
fuelProduct: true,
vATApplicable: 'Y',
payerName: 'Colours Services Ltd',
payerNumber: 'GB12121212',
parentCustomerNumber: 'GB12121212',
payerGroup: 'H312066',
payerGroupName: '12162566 - FUEL CARD SERVICE',
checkDigit: 6,
netInvoiceIndicator: 'Y',
delcoCode: 5,
networkCode: 3,
purchasedInCountry: 'United Kingdom',
siteCountry: 'United Kingdom',
vATCountry: 'United Kingdom',
delcoName: 'Shell U.K. Oil Products Limited',
network: 'Shell',
odometerInput: 0,
originalSalesItemId: 'Null',
fleetIDDescription: 'YG67OUM',
parentCustomerId: 6494,
pINIndicator: 'Y, N',
productGroupName: 'Fees',
purchasedInCountryCode: 'GB',
quantity: 43.28,
rebateRate: 0.0022,
receiptNumber: 6803,
refundFlag: PricedTransactionRespV2RefundFlagEnum.Y,
siteGroupId: 202,
siteGroupName: 'CZ 9100 ECONOMY NETWORK',
latitude: 53.83606,
longitude: -1.61854,
delCoExchangeRate: 0.851858,
euroRebateAmount: -0.258259,
netEuroAmount: 56.01,
euroVATAmount: 11.2,
parentCustomerName: 'FUEL CARD SERVICES LTD',
isInvoiced: false,
transactionCurrencyCode: 'GBP',
creditDebitCode: 'D or C',
transactionDate: '20210801',
transactionTime: '12:16:58',
transactionItemId: 'H305908971030',
trnIdentifier: 'H305908971030',
type: 'SALE',
transactionLine: 1,
transactionType: 'Purchase',
uTCOffset: 'Europe/London',
vATCategory: 'United Kingdom Standard VAT Rate',
vATRate: 0.2,
vehicleRegistration: 'YG67OUM',
isCancelled: 'Y',
colCoGrossAmount: 57.25,
colCoNetAmount: 47.71,
colCoVATAmount: 9.54,
originalCurrencySymbol: '$',
originalCurrencyCode: '$',
originalVATAmount: 0,
embossText: 'PARKLANE PROPERTIES LTD',
originalExchangeRate: 0,
originalTransactionItemInvoiceDate: '20220202',
feeTypeId: 1,
lineItemDescription: true,
feeRuleDescription: 'Simple Fee',
frequency: 1,
feeRuleId: 1,
systemEntryDate: '20210828',
systemEntryTime: '20:21:08',
isManual: 'Y',
originalTransactionItemId: 'Y',
originalTransactionItemInvoiceNumber: 6750802,
originalTransactionItemInvoiceId: 234,
payerShortName: 'FUEL CARD SERVICES LTD',
reverseCharge: 'Y',
originalGrossAmount: 57.25,
originalNetAmount: 57.25,
unitOfMeasure: 'L',
roadType: 'National Road',
customerCountryIsoCode: 'DE',
eVOperator: 'Shell Recharge',
eVSerialId: 'GBALLEGO0002452',
eVChargePointSerial: 'GBALLEGO0002452',
eVChargePointConnectorType: 5,
eVChargePointConnectorTypeDescription: 'DC 50 kW',
eVChargeDuration: 'PT3205S',
eVChargeStartDate: '2021-08-01',
eVChargeStartTime: '20:08:01',
eVChargeEndDate: '2022-08-01',
eVChargeEndTime: '20:08:01',
hostingCollectingCompanyNumber: 0,
transactionId: 0,
fuelOnly: true,
}
],
page: 3,
pageSize: 30,
totalPages: 5,
};
expect(response.result).not.toBeNull();
expectMatchingWithOptions(
expected,
response.result,
{ allowExtra: true, isOrdered: false, checkValues: false }
);
});
});