Algumas fontes de consulta do Plexi requerem a utilização de certificados digitais, e para utilizar seus próprios certificados através do Plexi você precisará cadastrá-los.

URL Base:

https://api.plexi.com.br/

Informações essenciais#

O CNPJ passado no endpoint /api/organizations/:cnpj/certificates refere-se ao CNPJ do cliente PLEXI, que está solicitando a operação. É importante garantir que o CNPJ informado corresponda ao cliente autorizado, pois ele será utilizado para validações internas de segurança e permissão.

Cadastrar certificados#

Endpoint: POST /api/organizations/:cnpj/certificates

É possível cadastrar um certificado digital enviando seu conteúdo em formato pfx codificado em base64 juntamente com a senha.

JSON
{
    "name": "certificado-1",
    "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
    "certificate": {
        "pfx": "base64 encoded",
        "password": "123"
     }
}

Também é possível enviar diretamente o conteúdo do certificado junto com sua chave privada, já descriptografada, ambos codificados em base64

JSON
{
    "name": "certificado-1",
    "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
    "certificate": {
        "cert": "base64 encoded",
        "key": "base64 encoded"
     }
}

O campo name é um controle interno da organização para identificar a qual certificado ele se refere.

Atualizar certificado#

Endpoint: PUT /api/organizations/:cnpj/certificates/:uuid

Para atualizar um certificado basta enviar os dados do certificado como na endpoint de criação, sem o campo name no corpo.

JSON
{
    "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
    "certificate": {
        "cert": "base64 encoded",
        "key": "base64 encoded"
     }
}

ou

JSON
{
    "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
    "certificate": {
        "pfx": "base64 encoded",
        "password": "123"
    }
}

Listar certificados#

Endpoint: GET /api/organizations/:cnpj/certificates

Exemplo de retorno:

JSON
[
    {
        "id": "d9a8e33f-3a36-4758-81aa-c6afa7e347da",
        "name": "certificado-cliente-1",
        "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
        "certificate" : {
           "common_name": "FULANO DE TAL 1234567890",
           "fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
           "due_date": "2024-01-01 00:00:00"
        }
     },
    {
        "id": "7c1f9b2e-5a83-4d16-b0e9-2c6a4f81773d",
        "name": "certificado-cliente-1",
        "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
        "certificate" : {
           "common_name": "FULANO DE TAL 1234567890",
           "fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
           "due_date": "2024-01-01 00:00:00"
        }
     }
]

Os certificados no Plexi tem 3 status: active, deleted e expired. Por padrão a listagem de certificados lista apenas os certificados active, mas é possível mudar este comportamento adicionando o parâmetro status desta forma: GET /api/organizations/:cnpj/certificates?status=status

Detalhes do certificado#

Endpoint: GET /api/organizations/:cnpj/certificates/:uuid

Exemplo de retorno:

JSON
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "certificado-cliente-1",
  "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado",
  "certificate" : {
    "common_name": "FULANO DE TAL 1234567890",
    "fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "due_date": "2024-01-01 00:00:00"
  }
}

Deletar certificado#

Endpoint: DELETE /api/organizations/:cnpj/certificates/:uuid

Como utilizar o certificado em uma consulta#

As fontes de consulta que exigem certificado digital recebem o certificado no campo certificate, no corpo (JSON) da requisição. O valor deve ser o UUID do certificado cadastrado. Exemplo:

JSON
{
  "certificate": "550e8400-e29b-41d4-a716-446655440000",
  "cpfCnpj": "99999999999"
}