Skip to main content

Netverify Callback

The callback is the authoritative answer from Jumio. Specify a callback URL (for constraints see Configuring Settings in the Customer Portal) to automatically receive the result for each transaction.

Usage

Once Jumio has sent the callback, save it on your side and send us a response of 200 OK.

Any validation of the content should be done afterwards. In case you face any issues, please contact Jumio Technical Support at support@jumio.com with a sample.


Jumio Callback IP List

Whitelist these IP addresses for callbacks and use them to verify that the callback originated from Jumio.

US Data Center

34.202.241.227
34.226.103.119
34.226.254.127
52.52.51.178
52.53.95.123
54.67.101.173

Use the hostname: callback.jumio.com to look up the most current IP addresses.

EU Data Center

34.253.41.236
35.157.27.193
52.48.0.25
52.57.194.92
52.58.113.86
52.209.180.134

Use the hostname: callback.lon.jumio.com

SGP Data Center

3.0.109.121
52.76.184.73
52.77.102.92

Use the hostname: callback.core-sgp.jumio.com


Callback for ID Verification

An HTTP POST request is sent to your specified callback URL containing an application/x-www-form-urlencoded formatted string with the transaction result.

To specify a global callback URL in the Customer Portal, see Configuring Settings in the Customer Portal.

A callback URL can also be specified per transaction. See instructions for ID Verification Web v4, performNetverify, and our SDK for Android and iOS.

For Android/iOS: ID verification must be enabled to receive the callback.

Parameters

Required items appear in bold type.

ID Verification Web

User Journey StateTransaction StateCallback
Not startedPending => FailedTransaction will be cleaned-up from pending to failed after the authorization token lifetime expires. Callback: Verification status NO_ID_UPLOADED
Drop off during first attemptPending => FailedTransaction will be finished 15 minutes after the last update. Callback: Verification status NO_ID_UPLOADED
Drop off during second or third attemptDoneTransaction will be finished 15 minutes after the last update. Callback: Verification status ERROR_NOT_READABLE_ID with previous reject reason
FinishedDoneCallback: Verification status depends on the result

ID Verification Mobile (Android/iOS)

User Journey StateTransaction StateCallback
Drop offPending => FailedTransaction will be cleaned-up from pending to failed 15 minutes after the last update. Callback: Verification status NO_ID_UPLOADED
FinishedDoneID verification will be performed. Callback: Verification status depends on the result (see table below)

Parameters

The following parameters are posted to your callback URL for ID Verification Web, ID Verification API and ID Verification Mobile iOS/Android.

Required items appear in bold type.

ParameterMax. LengthDescriptionNotes
callBackTypeNETVERIFYID
jumioIdScanReference36Jumio’s reference number for each transaction
verificationStatus
  • APPROVED_VERIFIED
  • DENIED_FRAUD
  • DENIED_UNSUPPORTED_ID_TYPE
  • DENIED_UNSUPPORTED_ID_COUNTRY
  • ERROR_NOT_READABLE_ID
  • NO_ID_UPLOADED
idScanStatusSUCCESS if verificationStatus = APPROVED_VERIFIED, otherwise ERROR
idScanSource
  • WEB (NVW4 before capture method is selected)
  • WEB_CAM (NVW4 with camera capture)
  • WEB_UPLOAD (NVW4 with file upload)
  • API (performNetverify)
  • SDK (mobile)
idCheckDataPositionsOK if verificationStatus = APPROVED_VERIFIED otherwise N/A
idCheckDocumentValidationOK if verificationStatus = APPROVED_VERIFIED otherwise N/A
idCheckHologramOK if verificationStatus = APPROVED_VERIFIED otherwise N/A
idCheckMRZcodeOK for passports and supported ID cards if verificationStatus = APPROVED_VERIFIED and MRZ check is enabled otherwise N/Anot returned for DEU, HKG, JPN, NLD, SGP, KOR if NV masking is enabled
idCheckMicroprintOK if verificationStatus = APPROVED_VERIFIED otherwise N/A
idCheckSecurityFeaturesOK if verificationStatus = APPROVED_VERIFIED otherwise N/A
idCheckSignatureOK if verificationStatus = APPROVED_VERIFIED otherwise N/A
transactionDateTimestamp (UTC) of the transaction creation format: YYYY-MM-DDThh:mm:ss.SSSZ
callbackDateTimestamp (UTC) of the callback creation format: YYYY-MM-DDThh:mm:ss.SSSZ
identityVerificationIdentity verification as JSON object, ONLY if verificationStatus = APPROVED_VERIFIEDactivation required
idType
  • PASSPORT
  • DRIVING_LICENSE
  • ID_CARD
  • VISA
