get-mexican-data-by-curp
Version:
Verify CURP and obtain personal information from the Mexican government CURP. It scrapes official site and another providers.
63 lines (62 loc) • 3.15 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Conectame = void 0;
// https://conectame.ddns.net/consola/login
const models_1 = require("../models");
const axios_1 = __importDefault(require("axios"));
const genderISOConverter = new Map([
['H', '1'],
['M', '2'],
]);
// https://conectame.ddns.net/consola/login
class Conectame extends models_1.Provider {
constructor(user = 'prueba', password = 'sC}9pW1Q]c') {
super();
this.user = user;
this.password = password;
}
async provide(curp) {
var _a;
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
const response = await axios_1.default(this.URL(curp)).then(
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
response => response.data);
if (response.Response === 'Error') {
return null;
}
return {
curp: response.Curp,
fatherName: response.Paterno,
motherName: response.Materno,
name: response.Nombre,
gender: (_a = genderISOConverter.get(response.Sexo)) !== null && _a !== void 0 ? _a : '',
birthday: `${response.FechaNacimiento}T12:00:00.000Z`,
birthState: await curp.getIsoState(),
statusCurp: response.StatusCurp,
// @ts-ignore
probatoryDocument: response.DocProbatorio,
// @ts-ignore
probatoryDocumentData: {
CRIP: response === null || response === void 0 ? void 0 : response.CRIP,
NumEntidadReg: response === null || response === void 0 ? void 0 : response.NumEntidadReg,
CveMunicipioReg: response === null || response === void 0 ? void 0 : response.CveMunicipioReg,
NumRegExtranjeros: response === null || response === void 0 ? void 0 : response.NumRegExtranjeros,
AnioReg: response === null || response === void 0 ? void 0 : response.AnioReg,
Foja: response === null || response === void 0 ? void 0 : response.Foja,
Tomo: response === null || response === void 0 ? void 0 : response.Tomo,
Libro: response === null || response === void 0 ? void 0 : response.Libro,
FolioCarta: response === null || response === void 0 ? void 0 : response.FolioCarta,
CveEntidadEmisora: response === null || response === void 0 ? void 0 : response.CveEntidadEmisora,
},
fiscalData: response === null || response === void 0 ? void 0 : response.DatosFiscales,
};
}
URL(curp) {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
return `https://conectame.ddns.net/rest/api.php?m=curp&user=${this.user}&pass=${this.password}&val=${curp}`;
}
}
exports.Conectame = Conectame;