---
sourceDocument: Segurança da plataforma Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/platform-security

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Segurança da plataforma Yokohama

ft:clusterId :

    - psec

bundleId :

    - psec

workflow :

    - Platform


---

# APIs de parâmetro POST e URL

# APIs de parâmetro POST e URL {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 25 de jun. de 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

Os parâmetros POST e URL podem ser acessados como propriedades do objeto request usando `request.postParams` e `request.urlParams`.

Qualquer parâmetro único pode ser acessado como uma propriedade dos objetos primários postParams e urlParams chamando `request.postParams.myParam`. Qualquer parâmetro acessado dessa forma é um objeto da classe subjacente ParameterValue. Quaisquer APIs nessa classe podem ser chamadas em qualquer parâmetro.

Depois de fazer a [Inspeção da solicitação do cliente](https://servicenow-prod.fluidtopics.net/xsPuuxk_4A9nbjxLqnoehg "Antes de criar uma regra de criptografia personalizada, você deve determinar o formato da solicitação do cliente que entra no servidor proxy Edge Encryption."), pode ser necessário acessar e criptografar os valores de parâmetro do objeto request. Dependendo dos dados na solicitação do cliente, você pode criptografar valores e mapeá-los para campos na instância de várias maneiras.

## Como criptografar o valor de uma tabela e campo conhecidos {#param-apis__known-table}

Se você souber o nome da tabela de instância e do campo que conterá os dados criptografados, poderá defini-los explicitamente na regra de criptografia. Por exemplo, você sabe que a solicitação será processada na instância para criar um incidente e deseja criptografar o parâmetro text no campo de descrição. Nesse caso, você pode criar a ação a seguir.  

    function SampleAction1() { 
        request.postParams.text.valueFor('incident', 'description');
    }

## Como criptografar o valor de uma tabela e campo definidos dinamicamente {#param-apis__dynamic-table}

Por outro lado, se você não souber o nome do campo que os dados criptografados preencherão, poderá defini-los dinamicamente usando tableName e fieldName.

O exemplo abaixo processa uma solicitação genérica que pode armazenar dados em diferentes tabelas de tarefa (como incidente, problema e change_request) na instância.  

    function SampleAction2() {
        var tableName = request.urlParams.table;  
        for (var parameter in request.postParams) {   
            var currentParam = request.postParams[parameter];
            var fieldName = currentParam.toString();
            if (fieldName == 'text') {
                currentParam.valueFor(tableName, 'description') 
            } else {
                currentParam.valueFor(tableName, fieldName);
            }
        }
    }

Esta ação:  
* Obtém a tabela de destino dos parâmetros de URL.
* Itera sobre os parâmetros de URL.
* Solicita ao servidor proxy Edge Encryption para criptografar qualquer parâmetro de URL com um nome que corresponda a um campo marcado para criptografia.
* Pesquisa um parâmetro específico chamado text e solicita que o proxy Edge Encryption criptografe o valor com base na configuração de Edge Encryption de descrição na tabela de incidentes.
{#param-apis__ul_bvc_s54_sz}

Neste exemplo, o método [valueFor()](https://servicenow-prod.fluidtopics.net/qukI7Kf~1RdYsyycrN5Rfw#r_XMLEL-valueFor_S_S "Especifica que o valor do elemento seja mapeado para o campo especificado na tabela especificada.") não está executando nenhuma criptografia. Em vez disso, o método solicita ao servidor proxy Edge Encryption para verificar se o par de tabela/campo no objeto "request" está marcado para criptografia com uma configuração de criptografia e, se aplicável, criptografá-lo.

## Como criptografar JSON ou XML em um parâmetro {#param-apis__xml-json}

Um parâmetro POST ou URL pode incluir conteúdo JSON ou XML. Nesse caso, você pode processar o conteúdo do parâmetro, iterar os valores e criptografar os campos obrigatórios. Neste exemplo, o tableName ainda é acessado de um parâmetro POST, mas o valor do campo são os dadosdo objeto JSON.  

    function SampleAction3() {
        var tableName = request.postParams.table;
        var data = request.postParams.data;
        var dataIterator = data.getAsJsonContent().iterator();
        while (dataIterator.hasNext()) {
            var jsonElement = dataIterator.next();
            var fieldName = jsonElement.getName();
            if (fieldName == 'text') {
                jsonElement.valueFor(tableName, 'description');
            } else {
                jsonElement.valueFor(tableName, fieldName);
            }   
        }
    }

Um exemplo de uma ação de regra de criptografia que processa XML em um parâmetro POST.  

    function SampleAction4() {
        var tableName = request.postParams.table;
        var data = request.postParams.data;
        var dataIterator = data.getAsXmlContent().getIteratorOverAllChildren();
        while (dataIterator.hasNext()) {
            var jsonElement = dataIterator.next();
            var fieldName = jsonElement.getName();
            if (fieldName == 'text') {
                jsonElement.valueFor(tableName, 'description');
            } else {
                jsonElement.valueFor(tableName, fieldName);
            }   
        }
    }

## Como criptografar uma consulta {#param-apis__section_qmy_3cn_sz}

Você pode encontrar uma consulta codificada em um parâmetro na solicitação do cliente que contém dados confidenciais. Para corresponder um campo em uma consulta a um valor criptografado no banco de dados da instância, é preciso criar uma regra de criptografia que peça ao proxy para verificar se um campo na consulta está marcado para criptografia. O método [encodedQueryFor()](https://servicenow-prod.fluidtopics.net/qukI7Kf~1RdYsyycrN5Rfw#r_XMLEL-encodedQueryFor_S "Especifica que o valor do elemento é uma consulta codificada para a tabela especificada.") analisa uma consulta codificada em uma determinada tabela e verifica se algum campo na consulta tem configurações de criptografia.

Neste exemplo, a regra itera sobre os parâmetros procurando o parâmetro filter, que deve ser uma consulta codificada do Glide.  

    function SampleAction5() {
        var tableName = request.urlParams.table;
        for (var parameter in request.postParams) {
            var currentParam = request.postParams[parameter];
            var fieldName = currentParam.toString();
            if (fieldName == 'filter') {
                currentParam.encodedQueryFor(tableName);
            } else {
                currentParam.valueFor(tableName, fieldName);
            }
        }
    }

Por exemplo, se o valor do filter for `short_description=My sensitive information^number=INC000056^category=Outage`, a consulta se tornará `short_description=<Encrypted(My sensitive information)>^number=INC000056^category=Outage` na instância.

## ParameterValue "toString()" {#ariaid-title2}

Converte o valor do parâmetro POST ou URL para uma cadeia de caracteres.
{#ParameterValue-toString__table_jzr_nw5_sz__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#ParameterValue-toString__table_jzr_nw5_sz} {#ParameterValue-toString__table_kzr_nw5_sz__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O valor do parâmetro como uma cadeia de caracteres. |
[Tabela 2. Retorna]

{#ParameterValue-toString__table_kzr_nw5_sz}

## ParameterValue "getAsJsonContent()" {#ariaid-title3}

Retorna a solicitação como um objeto iterável do tipo JsonNode.
Este método está disponível somente em uma regra de Edge Encryption se o corpo da solicitação for uma carga JSON válida. Se você não tiver certeza de qual formato o corpo da solicitação inclui, verifique o campo "contentType" no objeto request.

Depois que a solicitação é retornada como um objeto JsonNode, você pode usar [JSON APIs](https://servicenow-prod.fluidtopics.net/YJyR0ktP5lls40ABXdZN4w "As JSON APIs podem ser usadas depois de chamar getAsJsonContent() no objeto request ou em uma propriedade ParameterValue.") para iterar no objeto e criptografar os campos.
{#ParamValue-getAsJsonContent__table_xnp_xct_st__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 3. Parâmetros]

{#ParamValue-getAsJsonContent__table_xnp_xct_st} {#ParamValue-getAsJsonContent__table_ynp_xct_st__entry__2}

| Tipo | Descrição |
|-|-|
| JsonNode | A solicitação como um JsonNode iterável. |
[Tabela 4. Retorna]

{#ParamValue-getAsJsonContent__table_ynp_xct_st}

## ParameterValue "getAsXmlContent()" {#ariaid-title4}

Retorna o conteúdo da solicitação como um objeto iterável do tipo XMLContent.
Este método está disponível somente em uma regra Edge Encryption e assume que o corpo da solicitação é uma carga XML válida. Você pode verificar o "contentType" para se certificar.

Depois que a solicitação é retornada como um objeto XMLContent, você pode usar o [XML APIs](https://servicenow-prod.fluidtopics.net/rN14WoePdyeUfIyu5yAByg "As XML APIs podem ser usadas depois de chamar getAsXmlContent() no objeto request ou em uma propriedade ParameterValue.") para iterar no objeto e criptografar os campos.
{#ParamValue-getAsXmlContent__table_vkf_vdt_st__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 5. Parâmetros]

{#ParamValue-getAsXmlContent__table_vkf_vdt_st} {#ParamValue-getAsXmlContent__table_wkf_vdt_st__entry__2}

| Tipo | Descrição |
|-|-|
| XMLContent | A solicitação como um objeto iterável do tipo XMLContent. |
[Tabela 6. Retorna]

{#ParamValue-getAsXmlContent__table_wkf_vdt_st}

## ParameterValue "encodedQueryFor(cadeia de caracteres "tableName")" {#ariaid-title5}

Especifica que o valor do elemento é uma consulta codificada na tabela especificada.
Chamar esta função em um parâmetro informa ao proxy que o valor do parâmetro é uma [Cadeia de caracteres de consulta codificada](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=yokohama&pubname=yokohama-platform-user-interface&ft:locale=en-US) na tabela especificada. O proxy analisa a consulta codificada e criptografa os campos dessa consulta que devem ser criptografados.
{#ParamValue-encodedQueryFor_S__table_fyr_t5t_st__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| tableName | Cadeia de caracteres | A tabela na qual você espera que a consulta seja executada. |
[Tabela 7. Parâmetros]

{#ParamValue-encodedQueryFor_S__table_fyr_t5t_st} {#ParamValue-encodedQueryFor_S__table_gyr_t5t_st__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 8. Retorna]

{#ParamValue-encodedQueryFor_S__table_gyr_t5t_st}

## ParameterValue -- valueFor(cadeia de caracteres "tableName", cadeia de caracteres "fieldName") {#ariaid-title6}

Especifica que o valor do elemento seja mapeado para o campo especificado na tabela especificada.
Chamar este método em um valor de elemento informa ao proxy que o valor desse elemento é mapeado para o campo especificado na tabela especificada. Dessa forma, o proxy verifica se o campo deve ser criptografado.
{#ParamValue-valueFor_S_S__table_vcj_ztt_st__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| tableName | Cadeia de caracteres | O nome da tabela. |
| fieldName | Cadeia de caracteres | O nome do campo. |
[Tabela 9. Parâmetros]

{#ParamValue-valueFor_S_S__table_vcj_ztt_st} {#ParamValue-valueFor_S_S__table_wcj_ztt_st__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 10. Retorna]

{#ParamValue-valueFor_S_S__table_wcj_ztt_st}