Currently, Jumio only supports US and China visas in certain cases. Visas from other countries will be rejected as unsupported with idType = VISA
idSubtype255Possible subtypes if idType = ID_CARD:
  • NATIONAL_ID
  • CONSULAR_ID
  • ELECTORAL_ID
  • RESIDENT_PERMIT_ID
  • TAX_ID
  • STUDENT_ID
  • PASSPORT_CARD_ID
  • MILITARY_ID
  • PUBLIC_SAFETY_ID
  • HEALTH_ID
  • OTHER_ID
  • VISA
  • UNKNOWN
Possible subtypes if idType = DRIVING_LICENSE:
  • REGULAR_DRIVING_LICENSE
  • LEARNING_DRIVING_LICENSE
Possible subtypes if idType = PASSPORT:
  • E_PASSPORT (only for mobile)
idCountry3
  • ISO 3166-1 alpha-3 country code
  • XKX (Kosovo)
rejectReasonReject reason as JSON object if verificationStatus = DENIED_FRAUD or ERROR_NOT_READABLE_ID
idScanImage255URL to retrieve the image of the transaction (JPEG or PNG) if available
idScanImageFace255URL to retrieve the face image of the transaction (JPEG or PNG) if available
idScanImageBackside255URL to retrieve the back side image of the transaction (JPEG or PNG) if available
idNumber200Identification number of the document as available on the ID if enabled, otherwise if provided
idFirstName200First name of the customer as available on the ID if enabled, otherwise if provided
idLastName200Last name of the customer as available on the ID if enabled, otherwise if providedactivation required for Chinese name extraction
idDob10Date of birth in the format YYYY-MM-DD as available on the ID if enabled, otherwise if provided
idExpiry10Date of expiry in the format YYYY-MM-DD as available on the ID if enabled, otherwise if provided
idUsState255See ISO 3166-2 codes or free text if not mapped
personalNumber14Personal number of the document if idType = PASSPORT and if data available on the document
idAddressAddress as JSON object in RAW formatactivation required
merchantIdScanReference100Your reference for each transaction
merchantReportingCriteria100Your reporting criteria for each transaction
customerId100ID of the customer as provided
clientIpIP address of the client in the format xxx.xxx.xxx.xxx
firstAttemptDateTimestamp (UTC) of the first transaction attempt format: YYYY-MM-DDThh:mm:ss.SSSZ
optionalData1255Optional field of MRZ line 1
optionalData2255Optional field of MRZ line 2
gender2
  • M
  • F
  • X
activation required
presetCountry3
  • ISO 3166-1 alpha-3 country code
  • XKX (Kosovo)
presetIdType
  • PASSPORT
  • DRIVING_LICENSE
  • ID_CARD
dlCarPermission255
  • YES
  • NO
  • NOT_READABLE
activation required
nationality3ISO 3166-1 alpha-3 country code (if MRZ contains nationality)activation required
passportNumber255Passport number if idType = VISA and additional extraction enabledactivation required
issuingAuthority50Issuing authority of the documentactivation required
issuingDate10Issuing date of the documentactivation required
issuingPlace50Issuing place of the documentactivation required
livenessImagesURLs to the liveness images of the transaction
facemap255URL to the facemap of the transaction if availableactivation required
taxNumber255Tax number of the documentactivation required
cpf255CPF number of the documentactivation required
registrationNumber255Registration number of the documentactivation required
mothersName255Name of the document holder's motheractivation required
fathersName255Name of the document holder's fatheractivation required
rgNumber255"General Registration" number for idCountry = BRAactivation required
voterIdNumber255"Clave de elector" number for idCountry = MEXactivation required
issuingNumber255"Numero de emission" number for idCountry = MEXactivation required
residentPermitTypePermit type related to "Golden Visas" if idCountry = GBRactivation required
residentPermitRemarksPermit type related to "Golden Visas" if idCountry = GBRactivation required
disability
  • YES
  • NO
