---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RESTAPIRequestBody - com escopo, global

# RESTAPIRequestBody - com escopo, global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 min. de leitura

A API RESTAPIRequestBody fornece métodos que permitem acessar o conteúdo do corpo de uma solicitação de REST API em scripts.  
O formato de um objeto RESTAPIRequestBody pode ser JSON ou XML, dependendo do valor do cabeçalho do tipo de conteúdo da solicitação.  
Nota:  
Você não pode instanciar objetos deste tipo. Objetos desse tipo são criados automaticamente e podem ser acessados somente em scripts de recurso de REST API com script.

Esta API é executada no namespace `sn_ws`.  
Exemplo de corpo de solicitação de entrada única no formato JSON.

    {
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    }

Exemplo de corpo de solicitação de entrada múltipla no formato JSON.

    [{
     "name": "user1",
     "id": 1234,
     "roles": [
      {
       "name": "admin"
      },
      {
       "name": "itil"
      }
     ]
    },{
     "name": "user2",
     "id":9876,
     "roles": [
      {
       "name":"admin"
      }
     ]
    }]

## RESTAPIRequestBody - dados {#ariaid-title2}

O conteúdo do corpo da solicitação.
Nota:  
Os serviços Web REST consomem dados, fluxo de dados e dataString por meio de fluxo. Como os fluxos são consumidos apenas uma vez, somente um pode ser chamado. Por exemplo, se chamar data e dataString, a segunda chamada retornará em branco.
{#r_SSRB_data__table_fvt_qv1_sr__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| dados | Objeto ou matriz | O conteúdo da solicitação. Pode ser um único objeto ou uma matriz de objetos, dependendo da solicitação. |
[Tabela 1. Campo]

{#r_SSRB_data__table_fvt_qv1_sr}  

    var entry;
    var id;
    var requestBody = request.body;
    var requestData = requestBody.data; //May be an array or a single object
    if (requestData instanceof Array) { 
     entry = requestData[0].name; // 'user1'
     id = requestData[0].id; // '1234'
    } else {
     entry = requestData.name; // 'user1'
     id = requestData.id; // '1234'
    }

## RESTAPIRequestBody - dataStream {#ariaid-title3}

O conteúdo do corpo da solicitação, como um fluxo.
Nota:  
Os serviços Web REST consomem dados, fluxo de dados e dataString por meio de fluxo. Como os fluxos são consumidos apenas uma vez, somente um pode ser chamado. Por exemplo, se chamar data e dataString, a segunda chamada retornará em branco.
{#r_SSRB_dataStream__table_ycm_sw1_sr__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| fluxo de dados | Objeto | O conteúdo do corpo da solicitação. Você pode passar o fluxo para uma API separada, como para criar um anexo a partir da solicitação ou encaminhar a solicitação para um endpoint diferente. |
[Tabela 2. Campo]

{#r_SSRB_dataStream__table_ycm_sw1_sr}  

    var requestBody = request.body; 
    var requestStream = requestBody.dataStream;

## RESTAPIRequestBody - dataString {#ariaid-title4}

O conteúdo do corpo da solicitação, como uma cadeia de caracteres.
Nota:  
Os serviços Web REST consomem dados, fluxo de dados e dataString por meio de fluxo. Como os fluxos são consumidos apenas uma vez, somente um pode ser chamado. Por exemplo, se chamar data e dataString, a segunda chamada retornará em branco.
{#r_SSRB_dataString__table_k3m_mw1_sr__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| dataString | Cadeia de caracteres | O conteúdo do corpo da solicitação. |
[Tabela 3. Campo]

{#r_SSRB_dataString__table_k3m_mw1_sr}  

    var requestBody = request.body; 
    var requestString = requestBody.dataString;

## RESTAPIRequestBody - hasNext() {#ariaid-title5}

Determina se há entradas adicionais no corpo da solicitação.
Use este método com o método nextEntry() para iterar várias entradas do corpo da solicitação.
{#r_SSRB-hasNext__table_ztm_my1_sr__entry__3}

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

{#r_SSRB-hasNext__table_ztm_my1_sr} {#r_SSRB-hasNext__table_a5m_my1_sr__entry__2}

| Tipo | Descrição |
|-|-|
| booliano | Sinalizador que indica se há entradas adicionais no corpo da solicitação. Valores possíveis: * verdadeiro: entradas adicionais estão disponíveis. Como nextEntry() é chamado, hasNext() continua a ser verdadeiro até que o último registro correspondente seja carregado. * falso: não há entradas adicionais. {#r_SSRB-hasNext__ul_sng_zt5_knb} |
[Tabela 5. Retorna]

{#r_SSRB-hasNext__table_a5m_my1_sr}  

    var requestBody = request.body;
    requestBody.hasNext(); // returns true if the request contains a single entry or multiple entries
    requestBody. nextEntry(); // returns next available entry

    //calling second time
    requestBody.hasNext(); // returns false if the request contains a single entry, or true if the request contains multiple entries

## RESTAPIRequestBody -- nextEntry() {#ariaid-title6}

Recupere uma entrada do corpo da solicitação como um objeto de script.
Use este método com o método hasNext() para iterar várias entradas do corpo da solicitação.
{#r_SSRB-nextEntry__table_ssb_nx1_sr__entry__3}

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

{#r_SSRB-nextEntry__table_ssb_nx1_sr} {#r_SSRB-nextEntry__table_tsb_nx1_sr__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Uma única entrada do corpo da solicitação. |
[Tabela 7. Retorna]

{#r_SSRB-nextEntry__table_tsb_nx1_sr}  

    var requestBody = request.body;
    var requestEntry = requestBody.nextEntry(); // returns available entry if there is only one entry, or the first entry if there are multiple.
    var name = requestEntry.name; // 'user1'

    // Calling second time
    requestEntry = requestBody.nextEntry(); // returns undefined if there is only one entry, or the second entry if there are multiple.

Este exemplo demonstra o uso de hasNext() com nextEntry().

    var requestBody = request.body;
    while(requestBody.hasNext()){
    var entry = requestBody.nextEntry();
    }


