O recurso de auditoria foi criado para fornecer uma funcionalidade simples que permite identificar quem criou ou alterou um registro.

Formato dos atributos

{
    ...
    "createdBy": {
        "clientId": "key_653963bddade10e18894f8b5",
        "externalClientId": "oprt_653963bddade10e18894f8b7"
    },
    "updatedBy": {
        "clientId": "key_653963bddade10e18894f8b5",
        "externalClientId": "oprt_653963bddade10e18894f8b7"
    }
}

Compreendendo os atributos

AtributoDescrição
clientIdO clientId é o identificador da chave da API somente quando a operação é realizada por um usuário, já quando a operação é executadaa automaticamente via processo e/ou rotiona é preenchido com nome do tenant.
externalClientIdEsse é um atributo totalmente opcional e de livre escolha, cabendo ao usuário da API fornecê-lo durante as operações de escrita. Trata-se de um dado adicional, podendo, por exemplo, indicar o ID do operador ou outro identificador relevante.

Por ser uma API que adota autenticação entre máquinas (M2M), não identificamos usuários finais, apenas chaves de API nas operações.

Quando uma ação é realizada através de algum dos portais, o atributo app será exibido, indicando por qual portal a ação foi efetuada.

{
    ...
    "createdBy": {
        "clientId": "key_653963bddade10e18894f8b5",
        "externalClientId": "oprt_653963bddade10e18894f8b7",
        "app": "backoffice"
    },
    "updatedBy": {
        "clientId": "key_653963bddade10e18894f8b5",
        "externalClientId": "oprt_653963bddade10e18894f8b7",
        "app": "backoffice"
    }
}
AplicaçãoDescrição
backofficeApp que faz referência ao portal do Backoffice
customerApp que faz referência ao Portal Cliente
companyApp que faz referência ao Portal Empresa
workflowsApp utilizado para o fluxo de automações que fica no portal do Backoffice
hubbleApp utilizado para fluxos sem autenticação, ex.: link de pagamentos
ingestorApp utilizado para o fluxo de importação de dados

Fluxos internos

Para os fluxos internos, onde não teremos um clientId, realizaremos a tipagem seguindo as seguintes regras:

  • Para step functions, o formato é: app-sf-nomeSf
  • Para lambdas, o formato é: app-lambda-nomeLambda

Para os fluxos internos, onde não teremos um clientId, adotaremos a seguinte convenção para tipagem:

  • Para Step Functions, utilizaremos o formato: app-sf-nomeSf
  • Para Lambdas, utilizaremos o formato: app-lambda-nomeLambda

Exemplo:

-> invoices-lambda-CreateInvoice
-> invoices-sf-base39-offers-prod-calculate-offer