Pular para o conteúdo

Publicar um evento

POST
/v1/events

Grava o Evento e cria uma Entrega para cada endpoint do Consumer inscrito no tipo, mais os endpoints sem inscrição nenhuma, que recebem todos os tipos. A resposta sai antes da entrega: 202 quer dizer aceito e gravado, não entregue.

deliveries é quantas Entregas foram criadas. Zero quer dizer que ninguém está inscrito: o evento fica registrado e não vai a lugar nenhum.

Use Idempotency-Key. Se a chamada falhar por timeout, repeti-la com a mesma chave devolve o Evento original, com 200 e Idempotency-Replayed: true, em vez de publicar de novo. A chave vale para sempre dentro do ambiente: use algo derivado do fato (pedido-1234-pago), e não um valor aleatório novo a cada tentativa.

Idempotency-Key
string

Até 200 caracteres. Repetir a mesma chave devolve o Evento original em vez de publicar de novo. Tem precedência sobre o campo idempotencyKey do corpo.

Corpo da requisiçãoobrigatório

Seção intitulada “Request Bodyrequired”
Tipo de mídiaapplication/json
object
consumer
obrigatório
null | string
type
obrigatório
null | string
data
obrigatório
idempotencyKey
obrigatório
null | string
Exemplo
{
"consumer": "cliente-42",
"type": "pedido.pago",
"data": {
"pedidoId": 1234,
"valorCentavos": 4990
}
}

A Idempotency-Key já tinha sido usada: este é o Evento original, e nada foi publicado de novo.

Tipo de mídiaapplication/json
object
id
obrigatório
string
status
obrigatório
string
deliveries
obrigatório
integer | string formato: int32
/^-?(?:0|[1-9]\d*)$/
Exemplogerado
{
"id": "example",
"status": "example",
"deliveries": 1
}
Idempotency-Replayed
string

Sempre true: a resposta é a de uma publicação anterior.

Evento aceito e gravado. As Entregas saem em seguida.

Tipo de mídiaapplication/json
object
id
obrigatório
string
status
obrigatório
string
deliveries
obrigatório
integer | string formato: int32
/^-?(?:0|[1-9]\d*)$/
Exemplo
{
"id": "evt_01JB8XZQ4T9M2NKPWV3RYCF7HD",
"status": "queued",
"deliveries": 2
}

Chave de API ausente, inválida ou revogada.

A quota mensal de entregas do plano Free acabou.

Tipo de mídiaapplication/problem+json
object
type
null | string
title
null | string
status
null | integer | string formato: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string
Exemplogerado
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

data passa de 256 KB.

Tipo de mídiaapplication/problem+json
object
type
null | string
title
null | string
status
null | integer | string formato: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string
Exemplogerado
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

consumer ou type ausente, Consumer ou tipo de evento não cadastrado, ou Idempotency-Key com mais de 200 caracteres.

Tipo de mídiaapplication/problem+json
object
type
null | string
title
null | string
status
null | integer | string formato: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string
Exemplogerado
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Limite de requisições por segundo do plano, somado entre todas as chaves da organização.

Retry-After
integer

Segundos até a próxima janela.