Atualizar Owner Detail
Descrição: Atualiza o registro de owner detail com um novo segredo HMAC.
Endpoint
Regras
| Atributos | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| id | Identificador do owner detail | UUID | Sim | - |
| hmac_secret | Segredo 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. | String | Sim | Não pode ser vazio. Máximo de 120 caracteres (varchar(120)); acima disso a requisição falha com 500. |
Exemplo de Requisição
- cURL
- Java
- JavaScript
- Python
- SDK Java
curl -X PUT \
-H "Authorization: {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"hmac_secret": "novo-segredo-hmac"
}' \
"https://api.merx.tech/api/v1/integration/owner-details/{id}"
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String body = "{\"hmac_secret\": \"novo-segredo-hmac\"}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.merx.tech/api/v1/integration/owner-details/{id}"))
.header("Authorization", "{SUA_API_KEY}")
.header("Content-Type", "application/json")
.PUT(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient client = HttpClient.newHttpClient();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
} catch (Exception e) {
e.printStackTrace();
}
const response = await fetch(
'https://api.merx.tech/api/v1/integration/owner-details/{id}',
{
method: 'PUT',
headers: {
'Authorization': '{SUA_API_KEY}',
'Content-Type': 'application/json',
},
body: JSON.stringify({
hmac_secret: 'novo-segredo-hmac',
}),
}
);
console.log(response.status);
import requests
url = "https://api.merx.tech/api/v1/integration/owner-details/{id}"
headers = {
"Authorization": "{SUA_API_KEY}",
"Content-Type": "application/json"
}
payload = {
"hmac_secret": "novo-segredo-hmac"
}
response = requests.put(url, json=payload, headers=headers)
print(response.status_code)
import com.merx.sdk.api.MerxClient;
import com.merx.sdk.core.Environment;
import com.merx.sdk.model.ownerdetail.CreateOwnerDetailRequest;
import java.util.UUID;
MerxClient merx = MerxClient.builder()
.apiKey("{SUA_API_KEY}")
.environment(Environment.SANDBOX)
.build();
merx.ownerDetails().update(UUID.fromString("00000000-0000-0000-0000-000000000000"),
CreateOwnerDetailRequest.builder().hmacSecret("novo-segredo").build());
Parâmetros
Parâmetros de Caminho:
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| id | Identificador do owner detail | String | Sim |
Parâmetros de Cabeçalho
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| Authorization | Chave de API obtida via support-api@merx.tech | String | Sim |
| Content-Type | application/json | String | Sim |
Parâmetros do Corpo
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| hmac_secret | Segredo de assinatura das entregas de webhook. Não serve para o parceiro validar a entrega — ver a nota acima | String | Sim |
Respostas
- 204 - No Content
Sem corpo. O registro alterado é localizado por id + cooperativa, e o 204 é devolvido mesmo quando nenhuma linha é afetada — por exemplo, se o id não existir ou pertencer a outra cooperativa. Um 204 portanto não confirma que o segredo foi trocado: confirme com GET /api/v1/integration/owner-details.
- 400 - Bad Request
hmac_secret ausente, nulo ou em branco:
{
"messages": ["message.hmac-secret.mandatory"]
}
O id informado no caminho não é um UUID válido:
{
"timestamp": "2024-01-15T10:30:00.123",
"status": 400,
"error": "Bad Request",
"message": "message.id.invalid"
}
- 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.
Este endpoint não retorna 404. Atualizar um
idinexistente ou de outra cooperativa também devolve204.