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


---

# Estrutura do NowData - iOS

# Estrutura do NowData - iOS {#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 estrutura NowData contém métodos que permitem a instanciação de serviços NowData, como NowGraphQLService, NowTableService, NowAPIService (para APIs personalizadas) e NowAttachmentService.

## NowData - makeApiService(instanceUrl: URL, caminho: cadeia de caracteres, conclusão: @escaping ((resultado\<NowApiService, NowServiceError\> ) -\> Vazio)) {#ariaid-title2}

Cria uma instância de NowApiService e, após a conclusão, chama o manipulador de conclusão especificado.
{#NData-makeApiService_S_O__table_ff3_4pw_kqb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| instanceUrl | URL | URL da instância ServiceNow cujas REST APIs serão acessadas pelo serviço. |
| caminho | Cadeia de caracteres | Caminho da API. Por exemplo, se a chamada de API for `https://xxx.service-now.com/api/now/sg/incident`, o caminho será `/api/now/sg/incident`. |
| conclusão | @escaping ((Resultado​\<[NowApiService](https://servicenow-prod.fluidtopics.net/uBCvXGCp15uiy~rp8H~MDw#NowAPIServiceiOSAPI "A classe NowAPIService fornece funções que permitem executar solicitações para uma ServiceNow REST API especificada."), Now​Service​Error\>) -\> Void) | Manipulador de conclusão que é chamado com um `Resultado` \<NowApiService, NowServiceError\> contendo uma instância `NowApiService` inicializada ou um `NowServiceError` indicando o motivo da falha na inicialização. |
[Tabela 1. Parâmetros]

{#NData-makeApiService_S_O__table_ff3_4pw_kqb} {#NData-makeApiService_S_O__table_gf3_4pw_kqb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 2. Retorna]

{#NData-makeApiService_S_O__table_gf3_4pw_kqb}  
O exemplo de código a seguir mostra como chamar esta função.

    let path = "api/now/sg"
    let apiPublisher = apiService(for: path)

    func apiService(for path: String) -> AnyPublisher<NowAPIService, ConfigurationError> {
      guard let instanceURL else {
        return Fail(error: ConfigurationError.invalidInstanceURL)
        .eraseToAnyPublisher()
      }
      return Future { promise in
        NowData.makeApiService(instanceUrl: instanceURL, path: path) { (result) in
          promise(result.mapError { .sdkError($0) })
        }
      }
      .eraseToAnyPublisher()
    }

## NowData - makeAttachmentService(instanceUrl: URL, conclusão: @escaping ((Resultado\<NowAttachmentService, NowServiceError\> ) -\> Vazio)) {#ariaid-title3}

Cria uma instância de NowAttachmentService e, após a conclusão, chama o manipulador de conclusão especificado.
{#NData-makeAttachmentService_S_O__table_nw3_hww_kqb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| instanceUrl | URL | URL da instância ServiceNow cujos anexos serão acessados pelo serviço. |
| conclusão | @escaping ((Resultado​\<[NowAttachmentService](https://servicenow-prod.fluidtopics.net/Tdg2flHRulwRf5HUmHPckw#NowAttachmentServiceiOSAPI "A classe NowAttachmentService fornece funções que permitem carregar e consultar anexos associados a registros em uma tabela em uma instância ServiceNow."), Now​Service​Error\>) -\> Void) | Manipulador de conclusão que é chamado com um `Resultado` \<NowAttachmentService, NowServiceError\> contendo uma instância `NowAttachmentService` inicializada ou um `NowServiceError` indicando o motivo da falha na inicialização. |
[Tabela 3. Parâmetros]

{#NData-makeAttachmentService_S_O__table_nw3_hww_kqb} {#NData-makeAttachmentService_S_O__table_ow3_hww_kqb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 4. Retorna]

{#NData-makeAttachmentService_S_O__table_ow3_hww_kqb}  
O exemplo de código a seguir mostra como chamar esta função.

    ....
    guard 
      let jwtUrl = URL(string: "http://13.57.38.237:8080"),
      let instanceUrl = URL(string: "https://mobilecoresdk.service-now.com") else {
        return
      }

    // AuthorizationProvider -- struct conforming to NowSDKAuthorizationProviding protocol
    let authorizationProvider = AuthorizationProvider(userEmail: "sdk@servicenow.com", jwtProviderUrl: jwtUrl, clientId: "deb8756b452d201039231ca568f26511")
            
    // PermissionProvider -- class conforming to DevicePermissionDelegate protocol
    let permissionProvider = PermissionProvider()
    let config = NowSDKConfiguration(authorizationProvider: authorizationProvider, permissionDelegate: permissionProvider, logLevel: .debug)
    	
    do {
      try NowSDK.configure(with: config)
      initializeAttachmentService (with: instanceURL)
    } catch {
      // Return ConfigurationError.sdkError(error)
    }
    .....

    func initializeAttachmentService(instanceUrl: instanceURL) { result in
      switch result {
        case .success(let service)
          self?.attachmentService = service
        case .failure(let error)
          debug.print("Creating Attachment service failed with error: \(error.localizedDescription)")
          self?.attachmentService = nil
      }
    }

## NowData - makeGraphQLService(instanceUrl: URL, conclusão: @escaping ((Resultado\<NowGraphQLService, NowServiceError\> ) -\> Vazio)) {#ariaid-title4}

Cria uma instância de NowGraphQLService e, após a conclusão, chama o manipulador de conclusão especificado.
{#NData-makeGraphQLService_S_O__table_fb2_mcw_kqb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| instanceUrl | URL | URL da instância ServiceNow que fornece serviços GraphQL. |
| conclusão | @escaping ((Resultado​\<[NowGraphQLService](https://servicenow-prod.fluidtopics.net/euCJS4STAELXl7qoaA8G5Q#NowGraphQLServiceiOSAPI "A classe NowGraphQLService fornece funções que permitem fazer solicitações usando consultas GraphQL em relação aos dados em sua instância ServiceNow por meio da GraphQL REST API."), Now​Service​Error\>) -\> Anular) | Manipulador de conclusão que é chamado com um `Resultado` \<NowGraphQLService, NowServiceError\> contendo uma instância `NowGraphQLService` inicializada ou um `NowServiceError` indicando o motivo da falha na inicialização. |
[Tabela 5. Parâmetros]

{#NData-makeGraphQLService_S_O__table_fb2_mcw_kqb} {#NData-makeGraphQLService_S_O__table_gb2_mcw_kqb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum |   |
[Tabela 6. Retorna]

{#NData-makeGraphQLService_S_O__table_gb2_mcw_kqb}  
<br />

    func initializeGraphQLService(instanceUrl: URL) {
      makeGraphQLService(instanceUrl: instanceUrl) { [weak self] result in
        switch result {
        case .success(let service):
          self?.graphQLService = service
        case .failure(let error):
          debugPrint("Creating GraphQL service failed with error: \(error.localizedDescription)")
          self?.graphQLService = nil
        }
      }
    }

## NowData - makeTableService(instanceUrl: URL, conclusão: @escaping ((Resultado\<NowTableService, NowServiceError\> ) -\> Vazio)) {#ariaid-title5}

Cria uma instância de NowTableService e, após a conclusão, chama o manipulador de conclusão especificado.
{#NData-makeTableService_S_O__table_rkh_bmw_kqb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| instanceUrl | URL | URL da instância ServiceNow cujas tabelas serão acessadas pelo serviço. |
| conclusão | @escaping ((Resultado​\<[NowTableService](https://servicenow-prod.fluidtopics.net/7OkD2nFbZV5lWhWHvsIMxA#NowTableServiceiOSAPI "A classe NowTableService fornece funções que permitem executar operações de criação, leitura, atualização e exclusão em registros de tabelas ServiceNow existentes."), Now​Service​Error\>) -\> Void) | Manipulador de conclusão que é chamado com um `Resultado` \<NowTableService, NowServiceError\> contendo uma instância `NowTableService` inicializada ou um `NowServiceError` indicando o motivo da falha na inicialização. |
[Tabela 7. Parâmetros]

{#NData-makeTableService_S_O__table_rkh_bmw_kqb} {#NData-makeTableService_S_O__table_skh_bmw_kqb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 8. Retorna]

{#NData-makeTableService_S_O__table_skh_bmw_kqb}  
O exemplo de código a seguir mostra como chamar essa função.

    func initializeTableService(for instanceUrl: URL) {
      makeTableService(instanceUrl: instanceUrl) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
          case .success(let tableService):
            self.tableService = tableService
            // Create a Paginator that will iterate over pages of customer support cases. The Paginator's response type will be
            // inferred from the Paginator's type definition (e.g. `Paginator<[CustomerServiceCase]>`).
            self.paginator = tableService.paginator(from: Self.tableName, configuration: self.fetchConfiguration)
            // Subscribe to the Paginator's publisher so we will be able to receive paged results.
            self.subscribeToPaginatorPublisher()
            // As we are now ready to start fetching data, inform the view controller.
            self.onReady(self)
          case .failure(let error):
            debugPrint("Creating table service failed with error: \(error.localizedDescription)")
            self.tableService = nil
            self.paginator = nil
        }
      }
    }


