The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WebService::Async::Onfido - unofficial support for the Onfido identity verification service

SYNOPSIS

DESCRIPTION

applicant_list

Retrieves a list of all known applicants.

Returns a Ryu::Source which will emit one WebService::Async::Onfido::Applicant for each applicant found.

paging

Supports paging through HTTP GET requests.

  • $starting_uri - the initial URI to request

  • $factory - a sub that we will call with a Ryu::Source and expect to return a second response-processing sub.

Returns a Ryu::Source.

Given a set of strings representing the Link headers in an HTTP response, extracts the URIs based on the rel attribute as described in RFC5988.

Returns a list of key, value pairs where the key contains the lowercase rel value and the value is a URI instance.

 my %links = $self->extract_links($res->header('Link'))
 print "Last page would be $links{last}"

applicant_create

Creates a new applicant record.

See accessors in WebService::Async::Onfido::Applicant for a full list of supported attributes. These can be passed as named parameters to this method.

Returns a Future which resolves to a WebService::Async::Onfido::Applicant instance on successful completion.

applicant_update

Updates a single applicant.

Returns a Future which resolves to empty on success.

applicant_delete

Deletes a single applicant.

Returns a Future which resolves to empty on success.

applicant_get

Retrieve a single applicant.

Returns a Future which resolves to a WebService::Async::Onfido::Applicant

document_list

List all documents for a given WebService::Async::Onfido::Applicant.

Takes the following named parameters:

Returns a Ryu::Source which will emit one WebService::Async::Onfido::Document for each document found.

get_document_details

Gets a document object for a given WebService::Async::Onfido::Applicant.

Takes the following named parameters:

Returns a Future object which consists of a WebService::Async::Onfido::Document

photo_list

List all photos for a given WebService::Async::Onfido::Applicant.

Takes the following named parameters:

Returns a Ryu::Source which will emit one WebService::Async::Onfido::Photo for each photo found.

get_photo_details

Gets a live_photo object for a given WebService::Async::Onfido::Applicant.

Takes the following named parameters:

Returns a Future object which consists of a WebService::Async::Onfido::Photo

document_upload

Uploads a single document for a given applicant.

Takes the following named parameters:

  • type - can be passport, photo, poa

  • side - which side, either front or back

  • issuing_country - which country this document is for

  • filename - the file name to use for this item

  • data - the bytes for this image file (must be in JPEG format)

live_photo_upload

Uploads a single "live photo" for a given applicant.

Takes the following named parameters:

  • applicant_id - ID for the person this photo relates to

  • advanced_validation - perform additional validation (ensure we only have a single face)

  • filename - the file name to use for this item

  • data - the bytes for this image file (must be in JPEG format)

applicant_check

Perform an identity check on an applicant.

This is the main method for dealing with verification - once you have created the applicant and uploaded some documents, call this to start the process of checking the documents and details, and generating the reports.

https://documentation.onfido.com/#check-object

Takes the following named parameters:

  • applicant_id - the applicant requesting the check

  • document_ids - arrayref of documents ids to be analyzed on this check

  • report_names - arrayref of the reports to be made (e.g: document, facial_similarity_photo)

  • tags - custom tags to apply to these reports

  • suppress_form_emails - if true, do not send out the email to the applicant

  • asynchronous - return immediately and perform check in the background (default true since v3)

  • charge_applicant_for_check - the applicant must enter payment details for this check, and it will not count towards the quota for this service account

  • consider - used for sandbox API testing only

Returns a Future which will resolve with the result.

download_photo

Gets a live_photo in a form of binary data for a given WebService::Async::Onfido::Photo.

Takes the following named parameters:

Returns a photo file blob

download_document

Gets a document in a form of binary data for a given WebService::Async::Onfido::Document.

Takes the following named parameters:

Returns a document file blob

countries_list

Returns a hashref containing 3-letter country codes as keys and supporting status as their value.

supported_documents_list

Returns an array of hashes of supported_documents for each country

supported_documents_for_country

Returns the supported_documents_list for the country

is_country_supported

Returns 1 if country supported and 0 for unsupported

sdk_token

Returns the generated Onfido Web SDK token for the applicant.

https://documentation.onfido.com/#web-sdk-tokens

Takes the following named parameters:

  • applicant_id - ID of the applicant to request the token for

  • referrer - the URL of the web page where the Web SDK will be used

endpoints

Returns an accessor for the endpoints data. This is a hashref containing URI templates, used by "endpoint".

endpoint

Expands the selected URI via URI::Template. Each item is defined in our endpoints.json file.

Returns a URI instance.

is_rate_limited

Returns true if we are currently rate limited, false otherwise.

May eventually be updated to return number of seconds that you need to wait.

rate_limiting

Applies rate limiting check.

Returns a Future which will resolve once it's safe to send further requests.

AUTHOR

deriv.com

INHERITED METHODS

IO::Async::Notifier

add_child, adopt_future, adopted_futures, can_event, children, configure_unknown, debug_printf, get_loop, invoke_error, invoke_event, loop, make_event_cb, maybe_invoke_event, maybe_make_event_cb, new, notifier_name, parent, remove_child, remove_from_parent

COPYRIGHT

Copyright Deriv.com 2019.

LICENSE

Licensed under the same terms as Perl5 itself.