Buscar Webhooks a partir do Evento
Descrição: Busca o webhook cadastrado a partir do evento
Endpoint
Regras
| Atributo | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| webhook_event | Evento que irá gerar o disparo do gatilho | string | Sim | Valores válidos: CREATE_PRODUCER, UPDATE_PRODUCER, DELETE_PRODUCER, CREATE_WAREHOUSE, UPDATE_WAREHOUSE, DELETE_WAREHOUSE, CREATE_FARM, UPDATE_FARM, DELETE_FARM, CREATE_GUEST_USER, UPDATE_GUEST_USER, DELETE_GUEST_USER, CREATE_DELIVERY_PLACE, UPDATE_DELIVERY_PLACE, DELETE_DELIVERY_PLACE, CREATE_ORDER_COMMITMENT, UPDATE_ORDER_COMMITMENT, DELETE_ORDER_COMMITMENT, CREATE_WALLET, UPDATE_WALLET, DELETE_WALLET, UPDATE_WORKFLOW_ORDER_COMMITMENT, CHANGE_PRODUCER_STATUS_ESG, CHANGE_FARM_STATUS_ESG,PRODUCER_PRODUCTION |
Exemplo de Requisição
- cURL
- Java
- JavaScript
- Python
curl -X GET \
-H "Authorization: {SUA_API_KEY}" \
"https://api.merx.tech/api/v1/integration/webhooks/-/events/CREATE_FARM"
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String event = "CREATE_FARM";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.merx.tech/api/v1/integration/webhooks/-/events/" + event))
.header("Authorization", "{SUA_API_KEY}")
.GET()
.build();
HttpClient client = HttpClient.newHttpClient();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
const event = 'CREATE_FARM';
const response = await fetch(
`https://api.merx.tech/api/v1/integration/webhooks/-/events/${event}`,
{
method: 'GET',
headers: {
'Authorization': '{SUA_API_KEY}',
},
}
);
const data = await response.json();
console.log(data);
import requests
event = "CREATE_FARM"
url = f"https://api.merx.tech/api/v1/integration/webhooks/-/events/{event}"
headers = {
"Authorization": "{SUA_API_KEY}",
}
response = requests.get(url, headers=headers)
print(response.json())
Parâmetros
Parâmetros de Caminho:
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| webhook_event | Evento pelo qual o webhook foi cadastrado | 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 |
Respostas
- 200 - Ok
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"event": "CREATE_FARM",
"url": "https://api.cliente.com/api/v1/receive",
"basic_authentication": "dXN1YXJpbzpzZW5oYQ==",
"created_at": 1709837511.870898,
"updated_at": 1709837511.870898
}
| Campo | Observação |
|---|---|
basic_authentication | Retorna o valor como está armazenado, em Base64 (a API codifica no cadastro), e não o usuário:senha em texto claro. |
created_at / updated_at | Timestamps em epoch com segundos decimais (segundos desde 1970-01-01 UTC, com a fração após o ponto), e não em texto ISO-8601. |
Campos nulos são omitidos da resposta.
- 400 - Bad Request
O valor informado em {webhook_event} não corresponde a nenhum evento cadastrado na plataforma:
{
"messages": ["message.farm.car.not-found"]
}
A chave da mensagem é enganosa — não tem relação com CAR nem com fazenda —, mas é exatamente o que a API devolve hoje quando o evento é desconhecido neste endpoint. Confira a grafia do evento contra a lista de valores válidos acima (maiúsculas e underscores).
- 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.
- 404 - Not Found
Sem corpo. O evento existe na plataforma, mas a cooperativa não tem webhook cadastrado para ele.