activation required

1 Transaction is declined as unsupported if the ID is not supported by Jumio, or not marked as accepted in your customer portal settings. 2 For ID types that are configured to support a separate scan of the front side and back side, there is a separate image of the front side (idScanImage) and the back side (idScanImageBackside). If Identity Verification is enabled, there is also a picture of the face (idScanImageFace). 3 Address recognition is performed for supported IDs, if enabled. Please check Supported documents for Address Extraction to see which supported documents. The address parameters are a part of the JSON object, if they are available on the ID. 4 Fields containing certain kinds of personally identifying information are not returned if NV masking is enabled for the Netherlands, Germany, or South Korea. See ID Verification masking for more information. 5 Liveness images are returned only for transactions containing Identity Verification submitted via the Android and iOS SDKs. The number of images can vary and may not be returned in chronological order. 6 If one of the values such as "day" is not included in the document it will also not be returned in the object.

Retrieving images

Use HTTP GET with Basic Authorization using your API token and secret as userid and password. Header: The following parameters are mandatory in the header section of your request.

  • Accept: image/jpeg, image/png
  • User-Agent: YOURCOMPANYNAME YOURAPPLICATIONNAME/VERSION The value for User-Agent must contain a reference to your business or entity for Jumio to be able to identify your requests. (e.g. YourCompanyName YourAppName/1.0.0). Without a proper User-Agent header, Jumio will take longer to diagnose API issues.

The TLS protocol is required during the TLS handshake (see Supported cipher suites) and we strongly recommend using the latest version.

Timestamp format

Timestamp are sent in format: YYYY-MM-DDThh:mm:ss.SSSZ with constraint that SSS (milliseconds) can either be

  • Not included: YYYY-MM-DDThh:mm:ssZ
  • 1 digit: YYYY-MM-DDThh:mm:ss.SZ
  • 2 digits: YYYY-MM-DDThh:mm:ss.SSZ
  • 3 digits: YYYY-MM-DDThh:mm:ss.SSSZ We encourage to use a standard library to convert the timestamp received from Jumio as the timeformat is valid with and without the SSS milliseconds.

Supported documents for address extraction

CountryID CardDriving LicensePassportCallback Format
AustraliaNoYesNoRAW
BahrainNoYesNoRAW
CanadaNoYesNoRAW
FranceYesYesYesRAW
GermanyYesNoNoRAW
IndiaYesNoNoRAW
IndonesiaYesNoNoRAW
IrelandNoYesNoRAW
MalaysiaYesNoNoRAW
MaltaYesYesNoRAW
MexicoYesNoNoRAW
PeruYesYesNoRAW
RomaniaYesNoNoRAW
SingaporeYesNoNoRAW
SpainYesNoNoRAW
United KingdomNoYesNoRAW
United StatesYesYesNoRAW
ItalyYesYesYesRAW

RAW address format

