Cómo Integrar Verificación de Empresas EE.UU. en Salesforce Paso a Paso
Si tu empresa en México, Colombia, Argentina o Chile trabaja con socios comerciales estadounidenses, sabes que verificar la legitimidad de esas entidades no es opcional: es una obligación regulatoria. Las normativas como FATF/GAFI, el sistema SARLAFT colombiano y los requisitos de FinCEN para beneficiarios finales exigen que conozcas exactamente con quién haces negocios antes de firmar contratos o transferir fondos. El problema es que hacerlo manualmente —consultando cada estado de EE.UU. uno por uno— consume horas valiosas de tu equipo de compliance.
En este artículo aprenderás cómo construir una integración Salesforce entity verification completa, conectando tu CRM con la API de OpenSOSData para automatizar la verificación de empresas registradas en los 50 estados de EE.UU., Washington D.C., Puerto Rico y las Islas Vírgenes de EE.UU. El resultado: datos de entidades actualizados directamente en tus registros de Account, sin salir de Salesforce.
Por Qué Esto Es Crítico para Profesionales de Latinoamérica
Obligaciones Regulatorias Transfronterizas
Cuando una empresa mexicana realiza pagos a un proveedor en Delaware o una firma colombiana invierte en una LLC de Florida, entran en juego múltiples marcos normativos simultáneamente. El Bank Secrecy Act (BSA) de EE.UU. obliga a los corresponsales bancarios a verificar la titularidad real de las entidades involucradas en transacciones internacionales. FinCEN, mediante su regla de beneficiarios finales (Beneficial Ownership Rule), exige que las instituciones financieras identifiquen a personas con 25% o más de participación en cualquier entidad con la que operen.
Por su parte, México está bajo escrutinio constante del GAFI/FATF y sus entidades reguladas —bancos, casas de cambio, fintech— deben aplicar debida diligencia reforzada (DDR) sobre contrapartes extranjeras. En Colombia, el sistema SARLAFT (Sistema de Administración del Riesgo de Lavado de Activos y Financiación del Terrorismo) requiere que las empresas supervisadas documenten y verifiquen la existencia legal de sus clientes y proveedores internacionales. Ninguno de estos sistemas acepta "no encontré información" como respuesta válida.
El Costo de Verificar Manualmente
Un analista de compliance que consulta manualmente el portal del Secretary of State de California tarda entre 8 y 15 minutos por empresa. Si tu equipo de ventas en Salesforce crea 200 cuentas corporativas nuevas al mes, eso se traduce en hasta 50 horas de trabajo manual solo en verificaciones iniciales, sin contar las actualizaciones periódicas de estado.
Arquitectura de la Integración
La solución que construiremos tiene tres componentes principales:
- Salesforce Flow o Apex Trigger: detecta cuando se crea o actualiza una Account con tipo "Partner" o "Vendor".
- Named Credential + External Service: maneja la autenticación y llamadas HTTP seguras a la API.
- OpenSOSData API: retorna nombre, tipo de entidad, ID, estatus, fecha de constitución, agente registrado y dirección.
Para equipos sin recursos de desarrollo Apex, también mostraremos la integración vía MuleSoft o un middleware simple en Python que actúa como proxy.
Empieza a verificar entidades desde $0.10 por consulta
Búsquedas en vivo desde $0.10, hasta $0.0314 por volumen. Pago por uso.
Crear cuenta gratisPaso 1: Obtener tu API Key de OpenSOSData
Regístrate en app.opensosdata.com. El plan es pay-as-you-go sin contratos mínimos. Los precios son:
| Tipo de Consulta | Precio Estándar | Precio con Volumen |
|---|---|---|
| Live Lookup (datos en tiempo real) | $0.10 USD | Desde $0.0314 USD |
| Cached Lookup (datos recientes en caché) | $0.01 USD | Desde $0.00314 USD |
Para verificaciones iniciales de onboarding recomendamos live_only; para monitoreo periódico mensual, cache_first reduce costos significativamente.
Paso 2: Probar la API con cURL
Antes de integrar con Salesforce, valida que tu API key funciona correctamente desde la terminal:
# Verificación de una empresa en California usando datos en tiempo real
# Reemplaza TU_API_KEY con la clave obtenida en app.opensosdata.com
curl -X POST https://api.opensosdata.com/v1/lookup \
-H "Content-Type: application/json" \
-H "x-api-key: TU_API_KEY" \
-d '{
"entity_name": "Acme Technology Solutions",
"state": "CA",
"cache_preference": "live_only"
}'
# Respuesta esperada incluye: entity_name, entity_type, entity_id,
# status, formation_date, registered_agent, registered_address
El parámetro cache_preference acepta tres valores: live_only (consulta directa al Secretary of State), cache_first (usa caché si está disponible, si no consulta en vivo) y cache_only (solo caché, sin llamadas en tiempo real). Consulta la documentación completa en opensosdata.com/docs/.
Paso 3: Script Python para Middleware de Integración
Si tu arquitectura de Salesforce usa un middleware externo (AWS Lambda, Google Cloud Functions o un servidor propio), este script Python sirve como punto de partida:
import requests
import json
# Configuración de la API de OpenSOSData
API_KEY = "TU_API_KEY"
API_URL = "https://api.opensosdata.com/v1/lookup"
def verificar_empresa_eeuu(nombre_empresa, estado, preferencia_cache="cache_first"):
"""
Verifica una empresa registrada en EE.UU. usando OpenSOSData.
Args:
nombre_empresa: Nombre legal de la empresa a verificar
estado: Código de 2 letras del estado (ej: 'DE', 'FL', 'TX')
preferencia_cache: 'live_only', 'cache_first', o 'cache_only'
Returns:
Diccionario con datos de la entidad o None si no se encuentra
"""
headers = {
"Content-Type": "application/json",
"x-api-key": API_KEY
}
payload = {
"entity_name": nombre_empresa,
"state": estado,
"cache_preference": preferencia_cache
}
try:
respuesta = requests.post(API_URL, headers=headers, json=payload, timeout=30)
respuesta.raise_for_status()
datos = respuesta.json()
# Extraer campos relevantes para Salesforce
resultado = {
"nombre_entidad": datos.get("entity_name"),
"tipo_entidad": datos.get("entity_type"),
"id_entidad": datos.get("entity_id"),
"estatus": datos.get("status"), # 'Active', 'Inactive', etc.
"fecha_constitucion": datos.get("formation_date"),
"agente_registrado": datos.get("registered_agent"),
"direccion_registrada": datos.get("registered_address"),
"verificado_ok": datos.get("status") == "Active"
}
return resultado
except requests.exceptions.RequestException as e:
# Registrar error para auditoría de compliance
print(f"Error al verificar {nombre_empresa} en {estado}: {e}")
return None
def actualizar_salesforce_account(sf_account_id, datos_entidad, sf_client):
"""
Actualiza un registro Account en Salesforce con los datos verificados.
Usa simple_salesforce o cualquier cliente REST de Salesforce.
"""
if not datos_entidad:
return False
campos_a_actualizar = {
# Campos personalizados que debes crear en Salesforce (tipo texto)
"Entity_Status__c": datos_entidad["estatus"],
"Entity_Type__c": datos_entidad["tipo_entidad"],
"Entity_ID_SOS__c": datos_entidad["id_entidad"],
"Formation_Date__c": datos_entidad["fecha_constitucion"],
"Registered_Agent__c": datos_entidad["agente_registrado"],
"KYB_Verified__c": datos_entidad["verificado_ok"], # Checkbox
"KYB_Verification_Date__c": datetime.today().strftime('%Y-%m-%d') # Fecha actual dinámica
}
# Actualizar el Account usando el cliente de Salesforce
sf_client.Account.update(sf_account_id, campos_a_actualizar)
return True
# --- Ejemplo de uso ---
if __name__ == "__main__":
# Empresa de ejemplo: verificar una LLC en Delaware
resultado = verificar_empresa_eeuu(
nombre_empresa="Global Trade Partners LLC",
estado="DE",
preferencia_cache="live_only" # Live para onboarding inicial
)
if resultado and resultado["verificado_ok"]:
print(f"✅ Empresa ACTIVA: {resultado['nombre_entidad']}")
print(f" Tipo: {resultado['tipo_entidad']}")
print(f" Constituida: {resultado['fecha_constitucion']}")
else:
print("⚠️ Empresa no encontrada o INACTIVA - requiere revisión de compliance")
Paso 4: Configurar Salesforce para Recibir los Datos
Crear Campos Personalizados en el Objeto Account
En Salesforce Setup, navega a Object Manager → Account → Fields & Relationships y crea los siguientes campos:
Entity_Status__c— Picklist (Active, Inactive, Dissolved)Entity_Type__c— Text (LLC, Corporation, LP, etc.)Entity_ID_SOS__c— Text (ID único del Secretary of State)Formation_Date__c— DateRegistered_Agent__c— Text AreaKYB_Verified__c— CheckboxKYB_Verification_Date__c— Date
Automatizar con Salesforce Flow
Crea un Record-Triggered Flow que se active cuando un Account con Type = "Partner" sea creado. El Flow llama a un Apex Action (o External Service) que ejecuta la verificación vía HTTP Callout hacia tu middleware Python, y luego actualiza los campos __c con la respuesta. Para equipos con licencias de MuleSoft, una Integration Pod simplifica aún más este proceso.
Paso 5: Validación Regulatoria Automática
Una vez que los datos del Secretary of State están en Salesforce, puedes construir reglas de validación que bloqueen el avance de un Deal si:
KYB_Verified__c = falsey la oportunidad supera $10,000 USD (umbral SARLAFT).Entity_Status__c ≠ "Active"— empresa disuelta o inactiva.KYB_Verification_Date__ctiene más de 90 días de antigüedad (requiere re-verificación periódica).
Estas reglas se implementan como Validation Rules en la Opportunity o como Approval Processes que requieren firma del oficial de compliance antes de continuar. Con más de 34 millones de entidades cubiertas en la base de OpenSOSData, la cobertura para contrapartes estadounidenses es prácticamente total.
Preguntas Frecuentes
¿Necesito una cuenta bancaria en EE.UU. para usar OpenSOSData?
No. OpenSOSData acepta pagos internacionales y el modelo es pay-as-you-go. No se requieren contratos ni cuentas bancarias estadounidenses. Puedes registrarte en app.opensosdata.com y comenzar a consumir la API desde cualquier país de Latinoamérica.
¿Qué tan frecuente debo re-verificar las empresas para cumplir con SARLAFT y FATF?
Las guías de GAFI recomiendan revisión periódica proporcional al riesgo: clientes de alto riesgo cada 6-12 meses, bajo riesgo cada 2-3 años. Para transacciones superiores a umbrales legales en Colombia ($10,000 USD equivalente) o México (regulación LFPIORPI), la re-verificación anual es una práctica segura. La combinación de cache_first para re-verificaciones reduce el costo a $0.01 USD por consulta.
¿La API cubre empresas registradas en todos los estados de EE.UU.?
Sí. OpenSOSData cubre los 50 estados, más Washington D.C., Puerto Rico y las Islas Vírgenes de EE.UU., con acceso a más de 34 millones de entidades registradas. Esto incluye LLCs, Corporations, Limited Partnerships y otras formas societarias. Consulta los detalles en opensosdata.com/docs/.
¿Qué diferencia hay entre cache_first y live_only para mis procesos de compliance?
live_only consulta directamente el Secretary of State en tiempo real: ideal para onboarding inicial donde necesitas datos garantizados al momento. cache_first usa datos recientes en caché cuando están disponibles, siendo suficiente para monitoreo periódico y mucho más económico ($0.01 vs $0.10 USD). Para auditorías regulatorias formales, recomendamos live_only y guardar el timestamp de la consulta.
¿Puedo integrar OpenSOSData con Salesforce sin código, usando herramientas low-code?
Sí. Puedes usar MuleSoft Anypoint Platform (nativa en Salesforce), Zapier, Make (Integromat) o cualquier herramienta que soporte webhooks HTTP POST con autenticación Bearer. El endpoint es estándar REST/JSON y no requiere SDKs especiales. La documentación completa está en opensosdata.com/docs/.
¿Qué pasa si la empresa no aparece en los resultados de la API?
Una respuesta vacía o con estatus "Not Found" puede significar que la empresa está registrada bajo un nombre ligeramente diferente, que usa un DBA (Doing Business As), o que genuinamente no existe como entidad activa. En contextos de compliance, un "no encontrado" debe escalar automáticamente a revisión manual por el equipo de KYB. La API retorna códigos HTTP estándar para facilitar el manejo de estos casos en tu lógica de negocio.
¿La información obtenida sirve como evidencia documental para auditorías de OFAC o FinCEN?
Los datos de Secretary of State son registros públicos oficiales de EE.UU. y constituyen evidencia válida de debida diligencia en procesos de KYB. Sin embargo, para cumplimiento completo de OFAC es necesario complementar con screening en la lista SDN (Specially Designated Nationals). OpenSOSData provee el pilar de verificación de existencia legal; el screening de sanciones debe hacerse en paralelo con herramientas especializadas para ese fin.
Conclusión
Integrar verificación de empresas estadounidenses directamente en Salesforce transforma un proceso manual de compliance en un flujo automatizado que protege a tu organización frente a requisitos de FinCEN, BSA, FATF y SARLAFT. Con costos desde $0.01 USD por consulta en caché y cobertura de más de 34 millones de entidades, OpenSOSData ofrece la solución más eficiente para equipos de KYB en Latinoamérica que necesitan escalar sus operaciones sin comprometer el rigor regulatorio. Regístrate hoy en app.opensosdata.com y comienza a verificar tus primeras entidades en minutos.