Saltar al contenido principal

Guía de Migración de API V1 a V2

Esta guía te ayudará a migrar tu integración de la API V1 de Sheriff a la nueva versión V2. La migración es sencilla y no requiere cambios drásticos en tu código, principalmente actualizarás URLs y ajustarás algunos nombres de campos.

Cambios principales que afectan tu integración

Los cambios más importantes en V2 son:

  1. URL base: /api/v1//api/clients/v2/ (afecta todos los endpoints)
  2. Endpoint de resumen: /helper/{rut}/summary/helper/resumen?rut={rut}
  3. Diario Oficial: Ya no es un endpoint separado, ahora está integrado en resumen
  4. Nuevos endpoints: GET /helper/compliance/{rut}, GET /usage, GET /profiles
  5. Cambios en rutas: Varios endpoints reorganizados (judicial, cobranzaLaboral, legal, etc.)

📋 Resumen de Cambios Principales

1. Cambio en la URL Base

VersiónURL BaseEjemplo Completo
V1 (anterior)https://prod.api.thesheriff.cl/api/v1/https://prod.api.thesheriff.cl/api/v1/helper/loadRut
V2 (nueva)https://prod.api.thesheriff.cl/api/clients/v2/https://prod.api.thesheriff.cl/api/clients/v2/helper/cargarRut

Cambio: Se agrega /clients/ en la ruta y cambia de v1 a v2.

2. Consolidación de Información

En V2:

  • ✅ Toda la información de la plataforma se obtiene a través de endpoints unificados:
    • Resúmenes: Endpoint resumen que consolida toda la información en una sola llamada
    • Detalle de ayudantes y submódulos: Endpoints organizados por categoría (judicial, cobranzaLaboral, legal, compliance, etc.)

3. Headers Requeridos (Sin Cambios)

Los headers de autenticación permanecen iguales:

-H 'Authorization: Bearer <TU_TOKEN>'
-H 'x-client-identifier: SheriffSecureClient-v1'
-H 'accept: application/json'

🔄 Tabla de Equivalencias de Endpoints

Endpoints de Plataforma (Carga y Consulta)

V1V2Cambios
GET /helper/{rut}/summaryGET /helper/resumen?rut={rut}⚠️ Cambió el nombre y estructura: summaryresumen
POST /helper/loadRutPOST /helper/cargarRut⚠️ Cambió la ruta: /loadRut/cargarRut
GET /helper/{rut}/getCivilCasesGET /helper/judicial/{rut}/civil⚠️ Cambió la ruta: /getCivilCases/judicial/{rut}/civil
GET /helper/{rut}/getLaboralCasesGET /helper/judicial/{rut}/laboral⚠️ Cambió la ruta: /getLaboralCases/judicial/{rut}/laboral
GET /helper/{rut}/getCobranzaCasesGET /helper/judicial/{rut}/cobranza⚠️ Cambió la ruta: /getCobranzaCases/judicial/{rut}/cobranza
GET /helper/{rut}/getMoraPrevisionalCasesGET /helper/cobranzaLaboral/{rut}/moraPrevisional⚠️ Cambió la ruta: /getMoraPrevisionalCases/cobranzaLaboral/{rut}/moraPrevisional
GET /helper/{rut}/getMultaLaboralCasesGET /helper/cobranzaLaboral/{rut}/multaLaboral⚠️ Cambió la ruta: /getMultaLaboralCases/cobranzaLaboral/{rut}/multaLaboral
GET /notification/creditScoring/{rut}/getByRutGET /creditScore/{rut}⚠️ Cambió la ruta: /notification/creditScoring/{rut}/getByRut/creditScore/{rut}
GET /helper/{rut}/getOfficialDiaryIntegrado en GET /helper/resumen?rut={rut}ℹ️ Ya no existe, ahora está en data.legal.diarioOficial
GET /helper/{rut}/mallaSocietariaGET /helper/legal/{rut}/mallaSocietaria⚠️ Cambió la ruta: /helper/{rut}/mallaSocietaria/helper/legal/{rut}/mallaSocietaria

Endpoints de Compliance

V1V2Cambios
POST /integration/compliance/loadProfilePOST /webhook/compliance/cargarPerfil⚠️ Cambió la ruta: /integration/compliance/loadProfile/webhook/compliance/cargarPerfil
❌ No existíaGET /helper/compliance/{rut}NUEVO: Detalle de compliance

Endpoints de Uso y Administración (NUEVOS en V2)

V1V2Cambios
❌ No existíaGET /usageNUEVO: Consultar uso/consumo de la cuenta
❌ No existíaGET /profilesNUEVO: Listar todos los perfiles cargados

🔨 Ejemplos Prácticos de Migración

Ejemplo 1: Cargar un RUT

❌ V1 (Anterior)

curl -X 'POST' \
'https://prod.api.thesheriff.cl/api/v1/helper/loadRut' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'x-client-identifier: SheriffSecureClient-v1' \
-H 'Content-Type: application/json' \
-d '{
"rut": "12345678-9",
"isMonitoring": false,
"includeEquifax": false
}'