idAddress Object
ParameterMax. LengthDescription
line1100Line item 1
line2100Line item 2
line3100Line item 3
line4100Line item 4
line5100Line item 5
country3Possible countries:
• ISO 3166-1 alpha-3 country code
• XKX (Kosovo)
postalCode15Postal code
city64City
subdivision100Subdivision (Region, State, Province, Emirate, Department, ...)
formattedAddressComplete address in a formatted way
Reject reason
ParameterTypeMax. LengthDescription
rejectReasonCodeString5Code indicating why the verification was rejected. Possible values: see detailed codes below.
rejectReasonDescriptionString64Human-readable description of the reject reason. Grouped by verificationStatus: DENIED_FRAUD: 100 MANIPULATED_DOCUMENT, 105 FRAUDSTER, 106 FAKE, 107 PHOTO_MISMATCH, 108 MRZ_CHECK_FAILED, 109 PUNCHED_DOCUMENT, 110 CHIP_DATA_MANIPULATED (ePassport only), 111 MISMATCH_PRINTED_BARCODE_DATA, 112 CHIP_MISSING, 113 MISMATCHING_DATA_REPEATED_FACE, 114 DIGITAL_MANIPULATION, 115 MISMATCH_HRZ_MRZ_DATA, 118 MISMATCH_FRONT_BACK ERROR_NOT_READABLE_ID: 102 PHOTOCOPY_BLACK_WHITE, 103 PHOTOCOPY_COLOR, 104 DIGITAL_COPY, 200 NOT_READABLE_DOCUMENT, 201 NO_DOCUMENT, 202 SAMPLE_DOCUMENT, 206 MISSING_BACK, 207 WRONG_DOCUMENT_PAGE, 209 MISSING_SIGNATURE, 210 CAMERA_BLACK_WHITE, 211 DIFFERENT_PERSONS_SHOWN (multiple people in one image), 213 INVALID_WATERMARK, 214 MISSING_FRONT, 300 MANUAL_REJECTION
rejectReasonDetailsJSON object / JSON arrayAdditional details about the reject reason. Returns a JSON object if only one reason applies, or a JSON array of objects if multiple reasons exist (e.g., rejectReasonCode = 100 or 200). See table below for structure.

1activation required

Reject reason details
Parameter (rejectReasonDetails)TypeMax. LengthDescription
detailsCodeString5Code indicating the specific reason detail. Possible values: see below.
detailsDescriptionString32Human-readable description of the detail. Grouped by rejectReasonCode: 100: 1001 PHOTO, 1002 DOCUMENT_NUMBER, 1003 EXPIRY, 1004 DOB, 1005 NAME, 1006 ADDRESS, 1007 SECURITY_CHECKS, 1008 SIGNATURE, 1009 PERSONAL_NUMBER, 10011 PLACE_OF_BIRTH, 10012 GENDER, 10013 DATE_OF_ISSUE 200: 2001 BLURRED, 2002 BAD_QUALITY, 2003 MISSING_PART_DOCUMENT, 2004 HIDDEN_PART_DOCUMENT, 2005 DAMAGED_DOCUMENT, 2006 GLARE, 2007 MISSING_MANDATORY_DATAPOINTS
Identity Verification

Required items appear in bold type.

Parameter (identityVerification)Max. LengthDescription
similarity1Possible values: MATCH, NO_MATCH, NOT_POSSIBLE (not executed or bad quality of face on document)
validity2Possible values: TRUE, FALSE
reasonProvided if validity = FALSE. Possible values: SELFIE_CROPPED_FROM_ID, ENTIRE_ID_USED_AS_SELFIE, MULTIPLE_PEOPLE, SELFIE_IS_SCREEN_PAPER_VIDEO, SELFIE_MANIPULATED, AGE_DIFFERENCE_TOO_BIG, NO_FACE_PRESENT, FACE_NOT_FULLY_VISIBLE, BAD_QUALITY, BLACK_AND_WHITE, LIVENESS_FAILED

1 Is the person on the selfie the same as the one on the document? 2 Is it a live person? 3 Potential reasons LIVENESS_FAILED:

  • User tries to spoof the system
  • User does not want to show his face at all but wants to complete the onboarding
  • User does not look straight into the camera
  • User does not finish the the Identity Verification process
  • User has bad lighting conditions (too dark, too bright, reflections on face, not enough contrast, …)
  • User is covering (parts) of his face with a scarf, hat, or something similar
  • User is not able to align his face with the oval
  • A different person is performing the Identity Verification in the second step than in the first one
Driver License Categories

Required items appear in bold type.

Parameter(dlCategories)Max. LengthDescription
category10String in Latin or Traditional Chinese characters
issueDateIssue date in the format YYYY-MM-DD
expiryDateDate of expiry in the format YYYY-MM-DD as available on the driver license
isReadablePossible value:
  • FALSE
availabilityPossible values:
  • yes
  • no
  • not readable

ID Verification Masking

Extracting certain sensitive information from identity documents in the Netherlands, Germany, and South Korea is prohibited by law for customers with a business presence in those countries. These customers can elect to enable ID Verification masking to protect this sensitive data.

