Ola pessoal, estou tentando configurar um trigger que deve executar a cada alteração da entidade Customer (CL), porem esse trigger não esta sendo executado quando eu adiciono ou altero um usuário. Alguém ja passou por isso ?
Fala @Ismael-Suri tudo bem?
Acho que possa estar faltando o headers ai.
Outra coisa que vi é que o tipo de requisição está http e a sua uri é https. Geralmente o HTTPS requer uma URL com domínio público certificado em SSL.
Esse Webhook tem essas configurações? A URL dele é essa mesma?
Outra coisa é que a sintaxe não parece obedecer o documento do Master Data V2.
Faz um checklist se você seguiu todos os passo-a-passo desse doc: Setting up triggers in Master Data v2
Call an HTTP request
{
"type": "http",
"uri": "http://mydomain.com/api/test",
"method": "POST",
"headers": {
"content-type": "application/json"
},
"body": {
"id": "{!id}",
"test": "TestValue",
"count": 25
}
}
Exemplo de trigger
{
"properties": {},
"v-triggers": [
{
"name": "copy-document",
"active": true,
"condition": "status=window-to-cancel",
"action": {
"type": "save",
"dataEntity": "copy",
"json": {
"id": "{!id}",
"message": "{!message}",
"custom": "created/updated by VTEX triggers"
}
},
"retry": {
"times": 5,
"delay": {
"addMinutes": 30
}
}
}
]
}
Minha outra suspeita é que você não tem permissão no Dynamic Storage.
Consulta importante:
Veja se alguns destes documentos pode te ajudar a resolver o problema.
Abs,
Estevão.
@estevao_santos Obrigado por responder. Acredito que o problema não esteja relacionado à sintaxe dos v-triggers. Criei uma entidade “teste” e adicionei o mesmo esquema para fins de testes. Nesse caso, qualquer alteração na entidade “teste” dispara o meu trigger normalmente, conforme esperado para a entidade CL também.
Dessa forma, fico em dúvida se há algum tipo de configuração extra necessária para utilizar triggers na entidade CL ou se pode haver questões de permissões. Qual API devo usar para configurá-las?
É exatamente isso que preciso configurar também e não estou conseguindo @Ismael-Suri @estevao_santos
Entendi! @Ismael-Suri eu me lembrei aqui de uma coisa.
Você está tentando disparar isso a partir de um cenário de carrinho abandonado ou não?
Se for carrinho abandonado, só vai funcionar se a loja estiver em produção. Caso não esteja, não vai conseguir disparar a trigger.
Confirma se a loja está marcada como em produção na configuração da conta.
@estevao_santos A conta está em produção.
Obs: A configuração do trigger via master data v1 (interface) executou o trigger como o esperado, o problema está apenas quando eu tendo reproduzir o mesmo efeito na api do master data v2.
@Ismael-Suri você chegou a testar alguma outra entidade?
Para minha visão ainda está faltando alguma coisa, com base no documento, não teria que ser assim: /api/dataentities/teste/schemas/trigger
O seu está sem trigger no final.
Vi um vídeo que mostra uma ideia de montagem semelhante ao seu: https://youtu.be/nGibzbS6tW8?t=302
Veja se ajuda.
Abs,
Estevão.
@estevao_santos Esse endpoint GET do print retorna os schemas registrados na entidade, acho que voce confundiu com o endpoint para add/alterar o schema, esse sim precisa passar o nome da entidade na url.
obs: Ja vi esse video mencionado, fiz os testes baseado nele.
Então @Ismael-Suri entendi. Com base no doc para você pegar um schema de uma entidade, precisaria ser assim:
https://{accountName}.{environment}.com.br/api/dataentities/{dataEntityName}/schemas/{schemaName}
No seu endpoint aparentemente falta {schemaName} ou estou equivocado?
Confirma se funciona o teste por aqui: Master Data API - v2
Porque dai você consegue comprovar que não tem nada relacionado com algum ambiente. Testa direto ai no restAPI.
@estevao_santos O parametro {schemaName} é opcional, caso não seja enviado, o endpoint retorna todos os schemas registrados na entity.
@Ismael-Suri Certo. É que na API mostra que é necessário. Mas ok.
@estevao_santos Acho que houve uma confusão aqui, vou enviar os prints para demonstrar melhor.
Esse print é do payload que envio para setar o trigger “suri_action” na entidade CL, esse nome não precisa ser obrigatoriamente “trigger” como mostra o video.
Esse outro endpoint GET lista os schemas da entidade. De acordo com esse retorno, o schema “suri_action” foi registrado com sucesso, porem não está sendo disparado.
@Ismael-Suri Ok. Você consegue só mandar o ERRO que está aparecendo no response.