La API de Manyao permite integrar firma digital de documentos con validación biométrica y certificación blockchain. Usa OAuth 2.0 con client_credentials.
https://api.manyao.pe/v1JSONBearer Token/auth/tokenGenera un Bearer token usando tus credenciales. Soporta Basic Auth o body JSON.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
| client_id | string | Req | Tu API Key ID |
| client_secret | string | Req | Tu API Key Secret |
| grant_type | string | Req | Siempre client_credentials |
| expires_in | integer | Opt | Segundos de duración (default: 3600) |
curl -X POST 'https://api.manyao.pe/v1/auth/token' \
-H 'Content-Type: application/json' \
-d '{"client_id":"mk_live_xxx","client_secret":"ms_xxx","grant_type":"client_credentials"}'{
"success": true,
"access_token": "a1b2c3d4e5f6...",
"token_type": "Bearer",
"expires_in": 3600
}/auth/revokecurl -X POST 'https://api.manyao.pe/v1/auth/revoke' \
-H 'Authorization: Bearer {{token}}' \
-d '{"token":"{{token}}"}'/auth/verifycurl -X GET 'https://api.manyao.pe/v1/auth/verify' \
-H 'Authorization: Bearer {{token}}'/documentsCrea un documento y genera el enlace de firma. Soporta PDF, JSON, XML, URL, TEXT, IMAGE, OBJECT.
| Parámetro | Tipo | Descripción | |
|---|---|---|---|
| title | string | Req | Título del documento |
| content_type | string | Req | PDF, JSON, XML, URL, TEXT, IMAGE, OBJECT |
| content_hash | string | Req | SHA256(content_type + content_base64) |
| signers | array | Req | Firmantes: [{dni, doc_type, email?}] |
| content_base64 | string | Opt | Contenido en Base64 (PDF, imagen, texto, etc.) |
| initial_status | string | Opt | pending (QR, default) o draft (email) |
| expires_in_hours | integer | Opt | Horas de vigencia (default: 168) |
| callback_url | string | Opt | URL para webhook al completar |
| external_id | string | Opt | ID de referencia en tu sistema |
dni Req · doc_type Req (dni-pe, dni-pa, ci-pe) · email Opt
curl -X POST 'https://api.manyao.pe/v1/documents' \
-H 'Authorization: Bearer {{token}}' \
-H 'Content-Type: application/json' \
-d '{
"title": "Contrato de Servicios",
"content_type": "PDF",
"content_base64": "JVBERi0xLjQ...",
"content_hash": "sha256_del_contenido",
"signers": [{"dni":"12345678","doc_type":"dni-pe"}],
"callback_url": "https://tuapp.com/webhook"
}'{
"success": true,
"document": {
"id": "a1b2c3d4-e5f6-...",
"title": "Contrato de Servicios",
"status": "pending",
"sign_url": "https://manyao.pe/05/?id=a1b2c3d4-...",
"signers": [{"id":1,"dni":"12345678","status":"pending"}],
"expires_at": "2026-03-25T12:00:00",
"cost": 0.50
}
}/documents/{id}curl -X GET 'https://api.manyao.pe/v1/documents/{{document_id}}' \
-H 'Authorization: Bearer {{token}}'{
"success": true,
"document": {
"id": "a1b2c3d4-...",
"title": "Contrato",
"status": "signing",
"signers_total": 2,
"signers_completed": 1,
"signers": [{"dni":"12345678","status":"completed","full_name":"Juan Perez","signed_at":"..."}]
}
}/documentscurl -X GET 'https://api.manyao.pe/v1/documents?page=1&limit=20&status=completed' \
-H 'Authorization: Bearer {{token}}'/documents/{id}/signerscurl -X POST 'https://api.manyao.pe/v1/documents/{{document_id}}/signers' \
-H 'Authorization: Bearer {{token}}' \
-H 'Content-Type: application/json' \
-d '{"dni":"12345678","doc_type":"dni-pe","email":"juan@empresa.com"}'/documents/{id}/signers/{sId}curl -X DELETE 'https://api.manyao.pe/v1/documents/{{document_id}}/signers/42' \
-H 'Authorization: Bearer {{token}}'/documents/{id}/sendcurl -X POST 'https://api.manyao.pe/v1/documents/{{document_id}}/send' \
-H 'Authorization: Bearer {{token}}'/documents/{id}/closecurl -X POST 'https://api.manyao.pe/v1/documents/{{document_id}}/close' \
-H 'Authorization: Bearer {{token}}'/documents/{id}/reopencurl -X POST 'https://api.manyao.pe/v1/documents/{{document_id}}/reopen' \
-H 'Authorization: Bearer {{token}}'completed. Incluye foto, firma, prueba de vida y blockchain.
/documents/{id}/certificatecurl -X GET 'https://api.manyao.pe/v1/documents/{{document_id}}/certificate' \
-H 'Authorization: Bearer {{token}}'/documents/{id}/certificate/{sId}/imagecurl -X GET 'https://api.manyao.pe/v1/documents/{{document_id}}/certificate/42/image' \
-H 'Authorization: Bearer {{token}}' --output cert.png/documents/{id}/certificate/{sId}/jsoncurl -X GET 'https://api.manyao.pe/v1/documents/{{document_id}}/certificate/42/json' \
-H 'Authorization: Bearer {{token}}'/documents/{id}/certificate/downloadcurl -X GET 'https://api.manyao.pe/v1/documents/{{document_id}}/certificate/download' \
-H 'Authorization: Bearer {{token}}' --output evidencia.zip/documents/{id}/certificate/{sId}/verifycurl -X GET 'https://api.manyao.pe/v1/documents/{{document_id}}/certificate/42/verify' \
-H 'Authorization: Bearer {{token}}'/sessions| Parámetro | Tipo | Descripción | |
|---|---|---|---|
| doc_type | string | Req | dni-pe, dni-pa, ci-pe |
| doc_number | string | Opt | Número de documento a validar |
| callback_url | string | Opt | URL webhook al verificar |
| metadata | object | Opt | Datos de referencia |
curl -X POST 'https://api.manyao.pe/v1/sessions' \
-H 'Authorization: Bearer {{token}}' \
-H 'Content-Type: application/json' \
-d '{"doc_type":"dni-pe","callback_url":"https://tuapp.com/callback"}'/sessions/{uuid}curl -X GET 'https://api.manyao.pe/v1/sessions/{{session_uuid}}'/sessions/{uuid}/resultcurl -X GET 'https://api.manyao.pe/v1/sessions/{{session_uuid}}/result' \
-H 'Authorization: Bearer {{token}}'/sessionscurl -X GET 'https://api.manyao.pe/v1/sessions?page=1&limit=20' \
-H 'Authorization: Bearer {{token}}'| Código | Descripción | Solución |
|---|---|---|
| 400 | Bad Request | Verifica los parámetros |
| 401 | Unauthorized | Token inválido o expirado |
| 402 | Payment Required | Saldo insuficiente |
| 403 | Forbidden | IP o dominio no permitido |
| 404 | Not Found | Recurso no encontrado |
| 429 | Too Many Requests | Rate limit excedido |
| 500 | Internal Error | Contacta soporte |