Estimated reading time: 15-20 minutes
What will you learn from this guide?
The manual will teach you how to use the One-to-One (OTO) Identity Verification system JAAKwith OTO, you will be able to compare two face images to determine if they belong to the same person, to identify potential attempts to supand to secure the quality of the processed images.
No prior technical knowledge required - just follow the steps.
Before Start - Checks list
Be sure to have these data ready:
- API Key (Token Bearer): Your valid authentication key provided by JAAK. It's essential to get our services.
- Images to be compared: Two face images in Base64 format.
- Basic knowledge of APIs REST: familiarity with how HTTP (GET, POST) applications are made and JSON responses are processed.
Contents Index
| Section | What will you learn |
|---|---|
| 1. What's OTO Verification? | To understand the purpose and scope of the OTO product. |
| 2. Key Functionality | To know the main skills and benefits of the system. |
| 3. Integration with API | A guide to how to conduct facial comparisons and achieve results. |
| 4. Monitoring of Events | How to consult statistics and details of verification processes. |
| 5. Common Problem Resolution | To identify and solve the most common mistakes. |
| 6. Do you need help? | When and how to contact our support team. |
| 7. Glossary of terms | Definitions of key terms related to OTO. |
1. What's OTO Verification?
The OTO (One-to-One) monitoring system JAAK It's a face biometrics solution that compares two images from a face to determine whether they belong to the same person. That process is fundamental to prevent supting and to ensure that the person presenting a document or performing an action is who they say they are.
Common use:
- Verification of documents: Compare a photo of the ID document (INE) with a user's "selfie."
- Online authentication: To confirm a user's identity at login or conduct important transactions.
- Liveness detections: Although OTO focuses on comparison, it integrates with processes that ensure that photo isn't a static image or a mask.
2. Key functionality
Our OTO product offers the following main capabilities:
- Biometric Facial Comparison: Determines the similarity between two faces, returning a confidence score.
- Accessories Detection: It identifies if the face in images has elements that can interfere with verification, such as glasses, hats or masks.
- Image Quality Analysis: It evaluates the clarity, glow, focus, rotation and face dimensions in images to secure precise results.
- Detailed Error Codes: It provides specific code to diagnose problems such as low image quality or shortcut of accessories.
- Record of Events: Save a detailed history of each OTO check, including processing flow, response times and metadata.
- Quality Statistics: It allows to get metric grouped by image quality problems (misfocus, glow, rotation, etc.) for performance analysis.
3. Integration with API
The interaction with the OTO system is performed through calls to our APIBelow are the most important endpoints for our customers.
3.1 Facial Verification Endpoint (POST / api / v2 / oto / verify)
That's the main endpoint for a facial comparison between two images.
- Method:
POST - Base URL:
https://api.sandbox.jaak.ai/api/v2/oto/verify
Required Headers:
Authorization:Bearer TU_API_KEY_AQUI(Your authentication key)Content-Type:application/json
Application body (JSON):
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
image1 | string | Yes | First image to compare, encoded in Base64 format. | "iVBORw0KGgoAAAANSUhEUgAA..." |
image2 | string | Yes | second image to compare, encoded in Base64 format. | "iVBORw0KGgoAAAANSUhEUgAA..." |
eventId | string | No | Optional unique identifier for your event (UUID or any string). | "mi_verificacion_123" |
Successful Response (HTTP Status: 200 OK):
The answer includes a score (0 to 100% similarity score), distance (metric distance, lower), process_time (processing time in ms) and an object state indicates if isSamePerson (same person), if rejectedBadQuality (rejected for bad quality) or rejectedAccessories (rejected by accessories). metadata detailed about the quality and accessories of each image.
Simplified response example:
{
"eventId": "my_custom_event_id",
"score": 96.5,
"isSamePerson": true,
"rejectedBadQuality": false,
"rejectedAccessories": false,
"message": "Successful Comparison",
"metadata": {
"image1": {
"accessories": { "glass": false },
"image_quality": { "isCorrectBrightness": true, "isCorrectBlur": true }
},
"image2": {
"accessories": { "glass": false },
"image_quality": { "isCorrectBrightness": true, "isCorrectBlur": true }
}
}
}
3.2 Codes Verification endpoint (POST / api / v1 / oto / verify-codes)
That endpoint's similar to /api/v2/oto/verifybut his response includes an array of codes for a more specific diagnosis of quality or rejection problems.
- Method:
POST - Base URL:
https://api.sandbox.jaak.ai/api/v1/oto/verify-codes
The body of demand and response are very similar to v2 with field addition codes in VerifyInfo.
3.3 Important considerations for Images
- Format: JPEG or PNG.
- Quality: Clear, well-lit images with face and clear visible face. Avoid blurred photos with strong reflections or shadows.
- Size: Optimizes the image size (recommended between 500KB and 2MB) for better performance.
- Base64: Make sure that the Base64 chains are valid and do not include the prefix
data:image/png;base64,.
4. Monitoring of Events
See details of OTO monitoring events for audit, performance analysis and problem solving.
4.1 Event Consultation (PET / api / v2 / oto / event)
The endpoint allows you to filter and get a pat list of all OTO events.
- Method:
GET - Base URL:
https://api.sandbox.jaak.ai/api/v2/oto/event
Consultation parameters (Query Params):
Can you use parameters as limit, page, status (success, failed, pending), action (verify-liveness, face-comparison), min-process-time, max-process-time, min-created-at, max-created-atand others.
Example: GET /api/v2/oto/event?limit=10&page=1&status=success
4.2 Special Event Consultation (PET / api / v2 / oto / event /: id)
To get complete details of an individual OTO event.
- Method:
GET - Base URL:
https://api.sandbox.jaak.ai/api/v2/oto/event/:id(where:idis the unique event ID)
The response includes processing flow (flow), the results of the validations of accessories and image quality and the metadata of facial comparison (meta.extra).
5. Common Problem Resolution
Here are some common problems and their solutions:
| Problem | Description | Resolution |
|---|---|---|
| Error 400 - Invalid Application | It indicates that the parameters sent are wrong, images have an incorrect format, are very small, or have no detectable faces. (Codes: 0002, OTO06) | 1. Check that images are valid JPEG or PNG and have clearly visible faces. 2. Be sure that Base64 chains are right. 3. Test with at least 100x100 pixels images. |
| Error 401 / 403 - Failed Authentication | You API Key is invalid, has expired or have no permission to use OTO product. (Codes: 0003) | 1. Check that you API 2. Make sure that the Leader Authorization be well formatted (Bearer TU_API_KEY) 3. Contact support to check your permission. |
| Processing Timeout | The request will be cancelled as processing goes beyond the time limit (35 seconds for OTO v2). (Code: 0013) | 1. Reduces the size of images (recommends 500KB - 2MB). 2. Reattempt logic with exponential backoff. 3. If the problem persists, contact support. |
| Images Rejected by bad quality | The system indicates rejectedBadQuality: true or rejectedAccessories: true. The specific code (OTO04, OTO05) will give you more details. | 1. Enhance the light and focus of images. 2. Be sure that images have an appropriate resolution (minimum 400x400 pixels). 3. Ask the user to remove glasses, hats or masks. |
| Unfound event (404) | You have been trying to consult a specific event (/api/v2/oto/event/:id) and the system indicates that it does not exist or belong to your company. (Code: 511) | 1. Check that the event's ID is correct and have valid 24-character hexadecimal ObjectID format. 2. Confirms that the event was created under your account. /api/v2/oto/event To get him. |
| Empty response when querying events | When using /api/v2/oto/event, the docList list is empty. | 1. Check your filters (status, action, date range) to make sure they are not too restrictive. 2. Try a wider date range. |
6. Do you need some help?
Do not hesitate to contact our support team (support) if:
- The troubleshooting steps do not solve your drawback.
- You get undocumented or unexpected mistakes.
- You need special settings or assistance with advanced integrations.
- Do you have persistent performance problems or data inconsistencies.
Information to have ready while contacting support:
- Special description of the problem.
- Steps you followed before the mistake.
- Event IDs or Request IDs of failed requests (if applicable).
- Screenshots of an error (if possible).
- Browser and device used (if applicable to client problems).
- Approximate time after the problem happened.
- Filters used for consultations (if applicable).
7. Glossary of terms
| Term | Definition |
|---|---|
| API Key | Unique authentication key that identifies and authorizes your access to our API. |
| Base64 | Codification used to represent binary data (as images) in ASCII text format. |
| OTO | One-to-One: A biometric comparison process between two face images. |
| Score | A ratio of 0 to 100%, indicating how likely faces are to be from the same person. |
| Distance | Meter of distance between face vectors (0.0-1.0), where a lower value indicates greater similarity. |
| Event ID | Unique identifier assigned to each event or monitoring request. |
| Process Time | Total processing time of an application in milliseconds. |
| Flow | Sequence of steps and validations performed while processing an OTO event. |
| Granularity | Temporary level of detail to group statistics (minute, hour, day). |
| bad quality | Problems with image quality (misfocus, glow, rotation, etc). |
| Threshold | The decision threshold used by the system to determine a match or rejection. |
| Object | A unique 24-character and hexadecimal MongodB identifier, used for specific event IDs. |