Saltar al contenido principal
Esta API es particularmente útil para migrar datos de usuarios de sistemas existentes al sistema ARGOS o en casos especiales donde es necesario el envío directo de datos de verificación de identidad de usuario. También puede ayudar en la prueba de varios escenarios durante el desarrollo.
Los envíos creados usando esta API no pasan por el proceso de verificación estándar de ARGOS. La precisión y validez de los datos enviados es enteramente responsabilidad del cliente. Por lo tanto, esta API no debería reemplazar el proceso regular de verificación de identidad y se recomienda solo para casos de uso excepcionales.

1. Endpoint

POST https://rest-api.argosidentity.com/v3/submission/migration

2. Autenticación

Incluya la clave API en el encabezado x-api-key:
x-api-key
x-api-key: {yourAPIKey}

3. Cuerpo de la Solicitud

El cuerpo de la solicitud debe estar en formato JSON. A continuación se encuentran las descripciones de los campos:
admin
string
requerido
Email del administrador del proyecto (debe estar registrado en el dashboard).
email
string
requerido
Dirección de email del remitente KYC.
fullName
string
requerido
Nombre completo del remitente KYC.
first_name
string
Nombre del remitente.
last_name
string
Apellido del remitente.
birthDate
string
requerido
Fecha de nacimiento del remitente KYC.
kycStatus
string
requerido
Resultado KYC: approved o rejected.
idType
string
issuingCountry
string
País emisor de los Códigos de País de ID.
nationality
string
Nacionalidad del remitente KYC Códigos de País.
gender
string
female o male.
issueDate
string
Fecha de emisión del ID en formato YYYY-MM-DD.
expireDate
string
Fecha de vencimiento del ID en formato YYYY-MM-DD.
ipAddress
string
Dirección IP del remitente KYC.
identityNumber
string
Número de identidad del remitente KYC.
documentNumber
string
Número de documento del remitente KYC.
address_city
string
Ciudad de residencia.
address_country
string
País de residencia.
address_state
string
Estado/Provincia de residencia.
address_street
string
Dirección de calle.
address_full
string
Dirección completa.
cf1
string
Campo personalizado #1.
cf2
string
Campo personalizado #2.
cf3
string
Campo personalizado #3.
userid
string
ID único de usuario.

4. Ejemplo de Solicitud

POST/Submission
curl --location 'https://rest-api.argosidentity.com/v3/submission/migration' \
--header 'Content-Type: application/json' \
--header 'x-api-key: {yourAPIKey}' \
--data-raw '{
  "admin": "{admin}",
  "email": "{email}",
  "fullName": "{fullName}",
  "firstName": "{firstName}",
  "lastName": "{lastName}",  
  "birthDate": "{birthDate}",
  "kycStatus": "approved",
  "idType": "drvlic",
  "issuingCountry": "USA",
  ...
}'

5. Respuesta

5-1. Respuesta Exitosa

result.json
{
    "message": "success",
    "submissionId": "submissionId123"
}

5-2. Respuesta de Error

Si ocurre un error, se devuelve un código de estado 400 con detalles en el cuerpo de la respuesta:
error.json
{
    "errorCode": "invalid_payload",
    "message": "Invalid payload."
}

5-3. Códigos de Error

Error CodeMessageDescripción
invalid_payloadInvalid payloadNo se puede analizar el cuerpo de la solicitud
missing_dataRequired input data is missingUno o más campos requeridos están faltantes
invalid_projectInvalid projectEl ID del proyecto no es válido
invalid_adminInvalid adminLa cuenta del administrador carece de permisos para este proyecto
invalid_parameterinvalid parameter: {parameter}Parámetro inesperado enviado
invalid_formatinvalid format: ${parameter}El parámetro no coincide con el formato esperado
processing_errorFailed to complete migrationOcurrió un error desconocido durante el procesamiento

6. Opciones de Cifrado

Para mejorar la seguridad, el cuerpo de la solicitud puede ser cifrado. Al usar cifrado:
  • Cifre el objeto completo del cuerpo de la solicitud.
  • Envíe la cadena cifrada como el parámetro data (no como un campo body).

6-1. Ejemplo de Solicitud Cifrada

post-encrypted.py
encryption = Encryption(api_key, mode='ECB')

payload_data = {
    "admin": "yourAdmin@sample.com",
    "email": "user@example.com",
    "fullName": "hong kil dong",
    "firstName": "kil dong",
    "lastName": "hong"
    "birthDate": "1999-11-31",
    "kycStatus": "approved",
    "idType": "drivers_license",
    "issuingCountry": "KOR"
}

# Encrypt the entire payload
payload_encrypted = encryption.encrypt(payload_data)

# Send the encrypted data as the data parameter
response = requests.post(
    url,
    headers=headers,
    data=payload_encrypted
)
POST/Submission (Encrypted)
curl --location 'https://rest-api.argosidentity.com/v3/submission/migration' \
--header 'x-api-key: {yourAPIKey}' \
--header 'Content-Type: application/json' \
--data 'N34SNtWaavEfgtg1g%2Bo%2B9JhQ9rp9dGUbyFNxAsHKKGH24aVQTRXYfNpFDHIGJU6Wo0RVpOupAubiDvFDuFyTkw%3D%3D'

6-2. Respuesta Cifrada

La respuesta incluye una bandera isEncrypted y los datos cifrados:
result.json
response : {
   body : {
    "data": "encrypted-string",
    "isEncrypted": true
   }
}