Integraciones

Webhooks entrantes para Pumble

5 min de lectura
jovana

Con los webhooks entrantes, puedes publicar fácilmente mensajes de otras aplicaciones en Pumble. Cuando creas un webhook entrante, recibes una URL única mediante la cual puedes enviar una carga útil JSON con el texto del mensaje.

Crear un webhook entrante #

Para crear un nuevo webhook entrante:

  1. Haz clic en el nombre de tu espacio de trabajo en la esquina superior izquierda
  2. Navega a Configuración del espacio de trabajo
  3. Selecciona Configuración general del menú desplegable
  4. Haz clic en el botón Webhooks entrantes en la barra lateral
  5. Haz clic en el botón Nuevo Webhook en la esquina superior derecha
  6. Elige el canal donde tu webhook publicará mensajes
  7. Haz clic en el botón Añadir webhook entrante para completar el proceso

Cuando creas tu webhook, el editor se abre automáticamente. Allí podrás personalizar su nombre, cambiar el canal, añadir una etiqueta descriptiva, personalizar el ícono y, lo más importante, copiar o regenerar tu URL única.

La tasa límite de webhooks entrantes en Pumble es de un segundo por webhook.

El número límite de caracteres en un webhook es 10 000.

Utilizar webhook entrante para enviar un mensaje #

Para enviar un mensaje utilizando los webhooks entrantes que acabas de crear, simplemente realiza una solicitud HTTP POST a la URL única que has copiado del editor de webhooks.

La carga útil de la solicitud debe contener la propiedad de texto y ese texto se publicará en un canal específico. Los tipos de contenido admitidos actualmente son:

  • application/json
  • application/x-www-form-urlencoded

Aquí hay una solicitud de curl de muestra para publicar en un canal usando un webhook entrante utilizando el tipo de contenido application/x-www-form-urlencoded:

curl -X POST \ --location "https://api.pumble.com/workspaces/WORKSPACE-ID/incomingWebhooks/postMessage/WEBHOOK-CODE" \ --data-urlencode "payload={ \"text\": \"This is posted to general and comes from a bot named MyNewWebhook.\" }"

A continuación se muestra un ejemplo de solicitud curl JSON para publicar en un canal mediante un webhook entrante:

curl -X POST \ --location
  "https://api.pumble.com/workspaces/WORKSPACE-ID/incomingWebhooks/postMessage/WEBHOOK-CODE" \
  -H "Content-Type: application/json" \
  -d '{"text":"This is posted to general and comes from a bot named MyNewWebhook."}}'

Puedes usar el formato de texto enriquecido para los mensajes de webhook. Aquí tienes algunos ejemplos de carga útil:

Mención del usuario:

{
   "text": "User mention: <<@{{userId}}>>, channel mention: <<#{{channelId}}>>, user group mention: <<&{{userGroupId}}>> and @here @channel"
}

Adjunto:

{
   "attachments": [
       {
           "pretext": "Pretext of Pumble webhooks article",
           "title": "Pumble webhooks",
           "title_link": "https://pumble.com/help/integrations/add-pumble-apps/incoming-webhooks-for-pumble",
           "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
           "author_name": "Pumble",
           "author_link": "https://pumble.com",
           "footer": "Lorem ipsum v1.0.0",
           "footer_icon": "https://files.pumble.com/avatars/default/pumble-logo",
           "color": "green", // or hex RGB
           "ts": 1759479334
       }
   ]
}

Este ejemplo de adjunto enviará un mensaje que se verá así:

Hipervínculos:

{
    "text": "[Markdown Hyperlink](https:\/\/pumble.com) | <a href=\"https:\/\/pumble.com\">Html hyperlink<\/a> | <https:>"
}

Emojis:

{
   "text": "Emojis :raised_hands: :heart:"
}

Bloque de código:

{
   "text": "`Inline code` and ```Code block\n hello \nEnd of code block```"
}

Aquí te mostramos un ejemplo de mensaje que incorpora diferentes tipos de formato de texto enriquecido:

{
    "text": "Hello team! :wave: :tada:\n\n**Quick Update**:\n- Feature deployed successfully! :rocket:\n- Bugs resolved: `5`\n\n*Styling Reference:*\n- Markdown **bold**, *italic*\n- HTML <b>bold<\/b>, <i>italic<\/i>, <code>inline code<\/code>\n\n\ud83d\udd17 Useful Links:\n- [Pumble Website](https:\/\/pumble.com)\n- <a href=\"https:\/\/pumble.com\">Pumble via HTML<\/a>\n- <https:> \n\n:busts_in_silhouette: Mentions:\n- Channel: <<#{{68e3a383ce5f2c8d95ff46a6}}>> \nNotifications: @here @channel \n\n:computer: Code snippet:```function greet() {\n  console.log(\"Hello, Pumble!\");\n}```"
}

Este mensaje de webhook se verá así:

Manejar errores #

Si todo está configurado correctamente, recibirás un estado HTTP 200 para indicar que tu webhook entrante funcionó y que el mensaje se envió correctamente. Es posible que este no sea siempre el caso, y esta acción puede fallar por numerosas razones.

Algunos de los errores que puedes encontrar si tus webhooks fallan son:

mensaje: El webhook entrante está deshabilitado.
código: 400700
El Webhook fue deshabilitado por el administrador del espacio de trabajo
mensaje: Se eliminó el webhook entrante.
código: 400702
El Webhook fue eliminado por el administrador del espacio de trabajo
mensaje: No encontrado.
código: 404100
No se encontró la URL única y lo más probable es que el administrador del espacio de trabajo la haya regenerado
mensaje: No puedes realizar esta operación.
código: 403200
No tienes permiso para publicar en el canal especificado
mensaje: El canal está archivado.
código: 400440
No tienes permiso para publicar en el canal especificado
mensaje: Formato de carga útil no válido.
código: 400703
La carga útil de la solicitud no está en uno de los formatos admitidos.

¿Te resultó útil este artículo?

Thank you! If you’d like a member of our support team to respond to you, please drop us a note at support@pumble.com