Endpoint de retornos de chamada

Um retorno de chamada é uma mensagem que a API do Reactor envia a uma URL específica (geralmente, uma que é hospedada por sua organização).

Os retornos de chamada devem ser usados juntamente com eventos de auditoria para rastrear atividades na API do Reactor. Sempre que um evento de auditoria de determinado tipo é gerado, um retorno de chamada pode enviar uma mensagem correspondente à URL especificada.

O serviço por trás da URL especificada no retorno de chamada deve responder com o código de status HTTP 200 (OK) ou 201 (Criado). Se o serviço não responder com nenhum desses códigos de status, a entrega da mensagem será repetida nos seguintes intervalos:

  • 1 minuto
  • 5 minutos
  • 30 minutos
  • 1 hora
  • 12 horas
  • 1 dia
  • 3 dias
NOTE
Os intervalos de repetição são relativos ao intervalo anterior. Por exemplo, se a repetição em um minuto falhar, a próxima tentativa será agendada para cinco minutos após a tentativa de um minuto que falhou (seis minutos após a mensagem ter sido gerada).

Se todas as tentativas de entrega falharem, a mensagem será descartada.

Um retorno de chamada pertence a apenas uma propriedade. Uma propriedade pode ter muitos retornos de chamada.

Introdução

O endpoint usado neste manual faz parte da API do Reactor. Antes de continuar, consulte novamente o guia de introdução para obter informações importantes sobre como realizar a autenticação para a API.

Listar retornos de chamada list

Você pode listar todos os retornos de chamada em uma propriedade fazendo uma solicitação GET.

Formato da API

GET  /properties/{PROPERTY_ID}/callbacks
Parâmetro
Descrição
{PROPERTY_ID}
O id da propriedade cujos retornos de chamada você deseja listar.
NOTE
Usando parâmetros de consulta, os retornos de chamada listados podem ser filtrados com base nos seguintes atributos:
  • created_at
  • updated_at
filtragem de respostas

Solicitação

curl -X GET \
  https://reactor.adobe.io/properties/PR66a3356c73fc4aabb67ee22caae53d70/callbacks \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H "Content-Type: application/vnd.api+json" \
  -H 'Accept: application/vnd.api+json;revision=1'

Resposta

Uma resposta bem-sucedida retorna uma lista de retornos de chamada da propriedade especificada.

{
  "data": [
    {
      "id": "CB26edef8d709243579589107bcda034da",
      "type": "callbacks",
      "attributes": {
        "created_at": "2020-12-14T17:34:47.082Z",
        "subscriptions": [
          "rule.created"
        ],
        "updated_at": "2020-12-14T17:34:47.082Z",
        "url": "https://www.example.com"
      },
      "relationships": {
        "property": {
          "links": {
            "related": "https://reactor.adobe.io/callbacks/CB26edef8d709243579589107bcda034da/property"
          },
          "data": {
            "id": "PR66a3356c73fc4aabb67ee22caae53d70",
            "type": "properties"
          }
        }
      },
      "links": {
        "property": "https://reactor.adobe.io/properties/PR66a3356c73fc4aabb67ee22caae53d70",
        "self": "https://reactor.adobe.io/callbacks/CB26edef8d709243579589107bcda034da"
      }
    }
  ],
  "meta": {
    "pagination": {
      "current_page": 1,
      "next_page": null,
      "prev_page": null,
      "total_pages": 1,
      "total_count": 1
    }
  }
}

Pesquisar um retorno de chamada lookup

Você pode pesquisar um retorno de chamada fornecendo a respectiva ID no caminho de uma solicitação GET.

Formato de API

GET /callbacks/{CALLBACK_ID}
Parâmetro
Descrição
CALLBACK_ID
O id do retorno de chamada que você deseja pesquisar.

Solicitação

curl -X GET \
  https://reactor.adobe.io/callbacks/CBeef389cee8d84e69acef8665e4dcbef6 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H "Content-Type: application/vnd.api+json" \
  -H 'Accept: application/vnd.api+json;revision=1'

Resposta

Uma resposta bem-sucedida retorna os detalhes do retorno de chamada.

{
  "data": {
    "id": "CBeef389cee8d84e69acef8665e4dcbef6",
    "type": "callbacks",
    "attributes": {
      "created_at": "2020-12-14T17:34:36.872Z",
      "subscriptions": [
        "rule.created"
      ],
      "updated_at": "2020-12-14T17:34:36.872Z",
      "url": "https://www.example.com"
    },
    "relationships": {
      "property": {
        "links": {
          "related": "https://reactor.adobe.io/callbacks/CBeef389cee8d84e69acef8665e4dcbef6/property"
        },
        "data": {
          "id": "PRb513bbab52114573ac87f9848eea6ead",
          "type": "properties"
        }
      }
    },
    "links": {
      "property": "https://reactor.adobe.io/properties/PRb513bbab52114573ac87f9848eea6ead",
      "self": "https://reactor.adobe.io/callbacks/CBeef389cee8d84e69acef8665e4dcbef6"
    }
  }
}

