This action is used for uploading a document image to IDES to be processed.
[POST] https://localhost/idws/process
Request/Response format: application/json
Body Parameters:
Name | Description | Format |
DocumentJourneyrequest | Mandatory, the Document Journey Request | Object |
Document Journey Request object:
Key Name | Description | Format |
Documents | Represent input ides documents processing response for front and back side documents and others i.e. front side, back side and NFC parts of the document please see “Document object” | List of Document object |
RquestedId | Unique ID of the request | GUID |
DocumentProcessingRequest | Processed document object | Object |
InputImages | Mandatory, a list of images to process, see “Input Image Object”, This list should at least contain an element named “WhiteImage” which is the visible image of the document. | Object |
WorkflowConfiguration | Dictionary of string values to be associated with the case Possible values: { “TripleScanEnabled”, “true” } “BacksideSettings”, @”[{‘DocumentType’:’*’,’CountryCode’:’*’,’IgnoreScanResult’:’False’}]” } “NFCEnabled”, “true” | Name and Value Dictionary |
Input Image Object
Key | Description | Format |
Data | Image binary data. | Base64 String encoded |
ImageFormat | The format of the image, possible values: “jpg” and “bmp”. | String |
Name | Possible values: “WhiteImage” “NearInfraredImage” “SelfiePhoto” “UltravioletImage” | String |
InputFormat | IMG = 0, PDF = 1 | Integer |
Document Processing Request
Key | Description | Format |
RfidData | Represents documents field’s data that extracted from the chip. | Base64 String encoded |
RfidMRZ | Set of MRZ lines coming from RFID tag | Name and Value Dictionary |
AdditionalData | Set of metadata items to be linked to the journey | Name and Value Dictionary |
Source | Mandatory, Indicates the device source of the image. Possible values are: 0: Default 1: Passport Scanner 2: Camera 4: Emulator | Integer |
DocumentConfiguration | Dictionary of string values to be associated with the case | Name and Value Dictionary |
Rsults:
Document Journey Object
Key name | Description | Format |
DocumentResult | The processing result of the document image. See the “Document result object” table for possible values. | Documentresult object |
RequiredAction | Text string code to inform calling application with the required action to continue entry processing if needed, possible values differ based on entry workflow customizations. | String |
JourneyId | A unique formatted id of the entry | GUID |
WorkflowStep | Determines the current step to be performed FRONTSIDE = 1 BACKSIDE = 2 ADDRESSDOCUMENT = 3 NFC = 4 | Integer |
WorkflowAttempt | Counter for how many times the consumer has made or has attempted to make the current step | Integer |
IsBacksideSuccessNeeded | Determines if the system has been configured to require the back side scan to be passed | Boolean |
Document Result Object
Key name | Description | Format |
AggregatedExtractedFields | Represent aggregated fields from multiple input documents and NFC See the “Aggregated Extracted Field object” table | List of ExtractedField object |
AuthentcationChecks | Represents Cross match checks between multiple documents fields and NFC. See the “Authentication Check Value object” table | List of AuthenticationCheck object |
AuthenticationState | Represents the high level results of cross match checks Possible values: Undetermined = 0, Passed = 1, Failed = 2 | Integer |
AvailableInformationSources | Represents available source of fields of Scanned document, to be provided later from the client. See the “Available Information Source object” table for possible values. | List of AvailableInformationSource object |
Documents | Represent input ides documents processing response for front and back side documents and others i.e. front side, back side and nfc parts of the document please see “Document object” | List of Document object |
HasError | Boolean value to indicate whether there is any exception or errors in processing the documents. | Boolean |
RequestId | Represents the unique ID of the request. | String |
Aggregated Extracted Field object
Key name | Description | Format |
Description | Returns the description of the extracted field. Which is a friendly text describing the content or the purpose of the field. | String |
Name | Returns the extracted field name which is used to identify the field. | String |
OcrConfidence | Returns OCR confidence of field’s value. Possible values is from 0 to 100, where 0 is lowest confidence and 100 is highest confidence. | Integer |
Regions | Returns list of regions in document image where field value was read. | List of Region object |
Value | Returns the normalized value of the extracted field represented as string. | String |
ValueFormat | Returns the format that was used to standardize or normalize the field value. Possible values: Undefined = 0, DateIso8601 = 1, DateTimeIso8601 = 2, CountryCodeIso31661_6Alpha = 3, CountryName = 4, PersonalName = 6, Gender = 10, MrzData = 12, | Integer |
ValueLocal | Returns the value of the extracted field in local language represented as string. | String |
Authentication Check Value object
Key name | Description | Format |
Id | Returns a value representing the identifier of this QualityCheck. | String |
Title | Returns a value specifying the title of the QualityCheck. | String |
Description | Returns a value specifying description of the QualityCheck. | String |
Group | Returns the Authentication Check’s group. This is used to categorize many check instances that perform the same type of check(e.g. Checks of many Ultraviolet patterns or many MRZ check digits). | String |
State | Returns state of the QualityCheck. This indicates whether the state of the check was Good, Bad, Undetermined. Undetermined = 0, Passed = 1, Failed = 2, Skipped = 3, | Integer |
Regions | Returns list of regions in document image where field value was read. | List of Region object |
Region object
Key name | Description | Format |
BoundingBox | The bounding box of the region | Integer |
Label | Label to which this region belongs to | String |
Document object
Key name | Description | Format |
AdditionalImages | Provides a map of labels and corresponding image. The list of potential labels are as follows – DIGITAL_TAMPERING_HEAT_MAP – IR_EXTRACTED_DOCUMENT – UV_EXTRACTED_DOCUMENT | List of AdditionalImage object |
AuthenticationChecks | Provides access to the details of the authentication checks that were run on the document. This map is indexed by the authentication Check ids (which are part of IDES authentication checks list). | List of AuthenticationCheck object |
AuthenticationState | Provides access to the high level overall result of the authentication on the document. Possible values are: passed: the document passed the authentication checks with an overall successful result; failed: the document failed many of the authentication checks that pose a concern on document state; undetermined: the state of the checks was inconclusive this might be because not enough; Authentication checks were carried on the document or the checks returned an intermediate result. | Integer |
Category | Returns the document type high level category (e.g. ‘Identification Card’ which covers both National and Foreigner Identification Cards types). This is the top level of document type hierarchy | String |
ContainsRFID | Returns whether the document has RFID or not. | Boolean |
DocumentImage | Provides document image. | DocumentImage object |
ExtractedFields | Provides access to the information that was extracted from the document (e.g.FirstName, LastName and BirthDate of the document holder, ExpiryDate of the document). This map is indexed by the field names (which follow IDES field naming standard). | List of ExtractedField object |
HadError | Returns whether the request was totally error-free or library faced non-fatal errors and was be able to proceed with request processing. | Boolean |
IsRecognised | Returns if the library has been able to recognize this type of document. | Boolean |
Issue | Returns document issue which distinguishes different issues (versions) of the same document type or subtype.Document issue can be a year identifying the year of issue or a proprietary code representation this issue is known with. | String |
IssuingCountryCode | Returns document issuing country code. This field uses standard three letter ISO 3166-1 country codes(e.g. ‘GBR’ for United Kingdom). | String |
IssuingCountryName | Returns document issuing country name (E.g. United Kingdom). | String |
IssuingStateCode | Returns document issuing state code as it is recognized in the issuing country. This field should always be used along with issuing_country_code field. (e.g. ‘WA’ for either Western Australia in Australia or Washington in United States of America). | String |
IssuingStateName | Returns document issuing state name (E.g. Washington). | |
Metadata | Get the document metadata. | List of MetaData object |
Name | Returns document name which is a friendly name that represents the issuer and type or subtype of the document (e.g. ‘United Kingdom Provisional Driving License’). | String |
QualityChecks | Provides access to the details of the quality checks that were run on the document. This map is indexed by the quality check ids (which are part of IDES quality checks list). | List of QualityCheck object |
RequestId | Returns a unique identifier for this specific processing operation result. | String |
Side | Returns document side (E.g. Front, Back). | String |
Subtype | Returns the document subtype. Subtype is the third level of document type hierarchy and it identities the document more specifically and usually differs from one issuer to another (E.g. ‘Full Driving Licence’, ‘Provisional Driving Licence’, ‘Probationary Driving Licence’ etc.). | String |
Type | Returns document type (e.g. ‘National Identification Card’). This is the second level of document type hierarchy and is usually the most used identifier for distinguishing document types. | String |
TypeId | Returns a unique document type identifier which is a code that uniquely identifies this specific document type. | String |
Available Information Source object
Key name | Description | Format |
AvailableInformationSourcesEnum | Information source that was used to extract the document Possible values: FRONTSIDE = 1 BACKSIDE = 2 ADDRESSDOCUMENT = 3 NFC = 4 | Integer |
Example JSON
Request:
{ "RequestId":"5bbc6ecd-f2f3-448c-80be-1b6c92bd2499", "DocumentProcessingRequest":{ "QueryDocument":null, "Documents":null, "RfidData":null, "RfidMrz":null, "AdditionalData":null, "Source":0, "DocumentConfiguration":null }, "InputImages":[ { "Data":"base64String", "ImageFormat":null, "Name":"WhiteImage", "InputFormat":0 } ], "WorkflowConfiguration":{ "BacksideSettings":"[{'DocumentType':'*','CountryCode':'*','IgnoreScanResult':'True'}]" } } Response: { "documentResult":{ "aggregatedExtractedFields":null, "authenticationChecks":null, "authenticationState":1, "availableInformationSources":[ 1, 2 ], "documents":[ { "additionalImages":null, "authenticationChecks":null, "authenticationState":0, "category":null, "containsRFID":false, "documentImage":null, "extractedFields":null, "hadError":true, "isRecognised":false, "issue":null, "issuingCountryCode":null, "issuingCountryName":null, "issuingStateCode":null, "issuingStateName":null, "metadata":null, "name":null, "qualityChecks":null, "requestId":"162e824a-9615-4313-ad81-ed3cdafc8be9", "side":null, "subtype":null, "type":null, "typeId":null } ], "hasError":false, "requestId":"1" }, "requiredAction":"BackSide", "journeyId":"5bbc6ecd-f2f3-448c-80be-1b6c92bd2499", "workflowStep":1, "workflowAttempt":1, "isBacksideSuccessNeeded":false }
In order to enable NFC by using json request user needs to send “NFCEnabled” key as “true” if they want to pass NFC data to the journey as shown below.
{"RequestId":"14f3e21b-a9c0-40ba-9bb7-bda4d9496a05","compositeRequest": {"Configuration":null,"Documents":null,"RequestId":null,"RfidData": [ {"Name":"FirstName","Value":"NfcName"}, {"Name":"LastName","Value":"NfcLastName"}, {"Name":"ExpiryDate","Value":"2019-15-06"} ], "InputQueryDocument": {"WhiteImage":null, "AdditionalImages":null, "AdditionalData":null, "Source":2, "DisabledChecks":null, "EnabledChecks":null} }, "WorkflowConfiguration":{"NfcEnabled":"true"} }