Skip to Content
API SOAP

API SOAP

SAREMI expone su motor de verificación como servicio SOAP 1.1 para clientes que no consumen REST/JSON — por ejemplo, plataformas de bajo código como QuickBase. Es una capa sobre el mismo pipeline de la API REST: mismos verificadores, misma base de datos, mismo registro en blockchain.

RecursoURL
Endpoint SOAPPOST https://api.saremi.io/soap
WSDLGET https://api.saremi.io/soap?wsdl
Content-Typetext/xml; charset=utf-8

Autenticación: elemento <apiKey> dentro del body, o header HTTP X-API-Key — ver Autenticación y permisos.

Operaciones

1. SubmitDocument (recomendada)

Envía el documento y responde de inmediato con un folio (verificationId). El análisis corre en segundo plano (10–60 segundos). Es la operación recomendada para pipelines con límite de tiempo, como QuickBase.

Request:

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SubmitDocumentRequest xmlns="urn:saremi:verify:v1"> <apiKey>TU_API_KEY</apiKey> <documentType>auto</documentType> <fileName>ine_frente.pdf</fileName> <fileContentBase64>JVBERi0xLjQK...</fileContentBase64> <clientReferenceId>expediente-1234</clientReferenceId> </SubmitDocumentRequest> </soap:Body> </soap:Envelope>

Response (inmediata):

<SubmitDocumentResponse xmlns="urn:saremi:verify:v1"> <verificationId>a1b2c3d4-...</verificationId> <status>processing</status> <message>Documento recibido. Consulte el resultado con GetVerificationResult.</message> </SubmitDocumentResponse>

2. GetVerificationResult (consultar el resultado)

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetVerificationResultRequest xmlns="urn:saremi:verify:v1"> <apiKey>TU_API_KEY</apiKey> <verificationId>a1b2c3d4-...</verificationId> </GetVerificationResultRequest> </soap:Body> </soap:Envelope>

Si sigue en proceso responde <status>processing</status>; si terminó, responde el resultado completo:

<GetVerificationResultResponse xmlns="urn:saremi:verify:v1"> <verificationId>a1b2c3d4-...</verificationId> <documentType>ine</documentType> <status>verified</status> <confidenceScore>0.925</confidenceScore> <conclusion>Documento verificado correctamente...</conclusion> <processingTimeMs>18432</processingTimeMs> <checks> <check><name>curp_format</name><status>passed</status><detail>...</detail></check> </checks> <fraudFlags> <fraudFlag><code>AI_GENERATED</code><severity>critical</severity><description>...</description></fraudFlag> </fraudFlags> <warnings><warning>...</warning></warnings> <extractedData> <field><name>full_name</name><value>JUAN PÉREZ LÓPEZ</value></field> <field><name>curp</name><value>PELJ800101HDFRPN09</value></field> </extractedData> </GetVerificationResultResponse>

Recomendado: reintentar cada 10–15 segundos hasta que status deje de ser processing.

3. VerifyDocument (síncrona)

Mismo request que SubmitDocument (elemento raíz VerifyDocumentRequest), pero espera el resultado completo en la misma llamada — puede tardar 10–60 segundos (OCR + análisis de fraude + IA).

Si tu plataforma corta la conexión por timeout antes de esos 60 segundos (como suele pasar con QuickBase Pipelines), usa SubmitDocument + GetVerificationResult en su lugar. VerifyDocument es más útil para pruebas manuales con Postman o SoapUI.

Campos del request

ElementoRequeridoDescripción
apiKeySí (si no usas el header)Tu API key
documentTypeNoauto (default, detecta el tipo solo) o uno específico — ver Tipos de documento
fileNameNoNombre del archivo; la extensión determina el formato (.pdf por default)
fileContentBase64El archivo codificado en base64, sin saltos de línea. Máx. 30 MB decodificado
clientReferenceIdNoTu identificador interno — se devuelve en los reportes

Formatos aceptados: PDF, JPEG, PNG, WEBP.

Errores (SOAP Fault)

Ver el detalle completo en Errores y estados.

Last updated on