Criar um retorno de chamada create

Você pode criar um novo retorno de chamada fazendo uma solicitação POST.

Formato da API

POST /properties/{PROPERTY_ID}/callbacks
Parâmetro
Descrição
PROPERTY_ID
O id da propriedade sob a qual o retorno de chamada está sendo definido.

Solicitação

curl -X POST \
  https://reactor.adobe.io/properties/PR5e22de986a7c4070965e7546b2bb108d/callbacks \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.api+json;revision=1' \
  -d '{
        "data": {
          "attributes": {
            "url": "https://www.example.com",
            "subscriptions": [
              "rule.created"
            ]
          }
        }
      }'
Propriedade
Descrição
url
O destino da URL para a mensagem de retorno de chamada. A URL deve usar a extensão de protocolo HTTPS.
subscriptions
Uma matriz de strings, indicando os tipos de evento de auditoria que acionarão o retorno de chamada. Consulte o manual de endpoint de eventos de auditoria para obter uma lista de tipos de eventos possíveis.

Resposta

Uma resposta bem-sucedida retorna os detalhes do retorno de chamada recém-criado.

{
  "data": {
    "id": "CB32d8f23d5ee548278d32076af4c442a0",
    "type": "callbacks",
    "attributes": {
      "created_at": "2020-12-14T17:34:27.059Z",
      "subscriptions": [
        "rule.created"
      ],
      "updated_at": "2020-12-14T17:34:27.059Z",
      "url": "https://www.example.com"
    },
    "relationships": {
      "property": {
        "links": {
          "related": "https://reactor.adobe.io/callbacks/CB32d8f23d5ee548278d32076af4c442a0/property"
        },
        "data": {
          "id": "PR5e22de986a7c4070965e7546b2bb108d",
          "type": "properties"
        }
      }
    },
    "links": {
      "property": "https://reactor.adobe.io/properties/PR5e22de986a7c4070965e7546b2bb108d",
      "self": "https://reactor.adobe.io/callbacks/CB32d8f23d5ee548278d32076af4c442a0"
    }
  }
}

Atualizar um retorno de chamada

Você pode atualizar um retorno de chamada incluindo a respectiva ID no caminho de uma solicitação PATCH.

Formato da API

PATCH /callbacks/{CALLBACK_ID}
Parâmetro
Descrição
CALLBACK_ID
A id do retorno de chamada que você deseja atualizar.

Solicitação

A solicitação a seguir atualiza a matriz subscriptions para um retorno de chamada existente.

curl -X PATCH \
  https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.api+json;revision=1' \
  -d '{
        "data": {
          "attributes": {
            "url": "https://www.example.net",
            "subscriptions": [
              "rule.created",
              "build.created"
            ]
          },
          "type": "callbacks",
          "id": "CB4310904d415549888cc9e31ebe1e1e45"
        }
      }'
Propriedade
Descrição
attributes

Um objeto cujas propriedades representam os atributos a serem atualizados para o retorno de chamada. Cada chave representa o atributo de retorno de chamada específico a ser atualizado, juntamente com o valor correspondente para o qual ele deve ser atualizado.

Os seguintes atributos podem ser atualizados para retornos de chamada:

  • subscriptions
  • url
id
A id do retorno de chamada que você deseja atualizar. Isso deve corresponder ao valor {CALLBACK_ID} informado no caminho da solicitação.
type
O tipo de recurso que está sendo atualizado. Para esse endpoint, o valor deve ser callbacks.

Resposta

Uma resposta bem-sucedida retorna os detalhes do retorno de chamada atualizado.

{
  "data": {
    "id": "CB4310904d415549888cc9e31ebe1e1e45",
    "type": "callbacks",
    "attributes": {
      "created_at": "2020-12-14T17:34:56.884Z",
      "subscriptions": [
        "rule.created",
        "build.created"
      ],
      "updated_at": "2020-12-14T17:34:57.614Z",
      "url": "https://www.example.net"
    },
    "relationships": {
      "property": {
        "links": {
          "related": "https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45/property"
        },
        "data": {
          "id": "PR0a8ef3ca31dc456a8566e9288960bd79",
          "type": "properties"
        }
      }
    },
    "links": {
      "property": "https://reactor.adobe.io/properties/PR0a8ef3ca31dc456a8566e9288960bd79",
      "self": "https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45"
    }
  }
}

Excluir um retorno de chamada

É possível excluir um retorno de chamada incluindo a respectiva ID no caminho de uma solicitação DELETE.

Formato da API

DELETE /callbacks/{CALLBACK_ID}
Parâmetro
Descrição
CALLBACK_ID
A id do retorno de chamada que você deseja excluir.

Solicitação

curl -X DELETE \
  https://reactor.adobe.io/callbacks/CB4310904d415549888cc9e31ebe1e1e45 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/vnd.api+json;revision=1'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo) sem corpo de resposta, indicando que o retorno de chamada foi excluído.

recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743