Repetibilidad de solicitudes

Se aplica a: ACS Email (api de envío de Email), salas de ACS

Las API POST no son idempotentes por definición. Para que se comporten de forma idempotente, se admiten solicitudes repetibles según la especificación oasis repeatable Requests Version 1.0 . Para admitir esto, los clientes deben especificar dos encabezados obligatorios en su solicitud POST:

  • Repeatability-Request-Id
  • Repetibilidad: envío por primera vez

Encabezado Repeatability-Request-Id

El valor de este encabezado identifica la solicitud de forma única con un GUID.

Encabezado Repeatability-First-Sent

El valor de este encabezado representa la marca de tiempo cuando se envió por primera vez la solicitud original. El valor debe especificarse en formato UTC en imf-fixdate. Solo realizamos un seguimiento de las solicitudes de una duración especificada (actualmente, la duración de seguimiento es de 5 minutos). Las solicitudes con un valor enviado por primera vez antes de que se consideren potencialmente no seguras para volver a ejecutarse y devolverán un error 412 (error de condición previa).

Repetibilidad en los SDK de ACS

Los encabezados de repetibilidad se generan, agregan y envían automáticamente a la API al usar cualquiera de nuestras bibliotecas del SDK de ACS.

Códigos de respuesta de solicitud repetibles

En la tabla siguiente se incluye información detallada sobre varios códigos de estado para las solicitudes repetibles.

Repeatability-Request-ID Repetibilidad: envío por primera vez Resultado de repetibilidad Código de estado de respuesta
GUID válido Formato no válido Rechazada 400
Formato no válido Fecha válida Rechazada 400
Formato no válido Formato no válido Rechazada 400
Válido Duración fuera del seguimiento Rechazada 412 (Error en la condición previa)
Solicitud nueva o no válida Dentro de la duración del seguimiento Aceptado Código de estado de la ejecución normal
Solicitud repetida válida Dentro de la duración del seguimiento, pero no coincide con la solicitud anterior Rechazada 400
Solicitud repetida válida Dentro de la duración del seguimiento, coincide con la solicitud anterior Aceptado En Email SEND API:
- Si la solicitud original sigue en curso: 409
- Si el código de estado de la solicitud original era 2xx o 4xx, devuelva ese código de estado.
- Si el código de estado de la solicitud original era 5xx, devuelva el código de estado de la nueva ejecución de la solicitud.

Solución de problemas

Si ha enviado una solicitud con una marca de tiempo enviada por primera vez que se encuentra en los últimos 5 minutos, pero sigue recibiendo un error 412 (Error de condición previa) con el mensaje "El encabezado de repetibilidad enviado por primera vez no estaba en la ventana de 5 minutos", asegúrese de comprobar que el reloj del equipo cliente está sincronizado con el servidor de hora.

Consulte también

Para obtener más información sobre Azure Communication Services, también puede revisar nuestros otros orígenes de documentación: