Endpoint de modelos de consulta

Exemplos de chamadas de API

As seções a seguir descrevem as várias chamadas de API que podem ser feitas usando o Query Service API. Cada chamada inclui o formato da API geral, uma solicitação de amostra mostrando os cabeçalhos necessários e uma resposta de amostra.

Consulte a Documentação de modelos de consulta de interface do usuário para obter informações sobre como criar modelos por meio da interface do usuário do Experience Platform.

Recuperar uma lista de modelos de consulta

Você pode recuperar uma lista de todos os modelos de consulta para sua organização fazendo uma solicitação GET à /query-templates terminal.

Formato da API

GET /query-templates
GET /query-templates?{QUERY_PARAMETERS}
Propriedade
Descrição
{QUERY_PARAMETERS}
(Opcional) Parâmetros adicionados ao caminho da solicitação que configuram os resultados retornados na resposta. Vários parâmetros podem ser incluídos, separados por "E" comercial (&). Os parâmetros disponíveis estão listados abaixo.

Parâmetros de consulta

Veja a seguir uma lista de parâmetros de consulta disponíveis para listar modelos de consulta. Todos esses parâmetros são opcionais. Fazer uma chamada para esse endpoint sem parâmetros recuperará todos os modelos de consulta disponíveis para sua organização.

Parâmetro
Descrição
orderby
Especifica o campo pelo qual ordenar resultados. Os campos compatíveis são created e updated. Por exemplo, orderby=created Os resultados serão classificados por criados em ordem crescente. Adicionar um - antes de criar (orderby=-created) classificará os itens por criados em ordem decrescente.
limit
Especifica o limite de tamanho de página para controlar o número de resultados incluídos em uma página. (Valor padrão: 20)
start
Especifique um carimbo de data e hora no formato ISO para ordenar os resultados. Se nenhuma data de início for especificada, a chamada à API retornará primeiro os modelos criados mais antigos e, em seguida, continuará a listar os resultados mais recentes.
Os carimbos de data e hora ISO permitem diferentes níveis de granularidade na data e hora. Os carimbos de data e hora ISO básicos têm o formato de: 2020-09-07 para expressar a data em 7 de setembro de 2020. Um exemplo mais complexo seria escrito como 2022-11-05T08:15:30-05:00 e corresponde a 5 de novembro de 2022, 8:15:30 da manhã, Hora Padrão do Leste dos EUA. Um fuso horário pode ser fornecido com um deslocamento UTC e é indicado pelo sufixo "Z" (2020-01-01T01:01:01Z). Se nenhum fuso horário for fornecido, o padrão será zero.
property
Filtrar resultados com base em campos. Os filtros deve ser escapado por HTML. As vírgulas são usadas para combinar vários conjuntos de filtros. Os campos compatíveis são name e userId. O único operador compatível é == (igual a). Por exemplo, name==my_template retornará todos os modelos de consulta com o nome my_template.

Solicitação

A solicitação a seguir recupera o modelo de consulta mais recente criado para sua organização.

curl -X GET https://platform.adobe.io/data/foundation/query/query-templates?limit=1
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 200 com uma lista de modelos de consulta para a organização especificada. A resposta a seguir retorna o modelo de consulta mais recente criado para sua organização.

{
    "templates": [
        {
            "sql": "SELECT *\nFROM\n  accounts\nLIMIT 10\n",
            "name": "Test",
            "id": "f7cb5155-29da-4b95-8131-8c5deadfbe7f",
            "updated": "2019-11-21T21:50:01.469Z",
            "userId": "{USER_ID}",
            "created": "2019-11-21T21:50:01.469Z",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "GET"
                },
                "delete": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "DELETE"
                },
                "update": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "PUT",
                    "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
                }
            }
        }
    ],
    "_page": {
        "orderby": "-created",
        "start": "2019-11-21T21:50:01.469Z",
        "next": "2019-11-21T21:50:01.469Z",
        "count": 1
    },
    "_links": {
        "next": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z"
        },
        "prev": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z&isPrevLink=true"
        }
    },
    "version": 1
}
NOTE
Você pode usar o valor de _links.delete para excluir seu modelo de consulta.

Criar um modelo de consulta

Você pode criar um template de query fazendo uma solicitação POST para o /query-templates terminal.

Formato da API

POST /query-templates

Solicitação

