Consulta de CPF por lotes
POST/v1/cpf/batch
Envía hasta 1.000 CPF a la vez. El procesamiento es asíncrono: la API responde 202 con un batch_id y usted sigue el avance o espera el webhook.
Cuerpo de la solicitud
- []arrayobligatorio
- Lista de 1 a 1.000 elementos. Los CPF repetidos cuentan una vez.
- [].cpfstringobligatorio
- CPF, con o sin puntuación.
- [].birthdatestringobligatorio
- Fecha de nacimiento,
AAAA-MM-DD.
1 crédito por elemento encontrado.
- El saldo debe cubrir todo el lote, salvo que su plan permita excedente. Sin saldo, la respuesta es 402 y el lote no empieza.
- Los elementos inválidos, no encontrados y las fallas del proveedor no se cobran. Puede reenviar solo los que fallaron.
Cómo se procesa el lote
Usted envía la lista
La API valida cada elemento y encola el trabajo. La respuesta 202 trae el
batch_id.Respuestas rápidas
Lo que se consultó recientemente se resuelve de inmediato. El resto va a la fuente oficial en segundo plano.
Usted sigue el avance
Consulte
GET /v1/cpf/batch/{id}hasta que el estado seacompleted, o reciba el eventobatch.completeden su webhook.Usted lee los resultados
Los resultados salen paginados y quedan disponibles por 24 horas.
Campos de la respuesta 202
- batch_idstring
- Identificador del lote. Úselo para seguir el avance.
- statusstring
processingocompleted.- totalnumber
- Cantidad de elementos del lote.
- processednumber
- Elementos ya resueltos.
- found / not_found / invalid / errorsnumber
- Contadores por resultado hasta el momento.
- status_urlstring
- Ruta para seguir el lote. También viene en el encabezado
Location. - credits_remainingnumber
- Saldo tras los elementos ya cobrados. Se puede ocultar en el panel.
cURL
1curl -X POST https://api.brazid.com/v1/cpf/batch \2 -H "x-api-key: $BRAZID_API_KEY" \3 -H "Content-Type: application/json" \4 -d '[{"cpf":"529.982.247-25","birthdate":"1982-11-26"},{"cpf":"11144477735","birthdate":"1990-05-02"}]'
1const res = await fetch('https://api.brazid.com/v1/cpf/batch', {2 method: 'POST',3 headers: {4 'x-api-key': process.env.BRAZID_API_KEY,5 'Content-Type': 'application/json',6 },7 body: JSON.stringify([8 {9 "cpf": "529.982.247-25",10 "birthdate": "1982-11-26"11 },12 {13 "cpf": "11144477735",14 "birthdate": "1990-05-02"15 }16 ]),17});18 19const data = await res.json();20console.log(res.status, data);
1import os2import requests3 4res = requests.post(5 "https://api.brazid.com/v1/cpf/batch",6 headers={"x-api-key": os.environ["BRAZID_API_KEY"]},7 json=[8 {9 "cpf": "529.982.247-25",10 "birthdate": "1982-11-26"11 },12 {13 "cpf": "11144477735",14 "birthdate": "1990-05-02"15 }16 ],17)18 19print(res.status_code, res.json())
1$ch = curl_init("https://api.brazid.com/v1/cpf/batch");2curl_setopt_array($ch, [3 CURLOPT_RETURNTRANSFER => true,4 CURLOPT_CUSTOMREQUEST => "POST",5 CURLOPT_HTTPHEADER => [6 "x-api-key: " . getenv("BRAZID_API_KEY"),7 "Content-Type: application/json",8 ],9 CURLOPT_POSTFIELDS => '[{"cpf":"529.982.247-25","birthdate":"1982-11-26"},{"cpf":"11144477735","birthdate":"1990-05-02"}]',10]);11 12$data = json_decode(curl_exec($ch), true);13$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
202 Accepted
1{2 "success": true,3 "batch_id": "0c1e7f3a-5b2d-4e8a-9c41-6d3f0a8b7e12",4 "status": "processing",5 "total": 2,6 "processed": 1,7 "found": 1,8 "not_found": 0,9 "invalid": 0,10 "errors": 0,11 "status_url": "/v1/cpf/batch/0c1e7f3a-5b2d-4e8a-9c41-6d3f0a8b7e12",12 "credits_remaining": 1913}