✅ V2 (Nuevo)

curl -X 'POST' \
'https://prod.api.thesheriff.cl/api/clients/v2/helper/cargarRut' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'x-client-identifier: SheriffSecureClient-v1' \
-H 'Content-Type: application/json' \
-d '{
"rut": "12345678-9",
"isMonitoring": false,
"includeEquifax": false
}'

Cambio: URL base (/api/v1//api/clients/v2/) y nombre del endpoint (loadRutcargarRut)


Ejemplo 2: Obtener Resumen de un RUT

❌ V1 (Anterior)

curl -X 'GET' \
'https://prod.api.thesheriff.cl/api/v1/helper/12345678-9/summary' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'x-client-identifier: SheriffSecureClient-v1'

✅ V2 (Nuevo)

curl -X 'GET' \
'https://prod.api.thesheriff.cl/api/clients/v2/helper/resumen?rut=12345678-9' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'x-client-identifier: SheriffSecureClient-v1'

Cambios:

  1. URL base (/api/v1//api/clients/v2/)
  2. ⚠️ Estructura del endpoint (helper/{rut}/summaryhelper/resumen?rut={rut})


🔧 Checklist de Migración

Sigue estos pasos para migrar tu integración:

1. ✅ Actualizar URL Base

  • Cambiar https://prod.api.thesheriff.cl/api/v1/ por https://prod.api.thesheriff.cl/api/clients/v2/
  • Si usas QA, cambiar https://qa.api.thesheriff.cl/api/v1/ por https://qa.api.thesheriff.cl/api/clients/v2/

Ejemplo en código:

// ❌ Antes (V1)
const BASE_URL = 'https://prod.api.thesheriff.cl/api/v1/'

// ✅ Después (V2)
const BASE_URL = 'https://prod.api.thesheriff.cl/api/clients/v2/'

2. ✅ Actualizar Endpoint de Resumen

El endpoint cambió de estructura:

// ❌ V1
GET /helper/{rut}/summary

// ✅ V2
GET /helper/resumen?rut={rut}

3. ✅ Migrar Diario Oficial

El endpoint de Diario Oficial ya no existe de forma independiente:

// ❌ V1 - Endpoint independiente
GET /helper/{rut}/getOfficialDiary

// ✅ V2 - Integrado en resumen
GET /helper/resumen?rut={rut}
// Acceder: response.data.legal.diarioOficial.casos

4. ✅ Aprovechar Nuevos Endpoints

V2 incluye endpoints nuevos que no existían en V1:

// ✨ NUEVO en V2: Compliance detallado
GET / helper / compliance / { rut }

// ✨ NUEVO en V2: Consultar uso/consumo
GET / usage

// ✨ NUEVO en V2: Listar perfiles cargados
GET / profiles

5. ✅ Probar en QA

Antes de pasar a producción:

  1. Probar todos los endpoints en ambiente QA: https://qa.api.thesheriff.cl/api/clients/v2/
  2. Verificar que las respuestas son las esperadas
  3. Validar que el parseo de datos funciona correctamente

6. ✅ Desplegar a Producción

  1. Actualizar variables de entorno
  2. Desplegar cambios
  3. Monitorear logs por errores
  4. Verificar funcionamiento correcto

📊 Comparación de Respuestas

Resumen

Las respuestas de resumen son muy similares entre V1 y V2, con algunas mejoras:

Estructura principal (igual en ambas versiones):

{
"success": true,
"data": {
"rut": "12345678-9",
"esPersonaJuridica": true,
"fechaCarga": "13-06-2024",
"identificacion": {...},
"boletinComercial": {...},
"judicial": {...},
"cobranzaLaboral": {...},
"legal": {...},
"deudaBancaria": {...},
"bienes": {...},
"creditScoring": {...},
"compliance": {...}
}
}

Mejoras en V2:

  • ✨ Mejor documentación de campos
  • ✨ Estructura más consistente
  • ✨ Nuevos campos agregados en compliance
  • ✨ Mejor manejo de valores null

⚠️ Puntos Importantes

1. Integración con Diario Oficial

El endpoint de Diario Oficial fue integrado en resumen en V2. Esto se hizo para:

  • ✅ Simplificar la API
  • ✅ Reducir el número de llamadas necesarias
  • ✅ Consolidar información en endpoints más completos
  • ✅ Mejorar el rendimiento

Recomendación: Usa resumen para obtener toda la información en una sola llamada.

2. Compatibilidad hacia atrás

  • No hay compatibilidad hacia atrás entre V1 y V2
  • ⚠️ V1 seguirá funcionando por un periodo de transición
  • ✅ Se recomienda migrar lo antes posible a V2

3. Nuevas funcionalidades en V2

V2 incluye mejoras que no existían en V1:

  • 🆕 Endpoint de Compliance detallado (/compliance/{rut})
  • 🆕 Mejor estructura de datos en respuestas
  • 🆕 Documentación mejorada con glosario completo
  • 🆕 Endpoints de administración (getUsage, getProfiles)
  • 🆕 Webhooks mejorados con más eventos

🆘 Ayuda y Soporte

Recursos Disponibles

¿Necesitas Ayuda?

Si tienes dudas durante la migración:

  1. Consulta la documentación: La mayoría de dudas están resueltas en los docs
  2. Revisa el glosario: Para entender valores y campos específicos
  3. Contacta a tu account manager: Para dudas comerciales o de integración específica
  4. Soporte técnico: Para problemas técnicos o bugs

📝 Ejemplo de Código Completo

JavaScript/Node.js

// Configuración
const BASE_URL = 'https://prod.api.thesheriff.cl/api/clients/v2/'
const TOKEN = 'tu-token-aqui'

const headers = {
Authorization: `Bearer ${TOKEN}`,
'x-client-identifier': 'SheriffSecureClient-v1',
'Content-Type': 'application/json',
}

// 1. Cargar un RUT
async function cargarRut(rut, isMonitoring = false, includeEquifax = false) {
const response = await fetch(`${BASE_URL}helper/cargarRut`, {
method: 'POST',
headers,
body: JSON.stringify({ rut, isMonitoring, includeEquifax }),
})
return response.json()
}

// 2. Obtener resumen completo
async function obtenerResumen(rut) {
const response = await fetch(`${BASE_URL}helper/resumen?rut=${rut}`, {
method: 'GET',
headers,
})
return response.json()
}

// 3. Obtener casos civiles
async function obtenerCasosCiviles(rut) {
const response = await fetch(`${BASE_URL}helper/judicial/${rut}/civil`, {
method: 'GET',
headers,
})
return response.json()
}

// 4. Obtener credit scoring
async function obtenerCreditScoring(rut) {
const response = await fetch(`${BASE_URL}creditScore/${rut}`, {
method: 'GET',
headers,
})
return response.json()
}

// 5. Obtener compliance detallado
async function obtenerCompliance(rut) {
const response = await fetch(`${BASE_URL}helper/compliance/${rut}`, {
method: 'GET',
headers,
})
return response.json()
}

// Uso
;(async () => {
const rut = '12345678-9'

// Cargar RUT
await cargarRut(rut, false, false)
console.log('RUT cargado exitosamente')

// Obtener toda la información
const resumen = await obtenerResumen(rut)
console.log('Razón Social:', resumen.data.identificacion.razonSocial)
console.log('Riesgo:', resumen.data.compliance.riesgo)

// Obtener casos civiles
const casosCiviles = await obtenerCasosCiviles(rut)
console.log('Casos civiles:', casosCiviles.data.length)
})()

Python

import requests

# Configuración
BASE_URL = 'https://prod.api.thesheriff.cl/api/clients/v2/'
TOKEN = 'tu-token-aqui'

headers = {
'Authorization': f'Bearer {TOKEN}',
'x-client-identifier': 'SheriffSecureClient-v1',
'Content-Type': 'application/json'
}

# 1. Cargar un RUT
def cargar_rut(rut, is_monitoring=False, include_equifax=False):
url = f'{BASE_URL}helper/cargarRut'
data = {
'rut': rut,
'isMonitoring': is_monitoring,
'includeEquifax': include_equifax
}
response = requests.post(url, headers=headers, json=data)
return response.json()

# 2. Obtener resumen completo
def obtener_resumen(rut):
url = f'{BASE_URL}helper/resumen?rut={rut}'
response = requests.get(url, headers=headers)
return response.json()

# 3. Obtener casos civiles
def obtener_casos_civiles(rut):
url = f'{BASE_URL}helper/judicial/{rut}/civil'
response = requests.get(url, headers=headers)
return response.json()

# 4. Obtener credit scoring
def obtener_credit_scoring(rut):
url = f'{BASE_URL}creditScore/{rut}'
response = requests.get(url, headers=headers)
return response.json()

# 5. Obtener compliance detallado
def obtener_compliance(rut):
url = f'{BASE_URL}helper/compliance/{rut}'
response = requests.get(url, headers=headers)
return response.json()

# Uso
if __name__ == '__main__':
rut = '12345678-9'

# Cargar RUT
cargar_rut(rut, is_monitoring=False, include_equifax=False)
print('RUT cargado exitosamente')

# Obtener toda la información
resumen = obtener_resumen(rut)
print(f"Razón Social: {resumen['data']['identificacion']['razonSocial']}")
print(f"Riesgo: {resumen['data']['compliance']['riesgo']}")

# Obtener casos civiles
casos_civiles = obtener_casos_civiles(rut)
print(f"Casos civiles: {len(casos_civiles['data'])}")

✨ Conclusión

La migración de V1 a V2 es sencilla y principalmente involucra:

  1. Actualizar la URL base en tu código
  2. Ajustar el parseo de respuestas si es necesario
  3. Aprovechar nuevas funcionalidades de V2
¿Listo para migrar?

Sigue el checklist paso a paso y estarás usando V2 en poco tiempo. Si tienes dudas, consulta la documentación completa o contacta a soporte.