{"meta":{"title":"Procedimientos recomendados para usar webhooks","intro":"Sigue estos procedimientos recomendados para mejorar la seguridad y el rendimiento al usar webhooks.","product":"Webhooks","breadcrumbs":[{"href":"/es/webhooks","title":"Webhooks"},{"href":"/es/webhooks/using-webhooks","title":"Uso de webhooks"},{"href":"/es/webhooks/using-webhooks/best-practices-for-using-webhooks","title":"procedimientos recomendados"}],"documentType":"article"},"body":"# Procedimientos recomendados para usar webhooks\n\nSigue estos procedimientos recomendados para mejorar la seguridad y el rendimiento al usar webhooks.\n\n## Suscribirse al número mínimo de eventos\n\nÚnicamente debes suscribirte a los eventos de webhook que necesites. Esto reducirá la cantidad de trabajo que debe hacer el servidor. Para más información sobre cómo suscribirse a los eventos, consulta [Crear webhooks](/es/webhooks/using-webhooks/creating-webhooks) y [Editar los webhooks](/es/webhooks/using-webhooks/editing-webhooks).\n\n## Uso de un secreto de webhook\n\n> \\[!WARNING]\n> Para evitar la exposición accidental de información confidencial, **no** incluyas información confidencial en la dirección URL de carga.\n> Esto incluye tus propias claves de API y otras credenciales de autenticación. En su lugar, para validar que las notificaciones de webhook fueron enviadas por GitHub y no han sido manipuladas, utiliza un secreto de webhook. Para más información, consulta [Validación de entregas de webhook](/es/webhooks/using-webhooks/validating-webhook-deliveries).\n\nEl secreto de webhook debe ser una cadena aleatoria de texto con alta entropía. Debes almacenar de forma segura el secreto de webhook de forma que el servidor pueda acceder.\n\n## Uso de la comprobación de HTTPS y SSL\n\nDebes asegurarte de que el servidor usa una conexión HTTPS. De forma predeterminada, GitHub comprobará los certificados SSL al entregar webhooks.\nGitHub recomienda dejar habilitada la comprobación SSL.\n\n## Permitir las direcciones IP de GitHub\n\nPuede configurar una lista de direcciones IP permitidas para el servidor y agregar las direcciones IP que GitHub usa para las entregas de webhook. Esto puede bloquear las solicitudes suplantadas al servidor.\n\nPuede usar el `GET /meta` endpoint para buscar la lista actualizada de direcciones IP de GitHub. Para más información, consulta [Puntos de conexión de la API de REST para metadatos](/es/rest/meta/meta#get-github-meta-information).\nGitHub ocasionalmente realiza cambios en sus direcciones IP, por lo que debe actualizar la lista de direcciones IP permitidas periódicamente.\n\nPara más información, consulta [Acerca de las direcciones IP de GitHub](/es/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses).\n\n## Responder en un plazo de 10 segundos\n\nTu servidor debe responder con un código de respuesta 2XX en un plazo de 10 segundos tras recibir una entrega de webhook. Si el servidor tarda más tiempo que eso en responder, GitHub finaliza la conexión y considera que se produce un error de entrega.\n\nPara responder a tiempo, es posible que desees configurar una cola para procesar cargas de webhook de forma asincrónica. El servidor puede responder cuando recibe el webhook y, a continuación, procesar la carga en segundo plano sin bloquear futuras entregas de webhook. Por ejemplo, Puede usar servicios como <c0>Hookdeck</c0> o bibliotecas como <c1>Resque</c1> (Ruby), < >c2>RQ</c2> (Python) o <c3>RabbitMQ</c3> (Java).\n\n## Verifica el tipo de evento y de acción antes de procesar el evento\n\nHay varios tipos de eventos de webhook, y cada evento puede tener varios tipos de acción.\nGitHub continúa agregando nuevos tipos de eventos y nuevas acciones a los tipos de eventos existentes. La aplicación debe comprobar el tipo de evento y la acción de una carga de webhook antes de procesar la carga. Para determinar el tipo de evento, puede usar el encabezado de solicitud `X-GitHub-Event`. Para determinar el tipo de acción, puede usar la clave `action` de nivel superior en la carga del evento.\n\n## Volver a entregar entregas fallidas\n\nSi tu servidor deja de funcionar, debes reenviar los webhooks perdidos una vez que tu servidor vuelva a estar operativo. Para más información, consulta [Entregar webhooks](/es/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).\n\n## Usar el encabezado `X-GitHub-Delivery`\n\nEn un ataque de reinyección, un actor malintencionado intercepta la entrega de un webhook y la reenvía. Para protegerse frente a ataques de reproducción, puede usar el encabezado `X-GitHub-Delivery` para asegurarse de que cada entrega sea única por evento.\n\n> \\[!NOTE]\n> Si solicita un reenvío, el encabezado `X-GitHub-Delivery` será el mismo que en la entrega original.\n\n## Información adicional\n\n* [Procedimientos recomendados para usar la API de REST](/es/rest/using-the-rest-api/best-practices-for-using-the-rest-api)\n* [Procedimientos recomendados para crear una aplicación de GitHub](/es/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app)"}