When masking is enabled for these countries, certain fields cannot be extracted and returned in the callback. The information contained in these fields is masked before the user's image is stored.

CountryDocumentAffected parameters (not returned in the callback)
DenmarkPassportpersonalNumber
GermanyPassportidCheckMRZcode, idNumber
GermanyID cardidCheckMRZcode, idNumber
Hong KongPassportidCheckMRZcode, idNumber
Hong KongID cardidNumber
JapanID cardidNumber
NetherlandsPassportidCheckMRZcode, personalNumber
NetherlandsID cardidCheckMRZcode, personalNumber
NetherlandsDriver licenseimage is masked, no extracted data fields are affected
SingaporePassportidCheckMRZcode, idNumber
SingaporeDriver licenseidNumber
SingaporeID cardidNumber
South KoreaPassportidCheckMRZcode, personalNumber
South KoreaID cardidNumber
South KoreaDriver licenseidNumber

Sample Callbacks

Sample callback (URL-encoded POST): Approved and verified

idExpiry=2022-12-31&idType=PASSPORT&idDob=1990-01-01&idCheckSignature=OK&idCheckDataPositions=OK&idCheckHologram=OK&idCheckMicroprint=OK&idCheckDocumentValidation=OK&idCountry=USA&idScanSource=SDK&idFirstName=FIRSTNAME&verificationStatus=APPROVED_VERIFIED&jumioIdScanReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&personalNumber=N%2FA&merchantIdScanReference=YOURIDSCANREFERENCE&idCheckSecurityFeatures=OK&idCheckMRZcode=OK&idScanImage=https%3A%2F%2Fnetverify.com%2Frecognition%2Fv1%2Fidscan%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Ffront&callBackType=NETVERIFYID&clientIp=xxx.xxx.xxx.xxx&idLastName=LASTNAME&idAddress=%7B%22city%22%3A%22MIAMI%22%2C%22country%22%3A%22USA%22%2C%22formattedAddress%22%3A%22414+SOUTHWEST+AVE%2C+MIAMI%2C+FL%2C+33184%2C+USA%22%2C%22line1%22%3A%22414+SOUTHWEST+AVE%22%2C%22postalCode%22%3A%2233184%22%2C%22subdivision%22%3A%22FL%22%7D&idScanStatus=SUCCESS&identityVerification=%7B%22similarity%22%3A%22MATCH%22%2C%22validity%22%3Atrue%7D&idNumber=P1234

Sample callback (URL-encoded POST): Fraud

idType=PASSPORT&idCheckSignature=N%2FA&rejectReason=%7B%20%22rejectReasonCode%22%3A%22100%22%2C%20%22rejectReasonDescription%22%3A%22MANIPULATED_DOCUMENT%22%2C%20%22rejectReasonDetails%22%3A%20%5B%7B%20%22detailsCode%22%3A%20%221001%22%2C%20%22detailsDescription%22%3A%20%22PHOTO%22%20%7D%2C%7B%20%22detailsCode%22%3A%20%221004%22%2C%20%22detailsDescription%22%3A%20%22DOB%22%20%7D%5D%7D&idCheckDataPositions=N%2FA&idCheckHologram=N%2FA&idCheckMicroprint=N%2FA&idCheckDocumentValidation=N%2FA&idCountry=USA&idScanSource=SDK&verificationStatus=DENIED_FRAUD&jumioIdScanReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&merchantIdScanReference=YOURSCANREFERENCE&idCheckSecurityFeatures=N%2FA&idCheckMRZcode=N%2FA&idScanImage=https%3A%2F%2Fnetverify.com%2Frecognition%2Fv1%2Fidscan%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Ffront&callBackType=NETVERIFYID&clientIp=xxx.xxx.xxx.xxx&idScanStatus=ERROR

Callback for Authentication

An HTTP POST request is sent to your specified callback URL containing an application/x-www-form-urlencoded formatted string with the transaction result.

To specify a global callback URL in the Customer Portal, see Configuring Settings in the Customer Portal.

A callback URL can also be specified per transaction in our Android and iOS SDK

