Document Verification Webhooks
The following are the webhooks for the Document Verification Tool. The webhooks have the following IDs:
document-reading
template-matching
age-check
duplicate-user-detection
alteration_detection
facematch
Document Reading
id
: document-reading
Step Completed
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name",
"value" : "<NAME>"
},
"address" : {
"label" : "Address",
"value" : "<ADDRESS>"
},
"emissionDate" : {
"label" : "Emission Date",
"format" : "date",
"value" : "<YYYY-MM-DD>"
}
},
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:01.421Z"
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"value" : "<FULL NAME>",
"required" : true,
"label" : "Name"
},
"documentNumber" : {
"value" : "<DOCUMENT NUMBER>",
"required" : true,
"label" : "Document Number"
},
"dateOfBirth" : {
"value" : "<YYYY-MM-DD>",
"required" : true,
"label" : "Day of Birth",
"format" : "date"
},
"expirationDate" : {
"value" : "<YYYY-MM-DD>",
"required" : false,
"label" : "Date of Expiration",
"format" : "date"
},
"documentType" : {
"value" : "P",
"required" : false,
"label" : "Document Type"
},
"firstName" : {
"value" : "<FIRST NAME>",
"required" : false,
"label" : "First Name"
},
"issueCountry" : {
"value" : "<COUNTRY>",
"required" : false,
"label" : "Issue Country"
},
"nationality" : {
"value" : "<USER NATIONALITY>",
"required" : false,
"label" : "Nationality"
},
"personalNumber" : {
"value" : "<PERSONAL NUMBER?",
"required" : false,
"label" : "Personal Number"
},
"sex" : {
"value" : "<M or F>",
"required" : false,
"label" : "Sex"
},
"surname" : {
"value" : "<SURNAME>",
"required" : false,
"label" : "Surname"
}
},
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:04.470Z"
Step Error
"step" : {
"status" : 200,
"id" : "document-reading",
"error" : {
"type" : "StepError",
"code" : "customDocument.notProvided",
"message" : "User has not provided any document"
},
"documentType" : "custom-doc"
}
"step" : {
"status" : 200,
"id" : "electronic-signature-document-validation",
"error" : {
"type" : "StepError",
"code" : "eSignature.notValidParams",
"message" : "Document invalid or photo on the document didn't match the seflie"
}
}
"step" : {
"status" : 200,
"id" : "electronic-signature-document-validation",
"error" : {
"type" : "StepError",
"code" : "eSignature.emailStepFailed",
"message" : "Email step hasn't been passed"
}
}
"step" : {
"status" : 200,
"id" : "electronic-signature-document-validation",
"error" : {
"type" : "StepError",
"code" : "eSignature.ipStepFailed",
"message" : "IP step hasn't been passed"
}
}
"step" : {
"status" : 200,
"id" : "electronic-signature-document-validation",
"error" : {
"type" : "StepError",
"code" : "eSignature.phoneStepFailed",
"message" : "Phone step hasn't been passed"
}
}
"step" : {
"status" : 200,
"id" : "electronic-signature-document-validation",
"error" : {
"type" : "StepError",
"code" : "eSignature.fullNameMismatch",
"message" : "The name in the document didn't match the name in the signature"
}
}
"step" : {
"status" : 200,
"id" : "document-reading",
"error" : {
"type" : "StepError",
"code" : "customDocument.skipped",
"message" : "User skipped this step"
},
"documentType" : "custom-template"
}
System Error
"error" : {
"type" : "REQUEST_REJECTED",
"code" : "503",
"message" : "Request is rejected when call 'verifications.setDocumentFields' action on 'mol-verification-xxxxxxxxxx-xxxxx-xx' node."
}
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Request is rejected when call 'media.buildPublicUrl' action on 'mol-media-server-xxxxxxxxxx-xxxxx-xx' node."
}
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name"
},
"documentNumber" : {
"required" : true,
"label" : "Document Number"
},
"dateOfBirth" : {
"required" : true,
"label" : "Day of Birth",
"format" : "date"
},
"expirationDate" : {
"required" : null,
"label" : "Date of Expiration",
"format" : "date"
}
},
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "For private folder callerId is required"
},
"documentType" : "national-id"
}
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name"
},
"documentNumber" : {
"required" : true,
"label" : "Document Number"
},
"dateOfBirth" : {
"required" : true,
"label" : "Day of Birth",
"format" : "date"
},
"expirationDate" : {
"required" : null,
"label" : "Date of Expiration",
"format" : "date"
}
},
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Parameters validation error!"
},
"documentType" : "national-id"
}
"step" : {
"status" : 200,
"id" : "document-reading",
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Request is rejected when call 'documentMetadata.getDocumentMetadata' action on 'mol-verification-XXX' node."
},
"documentType" : "national-id"
}
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name"
},
"address" : {
"required" : null,
"label" : "Address"
},
"emissionDate" : {
"required" : null,
"label" : "Emission Date",
"format" : "date"
}
},
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Request is rejected when call 'medias.get' action on 'mol-media-server-XXX' node."
}
}
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name"
},
"address" : {
"required" : null,
"label" : "Address"
},
"emissionDate" : {
"required" : null,
"label" : "Emission Date",
"format" : "date"
}
},
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Request is rejected when call 'media.buildPublicUrl' action on 'mol-media-server-XXX' node."
},
"documentType" : "proof-of-residency"
}
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name"
},
"documentNumber" : {
"required" : true,
"label" : "Document Number"
},
"dateOfBirth" : {
"required" : true,
"label" : "Day of Birth",
"format" : "date"
},
"expirationDate" : {
"required" : null,
"label" : "Date of Expiration",
"format" : "date"
},
"fathersName" : {
"required" : null,
"label" : "Fathers Name"
},
"mothersName" : {
"required" : null,
"label" : "Mothers Name"
},
"taxpayerNumber" : {
"required" : true,
"label" : "Taxpayer number"
}
},
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Step timeout"
},
"documentType" : "driving-license"
}
"step" : {
"status" : 200,
"id" : "document-reading",
"data" : {
"fullName" : {
"required" : true,
"label" : "Name"
},
"documentNumber" : {
"required" : true,
"label" : "Document Number"
},
"dateOfBirth" : {
"required" : null,
"label" : "Day of Birth",
"format" : "date"
},
"expirationDate" : {
"required" : null,
"label" : "Date of Expiration",
"format" : "date"
},
"firstName" : {
"required" : true,
"label" : "First Name"
},
"surname" : {
"required" : true,
"label" : "Surname"
},
"documentSubType" : {
"required" : true,
"label" : "Document Sub Type",
"format" : {
"masFieldType" : "Options",
"masFieldOptions" : [
"BVN",
"NIN",
"Other",
"VIN"
]
}
}
},
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Cannot read property 'mediaUrl' of undefined"
},
"documentType" : "national-id"
}
"step" : {
"status" : 200,
"id" : "document-reading",
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Service 'documentMetadata.getDocumentMetadata' is not available on 'mol-verification-XXX' node."
},
"documentType" : "national-id"
}
Template Matching
id
: template-matching
Step Completed
"step" : {
"status" : 200,
"id" : "template-matching",
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:04.279Z"
Step Error
"step" : {
"status" : 200,
"id" : "template-matching",
"error" : {
"type" : "StepError",
"code" : "templateMatching.noMatchFound",
"message" : "Document did not match any valid template"
}
}
"step" : {
"status" : 200,
"id" : "template-matching",
"error" : {
"type" : "StepError",
"code" : "node.failed",
"message" : "Cannot meet dependent node"
},
"documentType" : "custom-cadastro-nacional"
}
System Error
"step" : {
"status" : 200,
"id" : "template-matching",
"error" : {
"type" : "SystemError",
"code" : "system.serviceUnavailable",
"message" : "Service unavailable"
}
}
"step" : {
"status" : 200,
"id" : "template-matching",
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Step timeout"
},
"documentType" : "national-id"
}
Age-Check
id
: age-check
Step Completed
"step" : {
"status" : 200,
"id" : "age-check",
"data" : {
"age" : 28,
"ageThreshold" : 18,
"underage" : false
},
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:04.637Z"
Step Error
"step" : {
"status" : 200,
"id" : "age-check",
"data" : {
"age" : null,
"ageThreshold" : 18,
"underage" : null
},
"error" : {
"type" : "StepError",
"code" : "underage.noDOB",
"message" : "The date of birth could not be obtained"
}
}
"step" : {
"status" : 200,
"id" : "age-check",
"data" : {
"age" : 0,
"ageThreshold" : 18,
"underage" : true
},
"error" : {
"type" : "StepError",
"code" : "underage.error",
"message" : "This user is currently underage"
}
}
"step" : {
"status" : 200,
"id" : "age-check",
"error" : {
"type" : "StepError",
"code" : "input.failed",
"message" : "Cannot meet dependent input"
}
}
Duplicate User Detection
id
: duplicate-user-detection
Step Completed
"step" : {
"status" : NumberInt(200),
"id" : "duplicate-user-detection",
"error" : null,
"data" : {
"duplicateSignup" : false,
"relatedRecords" : null
}
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:17.864Z"
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : null,
"data" : {
"duplicateSignup" : false,
"relatedRecords" : null
}
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:04:07.925Z"
Step Error
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.notValidParams",
"message" : "Document number is not defined"
}
}
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.matchesFound",
"message" : "This user has been verified more than once"
},
"data" : {
"duplicateSignup" : true,
"relatedRecords" : [
"<RECORD NUMBER>"
]
}
},
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.notValidParams",
"message" : "Birth Date is not defined"
}
}
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "input.failed",
"message" : "Cannot meet dependent input"
}
}
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.notValidParams",
"message" : "Full Name is not defined"
}
}
System Error
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.notValidParams",
"message" : "Document number is not defined"
}
}
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.matchesFound",
"message" : "This user has been verified more than once"
},
"data" : {
"duplicateSignup" : true,
"relatedRecords" : [
"<RECORD NUMBER>"
]
}
},
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.notValidParams",
"message" : "Birth Date is not defined"
}
}
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "input.failed",
"message" : "Cannot meet dependent input"
}
}
"step" : {
"status" : 200,
"id" : "duplicate-user-detection",
"error" : {
"type" : "StepError",
"code" : "duplicateUserDetection.notValidParams",
"message" : "Full Name is not defined"
}
}
Alteration Detection
id
: alteration-detection
Step Completed
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:08.723Z"
},
Step Error
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : {
"type" : "StepError",
"code" : "alterationDetection.negligence",
"message" : "Document is considered as negligence",
"reasonCode" : "blurred"
},
"documentType" : "passport"
}
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : {
"type" : "StepError",
"code" : "alterationDetection.fraudAttempt",
"message" : "Document is considered as fraud attempt",
"reasonCode" : "screenshot"
},
"documentType" : "national-id"
}
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : {
"type" : "StepError",
"code" : "alterationDetection.tampered",
"message" : "Document is considered tampered"
}
}
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : {
"type" : "StepError",
"code" : "input.failed",
"message" : "Cannot meet dependent input"
}
}
System Error
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Internal error"
}
}
"step" : {
"status" : 200,
"id" : "alteration-detection",
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Step timeout"
},
"documentType" : "national-id"
}
Facematch
id
: facematch
Step Completed
"step" : {
"status" : 200,
"id" : "facematch",
"data" : {
"score" : 100
},
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:02.546Z"
},
"step" : {
"status" : 200,
"id" : "facematch",
"data" : {
"score" : 99.19310481799324
},
"error" : null
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:36.439Z"
},
Step Error
"step" : {
"status" : 200,
"id" : "facematch",
"data" : {
"score" : 20.43746515455734
},
"error" : {
"type" : "LegacyError",
"code" : "legacy.error",
"message" : "The face did not match the document"
}
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:02:31.625Z"
"step" : {
"status" : 200,
"id" : "facematch",
"error" : {
"type" : "LegacyError",
"code" : "legacy.error",
"message" : "selfie_id download error"
}
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:00:43.424Z"
"step" : {
"status" : 200,
"id" : "facematch",
"error" : {
"type" : "LegacyError",
"code" : "legacy.error",
"message" : "doc_photo_id download error"
}
},
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:01:25.640Z"
"step" : {
"status" : 200,
"id" : "facematch",
"data" : {
"score" : 29.98143200143104
},
"error" : {
"type" : "LegacyError",
"code" : "legacy.error",
"message" : "This person cannot be confirmed as owner of document provided, a selfie with the document will be requested"
}
"eventName" : "step_completed",
"flowId" : "<METAMAP (FLOW) ID>",
"timestamp" : "2021-08-15T00:47:20.663Z"
"step" : {
"status" : 200,
"id" : "facematch",
"error" : {
"type" : "StepError",
"code" : "input.failed",
"message" : "Cannot meet dependent input"
}
}
System Error
"step" : {
"status" : 200,
"id" : "facematch",
"error" : {
"type" : "SystemError",
"code" : "system.internalError",
"message" : "Step timeout"
}
}
Updated 5 months ago