Pular para o conteúdo principal

Criar Owner Detail

Descrição: Cria um novo registro de owner detail com segredo HMAC para autenticação de webhooks.

Endpoint​

POST/api/v1/integration/owner-details

Regras​

AtributosDescriçãoTipoObrigatórioValidações
hmac_secretSegredo usado para assinar as entregas de webhook (header Content-Hmac). Não serve para o parceiro validar a entrega: a assinatura é calculada sobre a mensagem interna, e o corpo entregue é reserializado depois disso, então os bytes assinados não são os bytes recebidos. Autentique a origem pela autenticação básica do webhook. Detalhes no Guia: Webhooks.StringSimNão pode ser vazio. Máximo de 120 caracteres — a coluna é varchar(120) e não há validação de tamanho na entrada: um valor maior faz a requisição falhar com 500.

Exemplo de Requisição​

curl -X POST \
-H "Authorization: {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"hmac_secret": "seu-segredo-hmac-aqui"
}' \
"https://api.merx.tech/api/v1/integration/owner-details"

Parâmetros​

Parâmetros de Cabeçalho​

NomeDescriçãoTipoObrigatório
AuthorizationChave de API obtida via support-api@merx.techStringSim
Content-Typeapplication/jsonStringSim

Parâmetros do Corpo​

NomeDescriçãoTipoObrigatório
hmac_secretSegredo de assinatura das entregas de webhook, máx. 120 caracteres. Não serve para o parceiro validar a entrega — ver a nota acimaStringSim

Existe apenas um owner detail por cooperativa. O cadastro é único: um segundo POST para a mesma cooperativa é recusado com 400 e message.duplicate.key. Para trocar o segredo de um cadastro existente, use o PUT.

Respostas​

  • 201 - Created

A resposta vem sem corpo. O cadastro não devolve o id do owner detail.

Atenção: a resposta traz um header Location: /api/v1/address/{id}. Esse caminho não existe na API e não deve ser seguido. Para obter o id do registro recém-criado, faça em seguida GET /api/v1/integration/owner-details — a consulta retorna o owner detail da cooperativa, com id, owner_id e hmac_secret. É esse id que deve ser usado no PUT /api/v1/integration/owner-details/{id}.

  • 400 - Bad Request

hmac_secret ausente, nulo ou em branco:

{
"messages": ["message.hmac-secret.mandatory"]
}

Já existe um owner detail ativo para esta cooperativa (só é permitido um por cooperativa):

{
"messages": ["message.duplicate.key"]
}
  • 401 - Unauthorized

Devolvido pelo gateway quando o Authorization está ausente ou inválido — nesse caso a resposta traz corpo, no formato {"data": [], "error": {...}}. A mensagem dentro de error varia conforme o plugin de autenticação da rota, então não programe em cima do texto.