Parameters

Required items appear in bold type.

ParameterTypeMax. LengthDescription
callbackDatestringTimestamp of the callback in the format: YYYY-MM-DDThh:mm:ss.SSSZ
transactionReferencestring36Jumio’s reference number for the Authentication transaction
enrollmentTransactionReferencestring36Jumio’s reference number of the enrollment transaction (ID)
transactionResultstringPossible values:
  • PASSED
  • FAILED
  • INVALID
  • EXPIRED
transactionDatestringTimestamp of the transaction in the format: YYYY-MM-DDThh:mm:ss.SSSZ
scanSourcestringPossible values:
  • SDK
  • WEB
callBackTypestringNETVERIFY_AUTHENTICATION
idScanImageFacestringURL to retrieve the face image of the transaction (JPEG or PNG) 1
livenessImagesJSON arrayURLs to the liveness images of the transaction (JPEG or PNG) 1,2
userReferencestringYour internal reference for the user

1 Retrieve the images of the transaction. 2 The number of images can vary and may not be returned in chronological order.

Retrieving Images

Use HTTP GET with Basic Authorization using your API token and secret, as userid and password. Header: The following parameters are mandatory in the header section of your request.

  • Accept: image/jpeg, image/png
  • User-Agent: YOURCOMPANYNAME YOURAPPLICATIONNAME/VERSION The value for User-Agent must contain a reference to your business or entity for Jumio to be able to identify your requests. (e.g. YourCompanyName YourAppName/1.0.0). Without a proper User-Agent header, Jumio will take longer to diagnose API issues.

The TLS protocol is required during the TLS handshake (see Supported cipher suites) and we strongly recommend using the latest version.

Timestamp format

Timestamp are sent in format: YYYY-MM-DDThh:mm:ss.SSSZ with constraint that SSS (milliseconds) can either be

  • Not included: YYYY-MM-DDThh:mm:ssZ
  • 1 digit: YYYY-MM-DDThh:mm:ss.SZ
  • 2 digits: YYYY-MM-DDThh:mm:ss.SSZ
  • 3 digits: YYYY-MM-DDThh:mm:ss.SSSZ We encourage to use a standard library to convert the timestamp received from Jumio as the timeformat is valid with and without the SSS milliseconds.

Sample Callback

Sample callback (URL-encoded POST): Passed

scanSource=SDK&transactionReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&enrollmentTransactionReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&callBackType=NETVERIFY_AUTHENTICATION&livenessImages=%5B%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F1%22%2C%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F2%22%2C%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F3%22%2C%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F4%22%2C%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F5%22%2C%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F6%22%2C%22https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fliveness%2F7%22%5D&idScanImageFace=https%3A%2F%2Fnetverify.com%2Fapi%2Fnetverify%2Fv2%2Fauthentications%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fimages%2Fface&callbackDate=2019-05-30T08%3A37%3A35.822Z&transactionDate=2019-05-29T08%3A37%3A24.344Z&transactionResult=PASSED

Callback for Document Verification

Parameters

The following parameters are posted to your callback URL for Document Verification and Document Verification API.

Required items appear in bold type.

ParameterTypeMax. LengthDescription
scanReferenceString36Jumio's reference number for each transaction
timestampStringTimestamp (UTC) of the response in the format: YYYY-MM-DDThh:mm:ss.SSSZ
transactionJSON objectTransaction related data, see table below
documentJSON objectDocument related data, see table below

Transaction

Required items appear in bold type.

ParameterTypeMax. LengthDescription
dateStringTimestamp (UTC) of the transaction creation, format: YYYY-MM-DDThh:mm:ss.SSSZ
statusStringPossible states:
  • DONE
  • FAILED (if initialized acquisition is not successfully finalized within 15 minutes after creation/last update)
sourceStringPossible values:
  • DOC_UPLOAD (Document Verification)
  • DOC_API (Document Verification API)
  • DOC_SDK (Document Verification Mobile)
merchantScanReferenceString255Your reference for each transaction
customerIdString255ID of the customer
merchantReportingCriteriaString255Your reporting criteria for each transaction
clientIpString100IP address of the client if provided for the Document Verification API