curl -X POST https://platform.adobe.io/data/foundation/query/query-templates
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '{
        "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
        "name": "Sample query template",
        "queryParameters": {
            user_id : {USER_ID}
            }
    }'
Propriedade
Descrição
sql
A consulta SQL que você deseja criar. Você pode usar SQL padrão ou uma substituição de parâmetro. Para usar uma substituição de parâmetro no SQL, você deve anexar a chave de parâmetro a uma $. Por exemplo, $keye fornecem os parâmetros usados no SQL como pares de valores-chave JSON no queryParameters campo. Os valores transmitidos aqui serão os parâmetros padrão usados no modelo. Se quiser substituir esses parâmetros, você deverá substituí-los na solicitação POST.
name
O nome do modelo de consulta.
queryParameters
Um par de valores chave para substituir quaisquer valores parametrizados na instrução SQL. É apenas obrigatório se você está usando substituições de parâmetros no SQL fornecido. Nenhuma verificação de tipo de valor será feita nesses pares de valores principais.

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com detalhes do modelo de consulta recém-criado.

{
    "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:20:09.670Z",
    "userId": "{USER_ID}",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
        }
    }
}
NOTE
Você pode usar o valor de _links.delete para excluir seu modelo de consulta.

Recuperar um modelo de consulta especificado

Você pode recuperar um template de query específico fazendo uma solicitação GET para o /query-templates/{TEMPLATE_ID} e fornecendo a ID do modelo de consulta no caminho da solicitação.

Formato da API

GET /query-templates/{TEMPLATE_ID}
Propriedade
Descrição
{TEMPLATE_ID}
A variável id do modelo de consulta que você deseja recuperar.

Solicitação

curl -X GET https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes do modelo de consulta especificado.

{
    "sql": "SELECT * FROM accounts;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:20:09.670Z",
    "userId": "A5A562D15E1645480A495CE1@techacct.adobe.com",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
        }
    }
}
NOTE
Você pode usar o valor de _links.delete para excluir seu modelo de consulta.

Atualizar um modelo de consulta especificado

Você pode atualizar um template de query específico fazendo uma solicitação PUT para o /query-templates/{TEMPLATE_ID} e fornecendo a ID do modelo de consulta no caminho da solicitação.

Formato da API

PUT /query-templates/{TEMPLATE_ID}
Propriedade
Descrição
{TEMPLATE_ID}
A variável id do modelo de consulta que você deseja recuperar.

Solicitação

NOTE
A solicitação PUT exige que os campos sql e name sejam preenchidos, e substituir o conteúdo atual desse modelo de consulta.
curl -X PUT https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '{
    "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
    "name": "Sample query template",
    "queryParameters": {
            user_id : {USER_ID}
        }
    }'
Propriedade
Descrição
sql
A consulta SQL que você deseja criar. Você pode usar SQL padrão ou uma substituição de parâmetro. Para usar uma substituição de parâmetro no SQL, você deve anexar a chave de parâmetro a uma $. Por exemplo, $keye fornecem os parâmetros usados no SQL como pares de valores-chave JSON no queryParameters campo. Os valores transmitidos aqui serão os parâmetros padrão usados no modelo. Se quiser substituir esses parâmetros, você deverá substituí-los na solicitação POST.
name
O nome do modelo de consulta.
queryParameters
Um par de valores chave para substituir quaisquer valores parametrizados na instrução SQL. É apenas obrigatório se você está usando substituições de parâmetros no SQL fornecido. Nenhuma verificação de tipo de valor será feita nesses pares de valores principais.

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com as informações atualizadas para o modelo de consulta especificado.

{
    "sql": "SELECT * FROM accounts LIMIT 20;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:29:20.028Z",
    "lastUpdatedBy": "{USER_ID}",
    "userId": "{USER_ID}",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
        }
    }
}
NOTE
Você pode usar o valor de _links.delete para excluir seu modelo de consulta.

Excluir um modelo de consulta especificado

É possível excluir um template de query específico fazendo uma solicitação DELETE para o /query-templates/{TEMPLATE_ID} e fornecendo a ID do modelo de consulta no caminho da solicitação.

Formato da API

DELETE /query-templates/{TEMPLATE_ID}
Propriedade
Descrição
{TEMPLATE_ID}
A variável id do modelo de consulta que você deseja recuperar.

Solicitação

curl -X DELETE https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com a seguinte mensagem.

{
    "message": "Deleted",
    "statusCode": 202
}
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb