Integração do Yammer

Estou tentando integrar o aplicativo Yammer para que, quando um novo tópico for criado em uma categoria específica do Discourse, uma notificação seja enviada para uma comunidade específica do Yammer. Fiz isso com o Microsoft Teams usando o plugin Chat integration, mas não funciona para o Yammer.

Como não consigo encontrar um plugin para isso, estou tentando configurar um webhook, mas sou bastante novo em APIs e webhooks, então estou recebendo vários erros, sendo o último esse erro 404:

Qualquer ajuda seria apreciada, obrigado!

Bem, o erro 404 significa ‘não encontrado’. Acredito que, neste contexto, ele está informando que o servidor remoto (www.yammer.com) reportou que a URL não pôde ser localizada.

Ao consultar a documentação da API da Yammer, parece que a URL que você inseriu segue este formato:
https://developer.yammer.com/docs/messagesid

No entanto, essa URL é especificamente para excluir uma mensagem. Acredito que você esteja recebendo um erro 404 porque adicionou sua chave de API ou ID de grupo ao final dessa URL e não existe uma mensagem na Yammer com esse ID.

Estou disposto a ser corrigido, mas não acho que a API REST da Yammer seja compatível com Webhooks, então não acredito que isso seja possível sem um plugin ou um serviço de Webhooks de terceiros.

Obrigado pela sua resposta. Usei esta URL:

https://developer.yammer.com/docs/messages-json-post

e tentei adicionar a comunidade específica do Yammer no final, mas esse formato não está correto.

E através da API? Seria possível fazer os dois aplicativos se comunicarem? Fazer uma requisição GET no Discourse (para capturar novos tópicos) e, em seguida, fazer uma requisição POST para a comunidade do Yammer.

É tudo o que consigo pensar, sendo um total iniciante no assunto.

edit: Também estou tentando criar um novo provedor no plugin de integração do Chatroom seguindo estes passos, mas não tenho certeza se serei capaz de fazer isso.

O problema é que, essencialmente, são duas linguagens diferentes. A API REST do Yammer parece ser uma API personalizada, projetada para integrar o chat do Yammer a outras coisas, por exemplo, para incluir funcionalidade de chat dentro do seu próprio aplicativo móvel.

Já os Webhooks são uma forma separada, semi (mas não totalmente) padrão de entregar informações (geralmente mudanças de estado, como um novo tópico no Discourse) para algum lugar que precise ser notificado sobre essas informações. O receptor (neste caso, o Yammer) precisa entender essas informações conforme definidas pelo aplicativo que as envia (o Discourse), ou seja, o receptor precisa ter suporte explícito para receber informações de um aplicativo específico ou de um grupo de aplicativos que utilizam o mesmo estilo de Webhooks.

Pelo que pude verificar, o Yammer não oferece suporte a isso, então os Webhooks não podem ser usados diretamente. Um plugin poderia ser desenvolvido para implementar as partes necessárias da API do Yammer e enviar mensagens para os eventos desejados. Dependendo do seu objetivo e orçamento, talvez seja possível encontrar alguém para fazer isso postando no Marketplace.

Alternativamente, você pode usar um serviço que suporte tanto os Webhooks do Discourse quanto o Yammer para atuar como uma ponte. O Zapier é um desses serviços, embora eu não saiba se ele oferece suporte ao Yammer. Existe outro serviço que vi sendo discutido aqui recentemente, e alguns de seus membros da equipe pareciam bastante responsivos e prestativos, mas não me lembro do nome e estou tendo dificuldade em encontrá-lo neste momento.