Document

Required items appear in bold type.

ParameterTypeMax. LengthDescription
statusStringPossible states:
  • UPLOADED (default) 1
  • EXTRACTED (if supported document for data extraction provided) 2
  • DISCARDED (if no supported document for data extraction provided)
countryString3Possible countries:
  • ISO 3166-1 alpha-3 country code
  • XKX (Kosovo)
typeStringPossible types:
  • CC (Credit card, front and back side)
  • BS (Bank statement, front side)
  • IC (Insurance card, front side)
  • UB (Utility bill, front side)
  • CAAP (Cash advance application, front and back side)
  • CRC (Corporate resolution certificate, front and back side)
  • CCS (Credit card statement, front and back side)
  • LAG (Lease agreement, front and back side)
  • LOAP (Loan application, front and back side)
  • MOAP (Mortgage application, front and back side)
  • TR (Tax return, front and back side)
  • VT (Vehicle title, front side)
  • VC (Voided check, front side)
  • STUC (Student card, front side)
  • HCC (Health care card, front side)
  • CB (Council bill, front side)
  • SENC (Seniors card, front side)
  • MEDC (Medicare card, front side)
  • BC (Birth certificate, front side)
  • WWCC (Working with children check, front side)
  • SS (Superannuation statement, front side)
  • TAC (Trade association card, front side)
  • SEL (School enrolment letter, front side)
  • PB (Phone bill, front side)
  • SSC (Social security card, front side)
  • CUSTOM (Custom document type)
  • OTHER (Other document type)
imagesJSON arrayURLs to the images of the transaction (JPEG or PNG) 3
originalDocumentStringURL to the originally submitted document of the transaction (PDF) if available 3
customDocumentCodeString100Your custom document code (maintained in your Jumio customer portal) if type = CUSTOM
extractedDataJSON objectExtracted data if status = EXTRACTED, see Supported documents for Data Extraction

1 This also applies for document type CCS where no masking was needed as no full PAN is displayed. 2 If masking has been done, status will be always EXTRACTED as well. This applies to all documents uploaded with type CC, as well as to documents uploaded with type CCS where a ful PAN is displayed. 3 Retrieve the images of the transaction.

Retrieving Images

Use HTTP GET with Basic Authorization using your API token and secret, as userid and password. Header: The following parameters are mandatory in the header section of your request.

  • Accept: image/jpeg, image/png
  • User-Agent: YOURCOMPANYNAME YOURAPPLICATIONNAME/VERSION The value for User-Agent must contain a reference to your business or entity for Jumio to be able to identify your requests. (e.g. YourCompanyName YourAppName/1.0.0). Without a proper User-Agent header, Jumio will take longer to diagnose API issues. The TLS protocol is required during the TLS handshake (see Supported cipher suites) and we strongly recommend using the latest version.

Timestamp format

Timestamp are sent in format: YYYY-MM-DDThh:mm:ss.SSSZ with constraint that SSS (milliseconds) can either be:

Not included: YYYY-MM-DDThh:mm:ssZ 1 digit: YYYY-MM-DDThh:mm:ss.SZ 2 digits: YYYY-MM-DDThh:mm:ss.SSZ 3 digits: YYYY-MM-DDThh:mm:ss.SSSZ We encourage to use a standard library to convert the timestamp received from Jumio as the timeformat is valid with and without the SSS milliseconds.

Extracted Data

ParameterTypeMax. LengthDescription
firstNameString255First name if readable
lastNameString255Last name if readable
nameString100Full name if readable
accountNumberString34Bank account number of the customer from a bank statement
panString20Personal account number of credit card
issueDateStringIssue date in the format YYYY-MM-DD
expiryDateStringDate of expiry in the format YYYY-MM-DD
ssnString255Social security number if readable
signatureAvailableStringtrue if signature available, otherwise false
swiftCodeString20BIC/SWIFT code
addressJSON objectAddress as JSON object in RAW format if status = EXTRACTED, see table below

RAW address format

ParameterMax. LengthDescription
line1100Line item 1
line2100Line item 2
line3100Line item 3
line4100Line item 4
line5100Line item 5
countryCode3Possible countries of residence:
  • ISO 3166-1 alpha-3 country code
  • XKX (Kosovo)
