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á cadastra-los.
URL Base:
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.
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.
{ "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
{ "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 |
Endpoint: PUT /organizations/:cnpj/certificates/:name
Para atualizar um certificado basta enviar os dados do certificado como na endpoint de criação, sem o campo name
no corpo.
{ "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado", "certificate": { "cert": "base64 encoded", "key": "base64 encoded" } } |
ou
{ "metadata": "Qualquer informação extra que possa ajudar na identificação do certificado", "certificate": { "pfx": "base64 encoded", "password": "123" } } |
Endpoint: GET /organizations/:cnpj/certificates
Exemplo de retorno:
[ { "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": "VXRpbC9IdG1sSnNvbkZpbmRlci5waHAK", "due_date": "2024-01-01T00:00:00Z" } }, { "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": "VXRpbC9IdG1sSnNvbkZpbmRlci5waHAK", "due_date": "2024-01-01T00:00:00Z" } }, ] |
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 /organizations/:cnpj/certificates?status=status
Endpoint: GET /organizations/:cnpj/certificates/:name
Exemplo de retorno:
{ "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": "VXRpbC9IdG1sSnNvbkZpbmRlci5waHAK", "due_date": "2024-01-01T00:00:00Z" } } |
Endpoint: DELETE /organizations/:cnpj/certificates/:name