FMM Forma Migratoria MX

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.

Headers

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