Onfido — компания, предоставляющая услугу проверки личности. Если ваша платформа должна использоваться для проверки AML (борьбы с отмыванием денег), они предоставляют RESTful API.

Вот пример вызова onfido API для проверки AML. Во-первых, вам нужно создать кандидата, вызвав конечную точку /applicants, затем вы получите идентификатор заявителя и используете этот идентификатор для вызова /applicants/${applicantId}/checks.

Затем вы можете указать отчет, который хотите получить. Более подробно вы можете посмотреть Документ onfido API.

Причина, по которой мы не использовали SDK, заключается в том, что когда мы впервые попытались использовать Javascript SDK onfido, он был не очень надежным и хорошо обновленным. Также несложно написать простой вызов API с помощью Axios, который является HTTP-клиентом. Если вы не хотите использовать axios, у вас все еще есть много вариантов выполнения HTTP-вызова.

const axios = require('axios')

module.exports.amlChecked = createApplicant

const onfidoKey = 'onfidoKey'// onfido API key

const inputUserData = {
first_name: 'firstName' 
last_name: 'lastName'
dob: 'dateofBirth'
country: 'country'
addresses: 'address'
}

async function createApplicant (user) {
  const res = await api.post('/applicants', inputUserData)
  const data = await createCheck(res.data.id)
  return data
}

async function createCheck (applicantId) {
  const { data } = await api.post(/applicants/${applicantId}/checks,
    {
      'type': 'express',
      'reports': [
        {
          'name': 'identity',
          'variant': 'kyc'
        },
        {
          'name': 'watchlist',
          'variant': 'full'
        }]
    }
  )

  const output = {
    url: data.download_uri,
    reports: data.reports
  }
  return output
}