1. Subir los documentos

Para iniciar el proceso de extracción, sube los documentos requeridos al endpoint de creación de verificaciones.

{
  "tag": "tu uuid de este cliente o verificación",
  "country": "mx",
  "items": [
    {
      "type": "generic",
      "options": {
        "file_url": "https://www.ejemplo.com/acta-constitutiva.pdf",
        "item_type_guide": "ac_mx" 
      }
    }
  ]
}

El campo item_type_guide es opcional. Úsalo para especificar el tipo de documento:

  • ac_mx para actas constitutivas de México
  • aa_mx para actas de asamblea de México
  • pw_mx para poderes de México

2. Esperar la notificación

Después de subir los documentos, el sistema procesará los datos. Una vez que la extracción esté completa, recibirás una notificación en el webhook configurado previamente en tu cuenta.

Ejemplo de payload de notificación:

{
  "tag": "tu uuid de este cliente o verificación",
  "status": "completed"
}

3. Leer el JSON de respuesta

Una vez completada la extracción, utiliza el endpoint correspondiente para obtener los datos extraídos. A continuación, se muestran ejemplos de respuestas para cada tipo de documento.

Acta constitutiva - ejemplo de accionistas


{
  "shareholders": [
    {
      "id": 102345,
      "name": "ELON MUSK",
      "nationality": "Estadounidense",
      "id_number": "ELON900101XYZ",
      "fixed_shares": "60.00",
      "variable_shares": "0.00",
      "share_percentage": 60,
      "address": {
        "street": "CALLE TESLA",
        "exterior_number": "100",
        "neighborhood": "SILICON VALLEY",
        "state": "CDMX",
        "zip_code": "01001"
      }
    },
    {
      "id": 102346,
      "name": "CARLOS SLIM HELÚ",
      "nationality": "Mexicana",
      "id_number": "SLHC400128ABC",
      "fixed_shares": "40.00",
      "variable_shares": "0.00",
      "share_percentage": 40,
      "address": {
        "street": "AV. REFORMA",
        "exterior_number": "1234",
        "neighborhood": "LOMAS DE CHAPULTEPEC",
        "state": "CDMX",
        "zip_code": "11000"
      }
    }
  ],
  "capital": {
    "fixedValue": "100000.00",
    "totalShares": "100.00",
    "variableValue": "0.00"
  }
}

Acta de asamblea - ejemplo de poderes


{
  "key_people": [
    {
      "names": "DANIEL SERVITJE",
      "id_number": "DASJ850405HSPRVN02",
      "roles": [
        {
          "role_name": "Presidente",
          "group_name": "Directivos",
          "powers": [
            {
              "power_name": "administration",
              "signature_type": "joint",
              "limits_description": "Debe firmar con otros miembros del consejo"
            },
            {
              "power_name": "credit",
              "signature_type": "joint",
              "limits_description": "Debe firmar con apoderados B por encima de $500M USD"
            },
            {
              "power_name": "lawsuits_and_collections",
              "signature_type": "individual",
              "limits_description": ""
            }
          ]
        }
      ],
      "address": {
        "street": "CALLE INDUSTRIAL",
        "external_number": "456",
        "neighborhood": "TECNOLOGÍA",
        "state": "CDMX",
        "zip_code": "01234"
      }
    }
  ]
}

4. Procesar el JSON de respuesta

Puedes exportar los datos a Excel para análisis adicionales o integrarlos en tus sistemas.

Ejemplo para pasar de PDF a Excel

import pandas as pd

# Procesar firmantes y poderes
key_people = []
for person in data["key_people"]:
    for role in person["roles"]:
        for power in role["powers"]:
            key_people.append({
                "name": person["names"],
                "id_number": person["id_number"],
                "role": role["role_name"],
                "power": power["power_name"],
                "signature_type": power["signature_type"],
                "limits": power["limits_description"],
                "address": f'{person["address"]["street"]} {person["address"]["external_number"]}, {person["address"]["neighborhood"]}, {person["address"]["state"]}, CP {person["address"]["zip_code"]}'
            })

# Convertir a DataFrame y exportar a Excel
df = pd.DataFrame(key_people)
df.to_excel("key_people_powers.xlsx", index=False)

print("Datos exportados a key_people_powers.xlsx")