---
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


---

# Interface NowAPIService - Android

# Interface NowAPIService - Android {#ariaid-title1}

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

A interface NowAPIService oferece a capacidade de executar solicitações em uma ServiceNow REST API especificada.  
Nota:  
Os usuários convidados só funcionarão para a interface NowAPIService se a REST API que está sendo acessada estiver configurada para usuários convidados.
{#NowAPIServiceAndroidInterface__table_vx2_klw_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| configuração | [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/jf~9lIjtHwW3MVfVkwHV9w "A classe NowServiceConfiguration permite configurar o URL da instância ServiceNow e o nome do pacote para um serviço do recurso.") | Configuração de serviço a ser associada ao protocolo. |
[Tabela 1. Propriedades]

{#NowAPIServiceAndroidInterface__table_vx2_klw_5pb}

## NowAPIService - data(endpoint: NowAPIService.Endpoint, queryParams: QueryParams, cabeçalhos: cabeçalhos, corpo: cadeia de caracteres) {#ariaid-title2}

Chama a REST API especificada na instância ServiceNow especificada.
{#NAPIServ-data_S_S_S_S__table_u3p_dkt_4pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| endpoint | NowAPIService.Endpoint | Endpoint REST a ser chamado. |
| queryParams | QueryParams | Opcional. Objeto de parâmetro de consulta que contém os parâmetros de consulta a serem passados na chamada REST. Padrão: nulo |
| cabeçalhos | Cabeçalhos | Opcional. Objeto de cabeçalhos que contém os cabeçalhos a serem passados na chamada REST. Padrão: nulo |
| corpo | Cadeia de caracteres | Opcional. Objeto que contém o corpo da solicitação e o tipo de conteúdo a ser passado para a chamada REST. Padrão: nulo |
[Tabela 2. Parâmetros]

{#NAPIServ-data_S_S_S_S__table_u3p_dkt_4pb} {#NAPIServ-data_S_S_S_S__table_v3p_dkt_4pb__entry__2}

| Tipo | Descrição |
|-|-|
| [Chamar](https://servicenow-prod.fluidtopics.net/3pSuthm1bUG8QcZWbXf62g#CallAndroidInterface "A interface Chamada representa uma solicitação que está preparada para processamento.")\<[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/)\> | Retornar resultados do endpoint REST chamado. |
[Tabela 3. Retorna]

{#NAPIServ-data_S_S_S_S__table_v3p_dkt_4pb}  
<br />

    suspend fun loadCases(): List<CaseItem> = withContext(Dispatchers.IO) {
      val apiService = nowServiceManager.getNowAPIService()

      val result = runCatching {
        val response = apiService.data(NowAPIService.Endpoint(
          relativePath = CASES_API,
          requestMethod = HttpMethod.GET,
          requireAuth = true)
        ).execute()

        val byteArray = response.body ?: throw Exception("Null Result")
        val buffer = Buffer()
        val reader = JsonReader.of(buffer.write(byteArray))
        val listType = Types.newParameterizedType(
          List::class.java,
          CaseItem::class.java
        )

        val resultType = Types.newParameterizedType(
          ResultResponse::class.java,
          listType
        )
        val adapter = moshi.adapter<ResultResponse<List<CaseItem>>>(resultType)
        adapter.fromJson(reader)
      }

      if (result.isSuccess) {
          result.getOrNull()?.result ?: throw Exception("Cases not in response")
      } else {
          throw result.exceptionOrNull() ?: Exception("Error Cases")
      }
    }


