Passport

Passport

The PHP SDK supports the Mindee V1 Passport API.

Product Specifications

Specification
Details

Endpoint Name

passport

Recommended Version

v1.1

Supports Polling/Webhooks

❌ No

Support Synchronous HTTP Calls

✔️ Yes

Geography

🌐 Global

Quick-Start

Using the sample below, we are going to illustrate how to extract the data that we want using the SDK.

Passport Sample

Sample Code

<?php

use Mindee\Client;
use Mindee\Product\Passport\PassportV1;

// Init a new client
$mindeeClient = new Client("my-api-key");

// Load a file from disk
$inputSource = $mindeeClient->sourceFromPath("/path/to/the/file.ext");

// Parse the file
$apiResponse = $mindeeClient->parse(PassportV1::class, $inputSource);

echo $apiResponse->document;

Sample Output (rST)

########
Document
########
:Mindee ID: 18e41f6c-16cd-4f8e-8cd2-00ca02a35764
:Filename: default_sample.jpg

Inference
#########
:Product: mindee/passport v1.0
:Rotation applied: Yes

Prediction
==========
:Country Code: GBR
:ID Number: 707797979
:Given Name(s): HENERT
:Surname: PUDARSAN
:Date of Birth: 1995-05-20
:Place of Birth: CAMTETH
:Gender: M
:Date of Issue: 2012-04-22
:Expiry Date: 2017-04-22
:MRZ Line 1: P<GBRPUDARSAN<<HENERT<<<<<<<<<<<<<<<<<<<<<<<
:MRZ Line 2: 7077979792GBR9505209M1704224<<<<<<<<<<<<<<00

Page Predictions
================

Page 0
------
:Country Code: GBR
:ID Number: 707797979
:Given Name(s): HENERT
:Surname: PUDARSAN
:Date of Birth: 1995-05-20
:Place of Birth: CAMTETH
:Gender: M
:Date of Issue: 2012-04-22
:Expiry Date: 2017-04-22
:MRZ Line 1: P<GBRPUDARSAN<<HENERT<<<<<<<<<<<<<<<<<<<<<<<
:MRZ Line 2: 7077979792GBR9505209M1704224<<<<<<<<<<<<<<00

Field Types

Standard Fields

These fields are generic and used in several products.

BaseField

Each prediction object contains a set of fields that inherit from the generic BaseField class. A typical BaseField object will have the following attributes:

  • value (float|string): corresponds to the field value. Can be null if no value was extracted.

  • confidence (float): the confidence score of the field prediction.

  • boundingBox ([Point, Point, Point, Point]): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.

  • polygon (Point[]): contains the relative vertices coordinates (Point) of a polygon containing the field in the image.

  • pageId (integer): the ID of the page, always null when at document-level.

  • reconstructed (bool): indicates whether an object was reconstructed (not extracted as the API gave it).

A Point simply refers to a list of two numbers ([float, float]).

Aside from the previous attributes, all basic fields have access to a custom __toString method that can be used to print their value as a string.

DateField

Aside from the basic BaseField attributes, the date field DateField also implements the following:

  • dateObject (date): an accessible representation of the value as a php object. Can be null.

StringField

The text field StringField implements the following:

  • value (string): represents the value of the field as a string.

  • rawValue (string): the value of the string as it appears on the document.

Attributes

The following fields are extracted for Passport V1:

Date of Birth

birthDate : The date of birth of the passport holder.

echo $result->document->inference->prediction->birthDate->value;

Place of Birth

birthPlace : The place of birth of the passport holder.

echo $result->document->inference->prediction->birthPlace->value;

Country Code

country : The country's 3 letter code (ISO 3166-1 alpha-3).

echo $result->document->inference->prediction->country->value;

Expiry Date

expiryDate : The expiry date of the passport.

echo $result->document->inference->prediction->expiryDate->value;

Gender

gender : The gender of the passport holder.

echo $result->document->inference->prediction->gender->value;

Given Name(s)

givenNames : The given name(s) of the passport holder.

foreach ($result->document->inference->prediction->givenNames as $givenNamesElem)
{
    echo $givenNamesElem->value;
}

ID Number

idNumber : The passport's identification number.

echo $result->document->inference->prediction->idNumber->value;

Date of Issue

issuanceDate : The date the passport was issued.

echo $result->document->inference->prediction->issuanceDate->value;

MRZ Line 1

mrz1 : Machine Readable Zone, first line

echo $result->document->inference->prediction->mrz1->value;

MRZ Line 2

mrz2 : Machine Readable Zone, second line

echo $result->document->inference->prediction->mrz2->value;

Surname

surname : The surname of the passport holder.

echo $result->document->inference->prediction->surname->value;

Last updated

Was this helpful?