postalCode15Postal code
city64City
subdivision50Name of subdivision
formattedAddressComplete address in a formatted way

Supported documents for data extraction

The following data points will be extracted for all documents printed in a Latin-script character set, provided that a minimum of one of these data points are available for extraction. If the document does not meet these extraction criteria, only the document image will be saved — no data extraction will be performed.

TypeExtracted data
BS (bank statement)
  • name
  • issueDate
  • address
  • accountNumber
  • swiftCode
UB (utility bill)
  • name
  • issueDate
  • address
  • dueDate
CCS (credit card statement)
  • name
  • issueDate
  • address
  • cardNumberLastFourDigits
OTHER (Other document type)
  • name
  • issueDate
  • address
CC (credit card) 1,3
  • name
  • pan
  • expiryDate (currently returned as issueDate)
SSC (Social Security card) 1,2
  • firstName
  • lastName
  • ssn
  • signatureAvailable

1 For CC and SSC all data points need to be available for extraction. 2 USA only. 3 For CC date extraction format is MM/YY

Sample Callbacks

Sample callback (URL-encoded POST): UPLOADED

timestamp=2017-06-06T12%3A06%3A49.016Z&scanReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&document=%7B%22type%22%3A%22SSC%22%2C%22country%22%3A%22AUT%22%2C%22images%22%3A%5B%22https%3A%2F%2Fretrieval.netverify.com%2Fapi%2Fnetverify%2Fv2%2Fdocuments%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fpages%2F1%22%5D%2C%22status%22%3A%22UPLOADED%22%7D&transaction=%7B%22customerId%22%3A%22CUSTOMERID%22%2C%22date%22%3A%222014-10-17T06%3A37%3A51.969Z%22%2C%22merchantScanReference%22%3A%22YOURSCANREFERENCE%22%2C%22source%22%3A%22DOC_SDK%22%2C%22status%22%3A%22DONE%22%7D

Sample callback (URL-encoded POST): EXTRACTED

timestamp=2017-06-06T12%3A06%3A49.016Z&scanReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&document=%7B%22type%22%3A%22SSC%22%2C%22country%22%3A%22USA%22%2C%22extractedData%22%3A%7B%22firstName%22%3A%22FIRSTNAME%22%2C%22lastName%22%3A%22LASTNAME%22%2C%22signatureAvailable%22%3Atrue%2C%22ssn%22%3A%22xxxxxxxxx%22%7D%2C%22images%22%3A%5B%22https%3A%2F%2Fretrieval.netverify.com%2Fapi%2Fnetverify%2Fv2%2Fdocuments%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fpages%2F1%22%5D%2C%22status%22%3A%22EXTRACTED%22%7D&transaction=%7B%22customerId%22%3A%22CUSTOMERID%22%2C%22date%22%3A%222014-10-17T06%3A37%3A51.969Z%22%2C%22merchantScanReference%22%3A%22YOURSCANREFERENCE%22%2C%22source%22%3A%22DOC_SDK%22%2C%22status%22%3A%22DONE%22%7D

Sample callback (URL-encoded POST): DISCARDED

timestamp=2017-06-06T12%3A06%3A49.016Z&scanReference=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&document=%7B%22type%22%3A%22SSC%22%2C%22country%22%3A%22USA%22%2C%22images%22%3A%5B%22https%3A%2F%2Fretrieval.netverify.com%2Fapi%2Fnetverify%2Fv2%2Fdocuments%2Fxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2Fpages%2F1%22%5D%2C%22status%22%3A%22DISCARDED%22%7D&transaction=%7B%22customerId%22%3A%22CUSTOMERID%22%2C%22date%22%3A%222014-10-17T06%3A37%3A51.969Z%22%2C%22merchantScanReference%22%3A%22YOURSCANREFERENCE%22%2C%22source%22%3A%22DOC_SDK%22%2C%22status%22%3A%22DONE%22%7D

ID Verification Retrieval API

If your server was not able to receive or process the callback, you can use the Retrieval API to retrieve the results of your transaction.