Para realizar a operação de cadastro de um indivíduo, deve-se utilizar o método enroll, cujo URL é https://api.biopassid.com/multibiometrics/enroll. O corpo da requisição consiste em um objeto do tipo Person, que é composto por uma string CustomID, que contém um valor único que será usado como o identificador do indivíduo, um array Fingers, cujos itens são as imagens das digitais em formato de string base64, e um array Face, que consiste no bloco de imagens da face do indivíduo.

Para que seja realizada com sucesso a requisição, basta que apenas uma digital ou uma imagem de face seja inserida no corpo. Caso nenhuma for passada, será retornado o erro de Invalid JSON format.

Um exemplo de como ficaria o corpo da requisição pode ser visto abaixo:

{
  "Person": {
    "CustomID": "1234",
    "Face": [
      {
        "Face-1": "/9j/4AAQSkZJRgABAQAAAQABAAD/..."
      }
    ]
  }
}


O header da requisição, por sua vez, é onde deve ser inserido o tipo do conteúdo e sua chave de acesso, onde há <API-KEY>. Um exemplo de como deve ficar o header pode ser observado abaixo:

{
  'Content-Type': 'application/json',
  'Ocp-Apim-Subscription-Key': '<API-KEY>'
}

Por fim, na requisição, devem ser passados como parâmetros a especificação de que é um método POST, a URL, o header e o corpo descrito acima. Um exemplo de como ficaria um código que faz essa requisição está demonstrado abaixo, escrito em Python, mas que pode ser verificado em diversas outras linguagens de programação em nossa documentação:

import http.client
import json

conn = http.client.HTTPSConnection("hml-api.biopassid.com")
payload = json.dumps({
  "Person": {
    "CustomID": "1234",
    "Face": [
      {
        "Face-1": "/9j/4AAQSkZJRgABAQAAAQABAAD/..."
      }
    ]
  }
})
headers = {
  'Content-Type': 'application/json',
  'Ocp-Apim-Subscription-Key': '<API-KEY>'
}
conn.request("POST", "/multibiometrics/enroll", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

A resposta que será recebida no caso de uma operação bem-sucedida será composta por um objeto do tipo person que possui um campo ClientID, que representa o identificador do banco de dados utilizado para o cliente, um campo CustomID, que representa o identificador do indivíduo conforme fornecido na requisição, e um BioPassID, que representa o identificador único do indivíduo no sistema.

Caso seja retornado um erro, verifique se o texto em formato JSON foi escrito corretamente. Caso receba uma mensagem com o código 200 (OK), isso significa que sua requisição foi solicitada e realizada com sucesso e, portanto, já pode seguir com as próximas requisições. A mensagem de resposta do sistema para o exemplo dado pode ser verificada abaixo:

{
    "Person": {
        "ClientID": "1628692218558x176807293303153250",
        "CustomID": "1234",
        "BioPassID": "1648"
    }
}