UNPKG

@idscan/idvc2

Version:

component for the capturing documents

60 lines (59 loc) 2.13 kB
import { IDataForSubmit } from '../util'; import { Base64 } from '../helpers/base64'; import { DocumentTypeIndex } from '../environment/documentTypes'; interface IRequestBase { frontImageBase64: Base64; backOrSecondImageBase64: Base64; faceImageBase64: Base64; ssn: string; frontMultiImagesBase64: Base64; faceMultiImagesBase64: Base64; documentType: DocumentTypeIndex | 0; } interface IRequestV3 extends IRequestBase { trackString: string; verifyFace: boolean; captureMethod: string; userAgent: string; frontEndMetadata: string; metadata?: string; } interface IRequestV4 extends IRequestBase { trackString: { data: string; barcodeParams: string; }; metadata: { captureMethod: string; userAgent: string; frontEndMetadata: string; otherMetadata?: string; }; } export interface IPrepareRequestDataForDiveApiParams<P = Record<string, unknown>> { data?: IDataForSubmit; payload?: P; versionAPI?: '3' | '3.1' | '4'; } type IRequestPayload = Record<string, unknown>; /** * Prepares request payload for Dive API (v3 / v3.1 / v4) based on submitted capture data. * * Builds a normalized request object: * - extracts base64 images (front, back/second, face) * - prepares multi-capture images if available * - parses metadata * - adjusts payload structure depending on API version * * @template P - Additional custom payload fields to be merged into the request * * @param params - Parameters object * @param params.data - Raw data collected from the results of the IDVC capture flow * @param params.payload - Optional custom fields to extend the request payload * @param params.versionAPI - Target Dive API version (`'3' | '3.1' | '4'`) * * @returns Promise resolving to a prepared Dive API request object * compatible with the specified API version and extended with custom payload fields */ export declare const prepareRequestDataForDiveApi: <P extends IRequestPayload>({ data, versionAPI, payload, }: IPrepareRequestDataForDiveApiParams<P>) => Promise<(IRequestV3 | IRequestV4) & P>; export {};