Job status

The job status API returns information about a job, including its completion status, whether or not it was successful, optionally the complete history (all jobs performed on that user), and also optionally, a signed link to the images captured during that job.Unlike the callback, where results are asynchronous and we POST to your server, the job status API is implemented on our servers and you make POST requests to it. Just like any other call to our servers, we use an encrypted signature to verify that you are the sender of the request, and the response will include a signature created by us for verification. You can find instructions on how to sign the request in our documentation.

Request Type: POST

Request Body

{
    "timestamp": "<Put timestamp here>",
    "signature": "<Put calculated sec_key here>",
    "user_id": "<Put your generated user_id here, this must be the same one you sent with the job>",
    "job_id": "<Put your generated job_id here, this must be the same one you sent with the job>",
    "partner_id": "<Put your partner ID here>",
    "image_links": <true || false>,
    "history": <true || false>
}

Return Values

NameDescription

timestamp

The timestamp used to create the signature.

signature

The signature for this response.

user_id

The unique user_id that was either assigned, or passed in to this job.

job_id

The unique job_id that was either assigned, or passed in to this job.

job_complete

Whether or not we have reported a final status for this job.

job_success

Whether or not we were able to achieve a successful match and have enrolled or authenticated this user.

result

This object will include the details of the final status.

result.ResultText

Textual value of the job outcome. A human readable result.

result.ResultType

The type of result

result.SmileJobID

Our internal job id. Should be supplied when raising support ticket for a job

result.PartnerParams

This should include the same user_id and job_id that you used to make the request.

result.ConfidenceValue

A number representing our confidence in the final determination.

result.IsMachineResult

A boolean indicating whether or not the final status was sent by a machine.

image_links

This object will contain the image captured during that job if the optional flag was passed in during the request.

image_links.selfie_image

An expiring link to the selfie image.

code

A code that maps to an error condition or success for the job_status call.

Example JSON Response

{
  "timestamp": "2018-03-13T21:04:11.193Z",
  "signature": "5445722f5af1791eb434949cce9a88dd321e5959fd24a8562ecb12bb00c33fe",
  "job_complete": true,
  "job_success": true,
  "result": {
    "ResultText": "Enroll User",
    "ResultType": "SAIA",
    "SmileJobID": "0000001897",
    "JSONVersion": "1.0.0",
    "IsFinalResult": "true",
    "PartnerParams": {
    "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
    "user_id": "e54e0e98-8b8c-4215-89f5-7f9ea42bf650",
    "job_type": 4
  },
    "ConfidenceValue": "100",
    "IsMachineResult": "true",
  },
  "image_links": {
    "selfie_image": "https://smile-fr-results.s3.us-west-2.amazonaws.com/test/000000/023/023-0000001897-LoRSpxJUzmYgYS2R00XpaHJYLOiNXN/SID_Preview_FULL.jpg"
  },
  "code": "2302",
  "history": [
    {
      "ResultCode": "1210",
      "ResultText": "Enroll User",
      "ResultType": "DIVA",
      "SmileJobID": "0000000857",
      "JSONVersion": "1.0.0",
      "IsFinalResult": "true",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info"
      }
    },
    {
      "ResultCode": "0814",
      "ResultText": "Provisional Enroll - Under Review",
      "SmileJobID": "0000000857",
      "ConfidenceValue": "97.000000",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info",
      }
    },
    {
      "DOB": "1990-01-01",
      "IDType": "BVN",
      "Country": "Nigeria",
      "FullName": "Peter Parker",
      "ExpirationDate": "Not Available",
      "IDNumber": "A01234567",
      "ResultCode": "1012",
      "ResultText": "ID Validated",
      "ResultType": "ID Verification",
      "SmileJobID": "0000000857",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info",
        "ExpirationDate": "Not Available"
      }
    }
  ]
}

Job Status Codes

Depending on the outcome of the job_status call, there is a status code that will be returned. The status code is different from the result code which is the numerical value of the result of the job that was processed.

CodeDescription

2301

System error

2302

Success

2303

Invalid JSON

2304

Job not found

2305

Invalid sec_key

2307

Enrolled user is disabled

2310

No enrolled user found

2313

Missing required parameters

Last updated