---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Cadre de travail NowData : iOS

# Cadre de travail NowData : iOS {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes de lecture

Le cadre de travail NowData contient des méthodes qui activent l'instanciation des services NowData, telles que NowGraphQLService, NowTableService, NowAPIService (pour les API personnalisées) et NowAttachmentService.

## NowData : makeApiService(instanceUrl : URL, path : String, completion : @escaping (Result\<NowApiService, NowServiceError\>) -\> Void)) {#ariaid-title2}

Crée une instance de NowApiService et, une fois terminée, appelle le gestionnaire de complétion spécifié.
{#NData-makeApiService_S_O__table_ff3_4pw_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| instanceUrl | URL | URL de l'instance dont les ServiceNow API REST doivent être accessibles par le service. |
| chemin d'accès | Chaîne | Chemin d'accès de l'API. Par exemple, si l'appel d'API est `https://xxx.service-now.com/api/now/sg/incident`, le chemin d'accès est `/api/now/sg/incident`. |
| achèvement | @escaping ((Result\<[NowApiService](https://servicenow-prod.fluidtopics.net/Cl9LuMju4qceQMNH8Twszw#NowAPIServiceiOSAPI "La classe NowAPIService fournit des fonctions qui vous permettent d’effectuer des demandes pour une API REST spécifiée ServiceNow ."), NowServiceError\>) -\> Void) | Gestionnaire de complétion appelé avec un `Result<NowApiService, NowServiceError>` contenant soit une instance `NowApiService` initialisée, soit une `NowServiceError` indiquant pourquoi l'initialisation a échoué. |
[Tableau 1. Paramètres]

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

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 2. Renvoie]

{#NData-makeApiService_S_O__table_gf3_4pw_kqb}  
L'exemple de code suivant montre comment appeler cette fonction.

    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, complétion : @escaping (Result\<NowAttachmentService, NowServiceError\>) -\> Void)) {#ariaid-title3}

Crée une instance de NowAttachmentService et, une fois l'opération terminée, appelle le gestionnaire de complétion spécifié.
{#NData-makeAttachmentService_S_O__table_nw3_hww_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| instanceUrl | URL | URL de l'instance dont les ServiceNow pièces jointes doivent être accessibles par le service. |
| achèvement | @escaping (Result\<[NowAttachmentService](https://servicenow-prod.fluidtopics.net/0_CzlBzyDRvr8Q5Y1BEBiA#NowAttachmentServiceiOSAPI "La classe NowAttachmentService fournit des fonctions qui vous permettent de charger et d’interroger des pièces jointes associées à des enregistrements au sein d’une table sur une ServiceNow instance."), NowServiceError\>) -\> Void) | Gestionnaire de complétion appelé avec un `Result<NowAttachmentService, NowServiceError>` contenant soit une instance `NowAttachmentService` initialisée, soit un `NowServiceError` indiquant pourquoi l'initialisation a échoué. |
[Tableau 3. Paramètres]

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

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 4. Renvoie]

{#NData-makeAttachmentService_S_O__table_ow3_hww_kqb}  
L'exemple de code suivant montre comment appeler cette fonction.

    ....
    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, complétion : @escaping ((Result\<NowGraphQLService, NowServiceError\>) -\> Void)) {#ariaid-title4}

Crée une instance de NowGraphQLService et, une fois terminée, appelle le gestionnaire de complétion spécifié.
{#NData-makeGraphQLService_S_O__table_fb2_mcw_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| instanceUrl | URL | URL de l'instance ServiceNow fournissant les services GraphQL. |
| achèvement | @escaping ((Result\<[NowGraphQLService](https://servicenow-prod.fluidtopics.net/Ag0vVVEcH3k9_NZ70SIJHA#NowGraphQLServiceiOSAPI "La classe NowGraphQLService fournit des fonctions qui vous permettent d’effectuer des requêtes à l’aide de requêtes GraphQL sur des données de votre ServiceNow instance via son API REST GraphQL ."), NowServiceError\>) -\> Void) | Gestionnaire de complétion appelé avec un `Result<NowGraphQLService, NowServiceError>` contenant soit une instance `NowGraphQLService` initialisée, soit une `NowServiceError` indiquant pourquoi l'initialisation a échoué. |
[Tableau 5. Paramètres]

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

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 6. Renvoie]

{#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, complétion : @escaping (Result\<NowTableService, NowServiceError\>) -\> Void)) {#ariaid-title5}

Crée une instance de NowTableService et, une fois l'opération terminée, appelle le gestionnaire de complétion spécifié.
{#NData-makeTableService_S_O__table_rkh_bmw_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| instanceUrl | URL | URL de l'instance dont les ServiceNow tables doivent être accessibles par le service. |
| achèvement | @escaping ((Result\<[NowTableService,](https://servicenow-prod.fluidtopics.net/M~2KJj16WkQ5ZkXLIqGWWw#NowTableServiceiOSAPI "La classe NowTableService fournit des fonctions qui vous permettent d’effectuer des opérations de création, de lecture, de mise à jour et de suppression sur des enregistrements de tables existantes ServiceNow .") NowServiceError\>) -\> Void) | Gestionnaire de complétion appelé avec un `Result<NowTableService, NowServiceError>` contenant soit une instance `NowTableService` initialisée, soit une `NowServiceError` indiquant pourquoi l'initialisation a échoué. |
[Tableau 7. Paramètres]

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

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 8. Renvoie]

{#NData-makeTableService_S_O__table_skh_bmw_kqb}  
L'exemple de code suivant montre comment appeler cette fonction.

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


