UNPKG

card-management-sdk

Version:

The Shell Card Management API is REST-based and employs OAUTH 2.0,Basic and ApiKey authentication. The API endpoints accept JSON-encoded request bodies, return JSON-encoded responses and use standard HTTP response codes. All resources are located in the S

514 lines (510 loc) 18.9 kB
/** * Shell Card Management APIsLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, boolean, lazy, nullable, number, object, optional, Schema, string, unknown, } from '../schema.js'; import { CardDeliveryAddress, cardDeliveryAddressSchema, } from './cardDeliveryAddress.js'; import { CardDetailsResponseCardBlockSchedulesItemsAllOf0, cardDetailsResponseCardBlockSchedulesItemsAllOf0Schema, } from './cardDetailsResponseCardBlockSchedulesItemsAllOf0.js'; import { CardDetailsResponseFuelSetsItems, cardDetailsResponseFuelSetsItemsSchema, } from './cardDetailsResponseFuelSetsItems.js'; import { CardDetailsResponseInternationalPOSLanguageCodeEnum, cardDetailsResponseInternationalPOSLanguageCodeEnumSchema, } from './cardDetailsResponseInternationalPOSLanguageCodeEnum.js'; import { CardDetailsResponseInternationalPOSLanguageIDEnum, cardDetailsResponseInternationalPOSLanguageIDEnumSchema, } from './cardDetailsResponseInternationalPOSLanguageIDEnum.js'; import { CardDetailsResponseNonFuelSetsItems, cardDetailsResponseNonFuelSetsItemsSchema, } from './cardDetailsResponseNonFuelSetsItems.js'; import { CardDetailsResponsePINTypeEnum, cardDetailsResponsePINTypeEnumSchema, } from './cardDetailsResponsePINTypeEnum.js'; import { CardDetailsResponseRenewedCardReissueSettingEnum, cardDetailsResponseRenewedCardReissueSettingEnumSchema, } from './cardDetailsResponseRenewedCardReissueSettingEnum.js'; import { CardDetailsResponseStatusIdEnum, cardDetailsResponseStatusIdEnumSchema, } from './cardDetailsResponseStatusIdEnum.js'; import { ErrorStatus, errorStatusSchema } from './errorStatus.js'; import { PINDeliveryAddress, pINDeliveryAddressSchema, } from './pINDeliveryAddress.js'; export interface CardDetailsResponse { /** Payer Id (i.e. Customer Id of the Payment Customer in the Shell Card Platform) of the selected payer. */ payerId?: number | null; /** Payer Number of the selected payer. */ payerNumber?: string | null; /** Account Id (i.e. Customer Id of the Customer in the Shell Card Platform) of the customer. */ accountId?: number | null; /** Account Number of the customer. */ accountNumber?: string | null; /** Account short name. */ accountShortName?: string | null; /** ISO 3166 Alpha-2 Country Code for the customer and card owning country. */ colCoCountryCode?: string | null; /** ISO 4217 Curreny Code of the local currency. */ localCurrencyCode?: string | null; /** Currency symbol of local currency. */ localCurrencySymbol?: string | null; /** Unique Card Id in Cards platform. */ cardId?: number; /** * Card PAN * **PAN attribute will be deprecated so use PANID instead** */ pAN?: string | null; /** * Possible Id’s and description: * * 1 Active * * 7 Blocked Card * * 8 Expired * * 9 Cancelled * * 10 New * * 23 Pending Renewal * * 31 Replaced * * 41 Temporary Block (Customer) * * 42 Temporary Block (Shell) * * 43 Fraud * * 101 Active (Block in progress) * * * 102 Blocked Card (Unblock in progress) * * * 103 Active (Cancel in progress) * * * 104 Active (Marked as damaged) * * * 105 New (Cancel as damaged) * * * 106 Active(Scheduled for block) ”# * * 107 Blocked Card(Scheduled for unblock)*# * * 108 Blocked Card (Cancel in progress) * * > Note: * • Items marked with * are intermediate statuses to indicate that there are pending requests in progress. , The response can contain these intermediate statuses only if the IncludeIntermediateStatus flag is true. * • The placeholder “<Shell Card Platform Status>” in the items marked with # will be replaced with the Shell Card Platform status description. E.g., “Active (Scheduled for block)” */ statusId?: CardDetailsResponseStatusIdEnum; /** * Possible Id’s and description: * * 1 Active * * 7 Blocked Card * * 8 Expired * * 9 Cancelled * * 10 New * * 23 Pending Renewal * * 31 Replaced * * 41 Temporary Block (Customer) * * 42 Temporary Block (Shell) * * 43 Fraud * * 101 Active (Block in progress) * * * 102 Blocked Card (Unblock in progress) * * * 103 Active (Cancel in progress) * * * 104 Active (Marked as damaged) * * * 105 New (Cancel as damaged) * * * 106 Active(Scheduled for block) ”# * * 107 Blocked Card(Scheduled for unblock) *# * * 108 Blocked Card (Cancel in progress) * * > Note: * • Items marked with * are intermediate statuses to indicate that there are pending requests in progress. , The response can contain these intermediate statuses only if the IncludeIntermediateStatus flag is true. * • The placeholder “<Shell Card Platform Status>” in the items marked with # will be replaced with the Shell Card Platform status description. E.g., “Active (Scheduled for block)” */ status?: string; /** True if odometer input is enabled on the card, else false */ odometerPrompt?: boolean; /** True if fleet id input is enabled, else false */ fleetIdPrompt?: boolean; /** * PIN type: * * `Card` - Card PIN * * `Fleet` - Fleet PIN */ pINType?: CardDetailsResponsePINTypeEnum; /** True if card has PIN, else false */ hasPIN?: boolean; /** True if card has Self Selected PIN, else false */ isSelfSelectedPIN?: boolean; /** True if card can be blocked temporarily, else false */ temporaryBlockAllowed?: boolean; /** True/False True if card can be Unblocked, else false */ unblockAllowed?: boolean; /** True if card can be blocked permanently, else false */ permanentBlockAllowed?: boolean; /** Issue number of the card */ issueNumber?: number; reissueSetting?: unknown; /** * POS language identifier. Language Id: * * `1` - German * * `2` - French * * `3` - Bulgarian * * `4` - Croatian * * `5` - Czech * * `6` - Danish * * `7` - Finnish * * `8` - English * * `9` - Greek * * `10` - Chinese * * `11` - Hungarian * * `12` - Italian * * `13` - Luxembourgish * * `14` - Malay * * `15` - Dutch * * `16` - Norwegian, Bokmal * * `17` - Urdu * * `18` - Polish * * `19` - Portuguese * * `20` - Romanian * * `21` - Russian * * `22` - Slovak * * `23` - Slovenian * * `24` - Spanish * * `25` - Swedish * * `26` - Turkish * * `27` - Thai * * `28` - Filipino * * `29` - Estonian * * `30` - Latvian * * `31` - Lithuanian */ internationalPOSLanguageID?: CardDetailsResponseInternationalPOSLanguageIDEnum; /** * POS language code. Language code: * * `deu` - German * * `fra` - French * * `bul` - Bulgarian * * `hrv` - Croatian * * `ces` - Czech * * `dan` - Danish * * `fin` - Finnish * * `eng` - English * * `ell` - Greek * * `zho` - Chinese * * `hun` - Hungarian * * `ita` - Italian * * `ltz` - Luxembourgish * * `msa` - Malay * * `nld` - Dutch * * `nob` - Norwegian, Bokmal * * `urd` - Urdu * * `pol` - Polish * * `por` - Portuguese * * `ron` - Romanian * * `rus` - Russian * * `slk` - Slovak * * `slv` - Slovenian * * `spa` - Spanish * * `swe` - Swedish * * `tur` - Turkish * * `tha` - Thai * * `fil` - Filipino * * `est` - Estonian * * `lav` - Latvian * * `lit` - Lithuanian */ internationalPOSLanguageCode?: CardDetailsResponseInternationalPOSLanguageCodeEnum; /** * POS language identifier. Language Id: * * `1` - German * * `2` - French * * `3` - Bulgarian * * `4` - Croatian * * `5` - Czech * * `6` - Danish * * `7` - Finnish * * `8` - English * * `9` - Greek * * `10` - Chinese * * `11` - Hungarian * * `12` - Italian * * `13` - Luxembourgish * * `14` - Malay * * `15` - Dutch * * `16` - Norwegian, Bokmal * * `17` - Urdu * * `18` - Polish * * `19` - Portuguese * * `20` - Romanian * * `21` - Russian * * `22` - Slovak * * `23` - Slovenian * * `24` - Spanish * * `25` - Swedish * * `26` - Turkish * * `27` - Thai * * `28` - Filipino * * `29` - Estonian * * `30` - Latvian * * `31` - Lithuanian */ localPOSLanguageID?: CardDetailsResponseInternationalPOSLanguageIDEnum; /** * POS language code. Language code: * * `deu` - German * * `fra` - French * * `bul` - Bulgarian * * `hrv` - Croatian * * `ces` - Czech * * `dan` - Danish * * `fin` - Finnish * * `eng` - English * * `ell` - Greek * * `zho` - Chinese * * `hun` - Hungarian * * `ita` - Italian * * `ltz` - Luxembourgish * * `msa` - Malay * * `nld` - Dutch * * `nob` - Norwegian, Bokmal * * `urd` - Urdu * * `pol` - Polish * * `por` - Portuguese * * `ron` - Romanian * * `rus` - Russian * * `slk` - Slovak * * `slv` - Slovenian * * `spa` - Spanish * * `swe` - Swedish * * `tur` - Turkish * * `tha` - Thai * * `fil` - Filipino * * `est` - Estonian * * `lav` - Latvian * * `lit` - Lithuanian */ localPOSLanguageCode?: CardDetailsResponseInternationalPOSLanguageCodeEnum; /** ISO code of the card i.e. first 7 digits of the PAN. */ cardTypeCode?: string | null; /** Card Type ID */ cardTypeId?: number | null; /** Card Type Name */ cardTypeName?: string | null; /** Token Type ID configured for the Card */ tokenTypeId?: number | null; /** Token Type Name configured for the Card */ tokenTypeName?: string | null; /** True if a chip card, else false */ isChipCard?: boolean; /** True if it is a magnetic stripe card, else false */ isMagStripCard?: boolean; /** True if it is a virtual card, else false */ isVirtualCard?: boolean; /** Purchase category code of the card. */ purchaseCategoryCode?: string | null; /** Purchase category identifier in the Shell Card Platform. */ purchaseCategoryId?: number; /** Purchase category name */ purchaseCategoryName?: string | null; /** True if it is a Commercial Road Transport (CRT) card, else false */ isCRT?: boolean; /** True if it is a Fleet card, else false */ isFleet?: boolean; /** True if it is an international card, else false */ isInternational?: boolean; /** True if it is a national card, else false */ isNational?: boolean; /** True if it is allowed at all partner sites, else false */ isPartnerSitesIncluded?: boolean; /** True if it is only allowed at Shell sites, else false */ isShellSitesOnly?: boolean; /** List of active fuel type product restrictions applied on the card. */ fuelSets?: CardDetailsResponseFuelSetsItems[]; /** List of active non-fuel type product restrictions applied on the card. */ nonFuelSets?: CardDetailsResponseNonFuelSetsItems[]; /** Card issue date. */ issuedDate?: string | null; /** Expiry date of the card. */ expiryDate?: string; /** Card last used date. */ lastUsedDate?: string | null; /** Last misused date of the card. */ misuseDate?: string | null; /** Hot-list status */ temperature?: string | null; /** Driver name of the card. Note- While ordering card, optional when VRN is passed else mandatory. */ driverName?: string; /** Vehicle registration number of the card. Note- While ordering card, optional when DriverName is passed else mandatory. */ vRN?: string; /** Text printed on the card as account name. */ embossText?: string; /** * Existing Card Group ID, under which the replacement card is to be created. * Pass “-1” if the replacement card should not be assigned to any card group. * Optional. * If not provided, the replacement card will be created under the same card group as the current card. * Example- 156 */ cardGroupId?: number | null; /** Card group name. Note- 1. While ordering card this field is mandatory when IsNewCardGroup is true. */ cardGroupName?: string | null; /** Renewal date of the card. Applicable if ReissueSetting is set to True. */ renewalDate?: string | null; /** Renewed card id. */ renewedCardId?: number | null; /** Renewed card status id. */ renewedCardStatusId?: number | null; /** Renewed card status description. */ renewedCardStatus?: string; /** Renewed card expiry date. */ renewedCardExpiryDate?: string; /** Renewed card issue number. */ renewedCardIssueNumber?: number | null; /** * Reissue setting of the renewed new card. Reissue Setting: * * `True` - Card will be sent to production * * `False` - Parent Card is Dormant or the Card is not to be produced */ renewedCardReissueSetting?: CardDetailsResponseRenewedCardReissueSettingEnum; /** Card Creation Date time */ creationDate?: string | null; /** Effective date for the Card */ effectiveDate?: string | null; /** Card last modified date */ lastModifiedDate?: string | null; /** Bundle Id associated with card in the Gateway. This field will have a null value if the card is not associated with any bundle in Gateway or the value of IncludeBundleDetails in request is false. */ bundleId?: string | null; cardDeliveryAddress?: CardDeliveryAddress; pINDeliveryAddress?: PINDeliveryAddress; cardBlockSchedules?: | CardDetailsResponseCardBlockSchedulesItemsAllOf0[] | null; error?: ErrorStatus; /** API Request */ requestId?: string; } export const cardDetailsResponseSchema: Schema<CardDetailsResponse> = lazy(() => object({ payerId: ['PayerId', optional(nullable(number()))], payerNumber: ['PayerNumber', optional(nullable(string()))], accountId: ['AccountId', optional(nullable(number()))], accountNumber: ['AccountNumber', optional(nullable(string()))], accountShortName: ['AccountShortName', optional(nullable(string()))], colCoCountryCode: ['ColCoCountryCode', optional(nullable(string()))], localCurrencyCode: ['LocalCurrencyCode', optional(nullable(string()))], localCurrencySymbol: ['LocalCurrencySymbol', optional(nullable(string()))], cardId: ['CardId', optional(number())], pAN: ['PAN', optional(nullable(string()))], statusId: ['StatusId', optional(cardDetailsResponseStatusIdEnumSchema)], status: ['Status', optional(string())], odometerPrompt: ['OdometerPrompt', optional(boolean())], fleetIdPrompt: ['FleetIdPrompt', optional(boolean())], pINType: ['PINType', optional(cardDetailsResponsePINTypeEnumSchema)], hasPIN: ['HasPIN', optional(boolean())], isSelfSelectedPIN: ['IsSelfSelectedPIN', optional(boolean())], temporaryBlockAllowed: ['TemporaryBlockAllowed', optional(boolean())], unblockAllowed: ['UnblockAllowed', optional(boolean())], permanentBlockAllowed: ['PermanentBlockAllowed', optional(boolean())], issueNumber: ['IssueNumber', optional(number())], reissueSetting: ['ReissueSetting', optional(unknown())], internationalPOSLanguageID: [ 'InternationalPOSLanguageID', optional(cardDetailsResponseInternationalPOSLanguageIDEnumSchema), ], internationalPOSLanguageCode: [ 'InternationalPOSLanguageCode', optional(cardDetailsResponseInternationalPOSLanguageCodeEnumSchema), ], localPOSLanguageID: [ 'LocalPOSLanguageID', optional(cardDetailsResponseInternationalPOSLanguageIDEnumSchema), ], localPOSLanguageCode: [ 'LocalPOSLanguageCode', optional(cardDetailsResponseInternationalPOSLanguageCodeEnumSchema), ], cardTypeCode: ['CardTypeCode', optional(nullable(string()))], cardTypeId: ['CardTypeId', optional(nullable(number()))], cardTypeName: ['CardTypeName', optional(nullable(string()))], tokenTypeId: ['TokenTypeId', optional(nullable(number()))], tokenTypeName: ['TokenTypeName', optional(nullable(string()))], isChipCard: ['IsChipCard', optional(boolean())], isMagStripCard: ['IsMagStripCard', optional(boolean())], isVirtualCard: ['IsVirtualCard', optional(boolean())], purchaseCategoryCode: [ 'PurchaseCategoryCode', optional(nullable(string())), ], purchaseCategoryId: ['PurchaseCategoryId', optional(number())], purchaseCategoryName: [ 'PurchaseCategoryName', optional(nullable(string())), ], isCRT: ['IsCRT', optional(boolean())], isFleet: ['IsFleet', optional(boolean())], isInternational: ['IsInternational', optional(boolean())], isNational: ['IsNational', optional(boolean())], isPartnerSitesIncluded: ['IsPartnerSitesIncluded', optional(boolean())], isShellSitesOnly: ['IsShellSitesOnly', optional(boolean())], fuelSets: [ 'FuelSets', optional(array(cardDetailsResponseFuelSetsItemsSchema)), ], nonFuelSets: [ 'NonFuelSets', optional(array(cardDetailsResponseNonFuelSetsItemsSchema)), ], issuedDate: ['IssuedDate', optional(nullable(string()))], expiryDate: ['ExpiryDate', optional(string())], lastUsedDate: ['LastUsedDate', optional(nullable(string()))], misuseDate: ['MisuseDate', optional(nullable(string()))], temperature: ['Temperature', optional(nullable(string()))], driverName: ['DriverName', optional(string())], vRN: ['VRN', optional(string())], embossText: ['EmbossText', optional(string())], cardGroupId: ['CardGroupId', optional(nullable(number()))], cardGroupName: ['CardGroupName', optional(nullable(string()))], renewalDate: ['RenewalDate', optional(nullable(string()))], renewedCardId: ['RenewedCardId', optional(nullable(number()))], renewedCardStatusId: ['RenewedCardStatusId', optional(nullable(number()))], renewedCardStatus: ['RenewedCardStatus', optional(string())], renewedCardExpiryDate: ['RenewedCardExpiryDate', optional(string())], renewedCardIssueNumber: [ 'RenewedCardIssueNumber', optional(nullable(number())), ], renewedCardReissueSetting: [ 'RenewedCardReissueSetting', optional(cardDetailsResponseRenewedCardReissueSettingEnumSchema), ], creationDate: ['CreationDate', optional(nullable(string()))], effectiveDate: ['EffectiveDate', optional(nullable(string()))], lastModifiedDate: ['LastModifiedDate', optional(nullable(string()))], bundleId: ['BundleId', optional(nullable(string()))], cardDeliveryAddress: [ 'CardDeliveryAddress', optional(cardDeliveryAddressSchema), ], pINDeliveryAddress: [ 'PINDeliveryAddress', optional(pINDeliveryAddressSchema), ], cardBlockSchedules: [ 'CardBlockSchedules', optional( nullable(array(cardDetailsResponseCardBlockSchedulesItemsAllOf0Schema)) ), ], error: ['Error', optional(errorStatusSchema)], requestId: ['RequestId', optional(string())], }) );