Pular para o conteúdo

Identificadores

Todo id público é um ULID de 26 caracteres com um prefixo que diz de que recurso ele é:

evt_01JB8XZQ4T9M2NKPWV3RYCF7HD
└┬─┘└──────────┬─────────────┘
prefixo ULID
Prefixo Recurso
evt_ Evento
dlv_ Entrega
csm_ Consumer
ep_ Endpoint
src_ Fonte de recebimento
dst_ Destino de recebimento
in_ Mensagem recebida

O prefixo é opcional na entrada. GET /v1/events/evt_01JB8XZQ… e GET /v1/events/01JB8XZQ… encontram o mesmo evento. Nas respostas o prefixo sempre vem. Guarde o id como a API devolveu, com prefixo: ele se explica sozinho num log.

O ULID ordena por tempo. Os primeiros caracteres codificam o instante de criação, então dois ids do mesmo recurso ordenados como texto saem em ordem cronológica.

O id não substitui os identificadores seus. O Consumer é referenciado pelo externalId, que é o id dele no seu sistema, e o tipo de evento é referenciado pelo nome. Você não precisa guardar csm_… em lugar nenhum.

Não são ids, mas o prefixo ajuda a reconhecê-los e a pegá-los num scanner de segredos antes de irem parar num repositório.

Prefixo O que é
whk_live_ Chave de API de produção
whk_test_ Chave de API de desenvolvimento
whsec_ Secret de endpoint ou de destino
evt_test_ Webhook-Id de uma entrega de teste