fastcheck/server/EQUIFAX_SETUP.md
2026-04-08 13:58:46 -04:00

144 lines
3.5 KiB
Markdown

# Equifax Integration Setup
## Overview
This document describes the setup and configuration required for the Equifax data provider integration in the Duxiter system.
## Environment Variables
The following environment variables must be configured for the Equifax integration to work properly:
### API Configuration
```bash
# Equifax API URLs
EQUIFAX_UAT_URL=https://api.uat.equifax.cl
EQUIFAX_PROD_URL=https://api.equifax.cl
EQUIFAX_ENVIRONMENT=uat # 'uat' or 'prod'
# OAuth Credentials
EQUIFAX_CLIENT_ID=your_client_id
EQUIFAX_CLIENT_SECRET=your_client_secret
EQUIFAX_USERNAME=your_username
EQUIFAX_PASSWORD=your_password
```
### Personal Data Configuration
```bash
# Default personal information for requests
EQUIFAX_FIRST_NAME=
EQUIFAX_MIDDLE_NAME=
EQUIFAX_LAST_NAME=
EQUIFAX_MOTHER_LAST_NAME=
EQUIFAX_NATIONAL_ID=
EQUIFAX_CHILEAN_SERIAL_NUMBER=
EQUIFAX_REQUEST_TYPE=RUT # 'RUT' or 'PASSPORT'
```
### Product Data Configuration
```bash
# Product configuration as required by Equifax API
BILL_TO=
SHIP_TO=
PRODUCT_NAME=
PRODUCT_ORCH=
CONFIGURATION=Config
CUSTOMER=
MODEL=
```
## API Endpoints
The integration provides the following endpoints:
### Query RUT
- **POST** `/api/equifax/query/:rut`
- Query Equifax for company/person information by RUT
- Requires authentication and tenant isolation
### Bulk Query
- **POST** `/api/equifax/bulk-query`
- Query multiple RUTs in a single request
- Requires authentication and tenant isolation
### Health Check
- **GET** `/api/equifax/health`
- Check the health status of the Equifax service
- Requires authentication
## Request Structure
The service uses the following payload structure as required by Equifax:
```json
{
"applicants": {
"primaryConsumer": {
"personalInformation": {
"firstName": "string",
"middleName": "string",
"lastName": "string",
"motherLastName": "string",
"nationalId": "string",
"chileanSerialNumber": "string",
"requestType": "RUT"
}
}
},
"productData": {
"billTo": "string",
"shipTo": "string",
"productName": "string",
"productOrch": "string",
"configuration": "Config",
"customer": "string",
"model": "string"
}
}
```
## Features
- **OAuth Token Management**: Automatic token caching and renewal
- **Environment Support**: Configurable for UAT and production environments
- **Logging**: Comprehensive logging to Elasticsearch via ELK service
- **Error Handling**: Robust error handling with detailed error messages
- **File Storage**: Optional saving of API responses to files
- **Health Monitoring**: Health check endpoint for service monitoring
- **Tenant Isolation**: Full tenant isolation support
## Usage Example
```typescript
// Query a single RUT
const response = await fetch('/api/equifax/query/12345678-9', {
method: 'POST',
headers: {
'Authorization': 'Bearer your_token',
'Content-Type': 'application/json'
},
body: JSON.stringify({
personalData: {
firstName: 'Juan',
lastName: 'Pérez'
},
productData: {
productName: 'Credit Report'
}
})
});
```
## Security Considerations
- All endpoints require authentication
- Tenant isolation is enforced
- API credentials should be stored securely
- Responses can be optionally saved to files for audit purposes
- All API calls are logged for monitoring and debugging
## Monitoring
The service integrates with the existing ELK stack for:
- Business event logging
- API call monitoring
- Error tracking
- Performance metrics