FMM service description
Forma Migratoria MX Services allows to validate a Permanent Resident Card(FMM) by processing an image, verifying its authenticity and responding with information about the document.
~/api/residentcard/validate POST
Parameters
| Tag |
Type |
Required |
Description |
| FrontID |
file |
yes |
Support jpg, jpeg or png images. |
| BackID |
file |
yes |
Support jpg, jpeg or png images. |
| Tag |
Type |
Required |
Description |
| apiKey |
string |
yes |
Customer key. |
Answers document
| Name |
Type |
Description |
| Result: |
|
|
| valid |
boolean |
True or False result of global verification. |
| data: |
|
|
| status |
string |
Status verification of the image and optical scanner. |
| graphics fields |
string |
Document image scan result. |
| text fields |
string |
Document image scan result. |
| document images |
string |
Cropping of the official document. |
| document type |
string |
Type of document. |
| image quality |
string |
Image quality of the official document. |
| warnings: |
|
|
| code |
string |
Error code |
| message |
string |
Error message |
Description about answers document
| Result name |
Result type |
Description |
| Status |
33 |
The statuses of all verifications performed. |
| Text |
36 |
The text data. |
| Images |
37 |
The graphic data. |
| OneCandidate |
9 |
The information about the document type. |
| ImageQualityCheckList |
30 |
The results of image quality checks. |
| AuthenticityCheckList |
20 |
The results of document authenticity checks. |
| MrzPosition |
61 |
The information about the MRZ position. |
| DocumentPosition |
85 |
The information about the document position. |
Containers
Status
This result type contains the statuses of all verifications performed.
Status
├── overallStatus
├── optical
├── rfid
├── detailsOptical
│ ├── overallStatus
│ ├── docType
│ ├── expiry
│ ├── imageQA
│ ├── mrz
│ ├── pagesCount
│ ├── security
│ ├── text
│ └── vds
├── detailsRFID
│ ├── overallStatus
│ ├── BAC
│ ├── PACE
│ ├── CA
│ ├── TA
│ ├── AA
│ └── PA
├── portrait
└── stopList
| Parameter |
Description |
| overallStatus |
The summary of all checks, one of the CheckResult enumeration values. |
| optical |
The summary of all optical checks. Same as detailsOptical.overallStatus, one of the CheckResult enumeration values. |
| rfid |
The summary of all RFID checks. Same as detailsRFID.overallStatus, one of the CheckResult enumeration values. |
| detailsOptical.overallStatus |
The summary of all optical checks. Same as optical, one of the CheckResult enumeration values. |
| detailsOptical.docType |
The check status if document type was recognized or not, one of the CheckResult enumeration values. |
| detailsOptical.expiry |
The document validity period verification status, one of the CheckResult enumeration values. |
| detailsOptical.imageQA |
The input images quality verification status, one of the CheckResult enumeration values. |
| detailsOptical.mrz |
MRZ verification: values validity, dates, checkdigits verification, one of the CheckResult enumeration values. |
| detailsOptical.pagesCount |
The number of scanned document pages, integer. |
| detailsOptical.security |
The authenticity verification status, one of the CheckResult enumeration values. |
| detailsOptical.text |
Text fields status: values validity for specific fields, cross-comparison of values from different sources, dates & checkdigits verification, one of the CheckResult enumeration values. |
| detailsOptical.vds |
The Visible Digital Seal verification status, one of the CheckResult enumeration values. |
| detailsRFID.overallStatus |
The summary of all RFID checks. Same as rfid, one of the CheckResult enumeration values. |
| detailsRFID.BAC |
The Basic Access Control status, one of the CheckResult enumeration values. |
| detailsRFID.PACE |
The Password Authenticated Connection Establishment status, one of the CheckResult enumeration values. |
| detailsRFID.CA |
The Chip Authentication status, one of the CheckResult enumeration values. |
| detailsRFID.TA |
The Terminal Authentication status, one of the CheckResult enumeration values. |
| detailsRFID.AA |
The Active Authentication status, one of the CheckResult enumeration values. |
| detailsRFID.PA |
The Passive Authentication status, one of the CheckResult enumeration values. |
| portrait |
The comparison status for portrait in the document against the live or external image, one of the CheckResult enumeration values. |
| stopList |
The verification status for the document data against the database, one of the CheckResult enumeration values. |
Text
This result type contains the text data.
Text
├── availableSourceList
│ ├── containerType
│ ├── source
│ └── validityStatus
├── comparisonStatus
├── dateFormat
├── fieldList
│ ├── comparisonList
│ ├── comparisonStatus
│ ├── fieldName
│ ├── fieldType
│ ├── lcid
│ ├── lcidName
│ ├── status
│ ├── validityList
│ │ ├── source
│ │ └── status
│ ├── validityStatus
│ ├── value
│ ├── valueList
│ │ ├── containerType
│ │ ├── fieldRect
│ │ │ ├── bottom
│ │ │ ├── left
│ │ │ ├── right
│ │ │ └── top
│ │ ├── originalSymbols
│ │ │ ├── code
│ │ │ ├── probability
│ │ │ ├── rect
│ │ │ │ ├── bottom
│ │ │ │ ├── left
│ │ │ │ ├── right
│ │ │ │ └── top
│ │ ├── originalValidity
│ │ ├── pageIndex
│ │ ├── probability
│ │ ├── source
│ │ └── value
├── status
└── validityStatus
| Parameter |
Description |
| availableSourceList |
The list of available sources. |
| availableSourceList.containerType |
The source type, integer representation, one of the Result enumeration values. |
| availableSourceList.source |
The source name, string representation. |
| availableSourceList.validityStatus |
The verification result, one of the CheckResult enumeration values. |
| comparisonStatus |
The comparison result, one of the CheckResult enumeration values. |
| dateFormat |
The date format. |
| fieldList |
The list of available text fields. |
| fieldList.comparisonList |
The list of available comparisons in the given text field. |
| fieldList.comparisonStatus |
The comparison status in the given text field, one of the CheckResult enumeration values. |
| fieldList.fieldName |
The text field name, string representation. |
| fieldList.fieldType |
The text field type, integer representation, one of the TextFieldType enumeration values. |
| fieldList.lcid |
The LCID type, integer representation, one of the LCID enumeration values. |
| fieldList.lcidName |
The LCID name, string representation. |
| fieldList.status |
The overall result of the given text field that combines comparsion and verification results, one of the CheckResult enumeration values. |
| fieldList.validityList |
The list of verification results. |
| fieldList.validityStatus |
The verification result of the text field, one of the CheckResult enumeration values. |
| fieldList.value |
The single text field value. |
| fieldList.valueList |
The list of all available values in the given text field. |
| fieldList.valueList.containerType |
The source typ of the value, integer representation, one of the Result enumeration values. |
| fieldList.valueList.fieldRect |
The text field value rectangular area coordinates on the image. |
| fieldList.valueList.originalSymbols |
Original symbols. |
| fieldList.valueList.originalValidity |
Original validity. |
| fieldList.valueList.pageIndex |
The page index. |
| fieldList.valueList.probability |
The symbol recognition probability. |
| fieldList.valueList.source |
The source name of the value, string representation. |
| fieldList.valueList.value |
The single text field value. |
| status |
The overall result of all available text fields that combines comparsion and verification results, one of the CheckResult enumeration values. |
| validityStatus |
The overall verification result of all available text fields, one of the CheckResult enumeration values. |
Images
This result type contains the graphic data.
Images
├── availableSourceList
│ ├── containerType
│ └── source
├── fieldList
│ ├── fieldName
│ ├── fieldType
│ ├── valueList
│ │ ├── value
│ │ ├── containerType
│ │ ├── source
│ │ ├── lightIndex
│ │ ├── fieldRect
│ │ │ ├── bottom
│ │ │ ├── left
│ │ │ ├── right
│ │ │ └── top
│ │ ├── originalPageIndex
│ │ └── pageIndex
| Parameter |
Description |
| availableSourceList |
The list of available sources. |
| availableSourceList.containerType |
The source type, integer representation, one of the Result enumeration values. |
| availableSourceList.source |
The source name, string representation. |
| fieldList |
The list of available graphic fields. |
| fieldList.fieldName |
The graphic field name, string representation. |
| fieldList.fieldType |
The graphic field type, integer representation, one of the GraphicFieldType enumeration values. |
| fieldList.valueList |
The list of graphic field values. |
| fieldList.valueList.value |
The image value, Base64 format. |
| fieldList.valueList.containerType |
The source type which the value belongs to, integer representation, one of the Result enumeration values. |
| fieldList.valueList.source |
The source name which the value belongs to, string representation. |
| fieldList.valueList.lightIndex |
The lightning scheme, one of the Light enumeration values. |
| fieldList.valueList.fieldRect |
The field rectangular area coordinates on the image. |
| fieldList.valueList.originalPageIndex |
Original page index. |
| fieldList.valueList.pageIndex |
The page index. |
Document Type
This result type contains information about the document type.
OneCandidate
├── AuthenticityNecessaryLights
├── CheckAuthenticity
├── DocumentName
├── FDSIDList
│ ├── Count
│ ├── ICAOCode
│ ├── List
│ ├── dCountryName
│ ├── dFormat
│ ├── dMRZ
│ ├── dType
│ └── dYear
├── ID
├── NecessaryLights
├── OVIExp
├── P
├── RFID_Presence
├── Rotated180
├── RotationAngle
└── UVExp
| Parameter |
Description |
| AuthenticityNecessaryLights |
The combination of identifiers of necessary lighting schemes to perform authenticity check for the given document type. |
| CheckAuthenticity |
Set of authenticity check options provided for the given document type. |
| DocumentName |
The document type name. |
| FDSIDList |
Additional document information and its link to IRS document(s). |
| FDSIDList.Count |
Number of elements in the array. |
| FDSIDList.ICAOCode |
The document issuing country ICAO Code. |
| FDSIDList.List |
The array of IRS document identifiers. |
| FDSIDList.dCountryName |
The name of the country that issued the document. |
| FDSIDList.dFormat |
The document format. |
| FDSIDList.dMRZ |
A flag for MRZ presence on the document. |
| FDSIDList.dType |
The document type, one of the DocumentType enumeration values. |
| FDSIDList.dYear |
The year the document was issued. |
| ID |
The document type numeric code. |
| NecessaryLights |
The combination of identifiers of necessary lighting schemes to perform OCR for the given document type. |
| OVIExp |
The camera exposure value necessary when obtaining document images of the given type for AXIAL lighting scheme. |
| P |
Estimation of correct recognition probability when analyzing the given document type. |
| RFID_Presence |
Presence of RFID chip in the document. |
| Rotated180 |
true if the document of the given type is rotated by 180 degrees. |
| UVExp |
The camera exposure value necessary when obtaining document images of the given type for UV lighting scheme. |
Image Quality
This result type contains results of image quality checks.
ImageQualityCheckList
├── Count
├── List
│ ├── type
│ ├── featureType
│ ├── result
│ ├── areas
│ │ ├── Count
│ │ ├── List
│ │ │ ├── bottom
│ │ │ ├── left
│ │ │ ├── right
│ │ │ └── top
│ │ └── Points
│ ├── mean
│ ├── probability
│ └── std_dev
└── result
| Parameter |
Description |
| Count |
The number of results in the array. |
| List |
The list of single check result pointers. |
| List.type |
The check result type, one of the ImageQualityCheckType enumeration values. |
| List.featureType |
The area examined, one of the SecurityFeatureType enumeration values. |
| List.result |
The check result, one of the CheckResult enumeration values. |
| List.areas |
Anomalous image areas. |
| List.mean |
The check mean value. |
| List.probability |
The check probability. |
| List.std_dev |
The check deviation. |
| result |
The overall check result, one of the CheckResult enumeration values. |
Authenticity
This result type contains results of document authenticity checks.
There are several groups of results within the Authenticity checks that differ in the structure:
- Security Feature Check. This group includes the following types of Authenticity checks:
- UV luminescence check
- IR B900
- Axial protection
- Photo embedding type
- Photo area
- Barcode format check
- Extended OCR check
- Extended MRZ check
- Ident Result. This group includes the following types of Authenticity checks:
- Image patterns
- IR visibility
- OVI
- Comparison of the portraits
- Kinegram
- LetterScreen check
- Holograms
- Comparison of the fingerprints
- Liveness
- Fibers Check. This group includes the following types of Authenticity checks:
- UV security fibers
- OCR Security Text Result. This group includes the following types of Authenticity checks:
- OCR Security text
- Photo Ident Check. This group includes the following types of Authenticity checks:
- IPI (invisible personal information)
Security Feature Check
AuthenticityCheckList
├── Type
├── Result
├── List
│ ├── ElementType
│ ├── ElementResult
│ ├── ElementDiagnose
│ ├── ElementRect
│ │ ├── left
│ │ ├── top
│ │ ├── right
│ │ └── bottom
Ident Result
AuthenticityCheckList
├── Type
├── Result
├── List
│ ├── ElementType
│ ├── ElementResult
│ ├── ElementDiagnose
│ ├── Image
│ ├── EtalonImage
│ ├── PercentValue
│ ├── LightIndex
│ ├── Area
│ │ ├── left
│ │ ├── top
│ │ ├── right
│ │ └── bottom
Fibers Check
AuthenticityCheckList
├── Type
├── Result
├── List
│ ├── ElementResult
│ ├── ElementDiagnose
│ ├── RectArray
│ │ ├── left
│ │ ├── top
│ │ ├── right
│ │ └── bottom
OCR Security Text Result
AuthenticityCheckList
├── Type
├── Result
├── List
│ ├── ElementResult
│ ├── ElementDiagnose
│ ├── EtalonFieldType
│ ├── LightType
│ ├── FieldRect
│ │ ├── left
│ │ ├── top
│ │ ├── right
│ │ └── bottom
Photo Ident Check
AuthenticityCheckList
├── Type
├── Result
├── List
│ ├── ElementResult
│ ├── ElementDiagnose
│ ├── ResultImages
│ ├── SourceImage
│ ├── LightIndex
│ ├── Area
│ │ ├── left
│ │ ├── top
│ │ ├── right
│ │ └── bottom
| Parameter |
Description |
| Type |
The type of the preforemed check, one of the AuthenticityResultType enumeration values. |
| Result |
The overall result of all checked elements that are in the List, one of the CheckResult enumeration values. |
| List |
The list of elements that are checked. |
| ElementResult |
The verification status of the element, one of the CheckResult enumeration values. |
| ElementDiagnose |
Contains the reason why the verification failed, one of the CheckDiagnose enumeration values. |
| ResultImages |
The array of the output images. |
| SourceImage |
The array of the source images. |
| LightIndex |
The lightning scheme, one of the Light enumeration values. |
| Area |
The coordinates of the checked fragment. |
MRZ Position
This result type contains tinformation about the MRZ position.
MrzPosition
├── Angle
├── Center
│ ├── x
│ └── y
├── Dpi
├── Height
├── Inverse
├── LeftBottom
│ ├── x
│ └── y
├── LeftTop
│ ├── x
│ └── y
├── ObjArea
├── ObjIntAngleDev
├── PerspectiveTr
├── ResultStatus
├── RightBottom
│ ├── x
│ └── y
├── RightTop
│ ├── x
│ └── y
├── Width
└── docFormat
| Parameter |
Description |
| Angle |
The document rotation angle. |
| Center |
The document center coordinates. |
| Dpi |
Resolution in dots per inch. |
| Height |
The document height. |
| Inverse |
Internal use parameter. |
| LeftBottom |
Document left bottom corner coordinates. |
| LeftTop |
Document left top corner coordinates. |
| ObjArea |
Internal use parameter. |
| ObjIntAngleDev |
Internal use parameter. |
| PerspectiveTr |
Internal use parameter. |
| ResultStatus |
Internal use parameter. |
| RightBottom |
The document right bottom corner coordinates. |
| RightTop |
The document right top corner coordinates. |
| Width |
The document width. |
| docFormat |
The document format. |
JSON
{
"valid": "boolean",
"containerList": {
"status": "string",
"graphicsfields": "string",
"textfields": "string",
"documentimages": "string",
"documenttype": "string",
"imagequality": "string"
},
"warningMessage": [
{
"docType": "string",
"expiry": "string",
"imageQA": "string",
"mrz": "string",
"pagesCount": "string",
"security": "string",
"text": "string"
}
]
}
Error response
JSON
"warning":
[
{
"code": "string",
"message": "string"
}
]
Service messages
| Code |
Message |
Description |
| FMM001 |
The apiKey is required. |
The apikey is required in the request to the api. |
| FMM002 |
The apiKey is not valid. |
The apikey is invalid or does not exist in the database record. |
| FMM003 |
Internal server error |
I We got a unspected error and will be fixed as soon as posible. |
| FMM004 |
Both files are required |
Both files are required. |
| FMM006 |
The file front is required |
The file front of the id is required. |
| FMMOO7 |
Format file invalid |
The service it allows jpg, jpeg and png file formats. |
| FMM008 |
The Image exceed the range |
The resolution for the image must be 3840 x 2160. |
| FMM009 |
The back file has invalid format |
The service it allows jpg, jpeg and png file formats. |
| FMM010 |
The back Image exceed the range |
The resolution for the image must be 3840 x 2160. |
| FMM011 |
Server FMM don't response |
Server FMM has problems to response |
| FMM012 |
It is not a valid FMM document |
It is not a valid FMM document |