UNPKG

@datadome/fraud-sdk-node

Version:

Fraud Protection - Node.js SDK

56 lines (55 loc) 1.94 kB
import { DataDomeEvent, LoginEvent, RegistrationEvent, StatusType, Response, ResponseError, ResponseAction } from './model'; import { IncomingMessage } from 'http'; export { DataDome, LoginEvent, RegistrationEvent, ResponseAction, StatusType, DataDomeOptions }; export * from './model'; interface LogInterface { debug(primaryMessage: string, ...supportingData: any[]): void; warn(primaryMessage: string, ...supportingData: any[]): void; error(primaryMessage: string, ...supportingData: any[]): void; info(primaryMessage: string, ...supportingData: any[]): void; } interface DataDomeOptions { logger?: LogInterface; timeout?: number; endpoint?: string; } /** * Main class that is used to get DataDome recommendations for fraud protection * * @example <caption>to get a `Response` on a Login request</caption> * use `await datadomeClient.validate(req, new LoginEvent(accountName))` * * @example <caption>to get a `Response` on a Registration request</caption> * use ```await datadomeClient.validate(req, new RegistrationEvent( req.body.email, { id: sessionId, createdAt: Date.now() }, // Session Information { // User Information id: userId, title: req.body.title, firstName: req.body.firstname lastName: req.body.lastname, createdAt: Date.now(); phone: req.body.phone, email: req.body.email, address: {} }, StatusType.SUCCEEDED ) );``` */ declare class DataDome { private options; private logger; private requestOptions; constructor(key: string, options?: DataDomeOptions); private buildPayload; private sendRequest; /** * Validate request * @async * * */ validate(request: IncomingMessage, event: DataDomeEvent): Promise<Response | ResponseError>; collect(request: IncomingMessage, event: DataDomeEvent): Promise<Response | ResponseError>; }