Envoltorios de webhook y entrega directa
El cuerpo HTTP predeterminado es un envoltorio JSON contype: "notification", message_id, topic_crn, topic_name, subscription_id, message, timestamp y unsubscribe_url. Asunto y atributos aparecen cuando se proporcionan. message sigue siendo una cadena aunque contenga JSON.
Con raw_message_delivery: true, el cuerpo contiene el contenido seleccionado. Los metadatos quedan en los encabezados X-Basaltic-Notification-Type, X-Basaltic-Message-Id, X-Basaltic-Subscription-Id, X-Basaltic-Topic-Crn, X-Basaltic-Unsubscribe-Url y X-Basaltic-Delivery-Attempt. El tipo sigue siendo application/json; elija contenido adecuado.
Las colas siempre reciben el envoltorio e incluyen identificadores de la notificación en los atributos. Para FIFO, Notifications deriva el grupo del CRN del tema y la deduplicación del ID del mensaje publicado. El orden FIFO se aplica dentro de la cola; la distribución asíncrona no garantiza el orden de publicación.
Verificar firmas de webhook
Toda solicitud de webhook firmada incluye:subscription_confirmation. Después, el propietario puede seguir confirm_url para consentir. Responder correctamente a la solicitud inicial solo confirma su recepción.
No almacene el secreto en registros. La lectura y rotación exigen permisos separados. La rotación sustituye la clave; coordínela con el operador del destino. Describir o listar suscripciones nunca devuelve el secreto.
Política de reintentos
La suscripción sustituye el tema por campo. Los valores no especificados usan los predeterminados de la plataforma. La espera se duplica entre intentos e incluye variación aleatoria; son límites y valores predeterminados, no horarios exactos. Cuando se indican ambos retrasos, el máximo no puede ser menor que el mínimo.
En webhooks, HTTP
2xx significa éxito. Timeouts, fallos de conexión, HTTP 408, 429 y 5xx pueden generar reintentos. Otros 4xx y todos los 3xx son definitivos; no hay redirección. Un destino que resuelve a una dirección privada bloqueada también falla definitivamente. El éxito HTTP no prueba que se completara la operación de negocio.
Colas de mensajes no entregados
Definaredrive_policy.dead_letter_queue en la suscripción para guardar un envoltorio tras un fallo definitivo. La cola puede ser estándar o FIFO en la misma cuenta y región. Configurarla exige queue:SendMessage.
El envoltorio incluye la notificación original, ID de suscripción y entrega, intentos, hora y último error. El registro sigue fallido tras redirigir. Los destinos llenos, eliminados o no disponibles pueden impedir el almacenamiento; supervise los fallos y la cola, sin tratarla como una segunda garantía de entrega.
Esto trata fallos al entregar al destino. Para un consumidor que recibe pero no procesa un mensaje ya encolado, configure la política de redirección de la cola de destino.
Diagnosticar una notificación ausente
- Confirme la aceptación de la publicación e inspeccione la distribución.
- Compruebe si la suscripción está confirmada.
- Compare los atributos con toda la política de filtro.
- Localice la entrega y examine intentos y último error.
- En webhooks, compruebe URL, firma y estado HTTP.
- En colas, compruebe disponibilidad, clave de cifrado y concesiones de consumidores.

