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


---

# API NowChat : iOS

# API NowChat : iOS {#ariaid-title1}

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

L'API NowChat est une API globale de haut niveau qui permet aux utilisateurs d'instancier une instance de service NowChat.

## NowChat - makeChatService(instanceUrl : URL, delegate : NowChatServiceDelegate ?) {#ariaid-title2}

Crée une instance de NowChatService avec la configuration spécifiée.
Remarque :  
Vous devez initialiser le Kit de développement logiciel (SDK) avant d'appeler cette fonction, sinon le bloc de complétion est appelé avec une erreur `sdkNotConfiguré` . Pour initialiser le Kit de développement logiciel (SDK), appelez la méthode `NowSDK.configure()` avec la configuration souhaitée.
{#NChat-makeChatService-pub_S_O_O__table_pft_qzv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| instanceUrl | URL | URL de l'instance fournissant les ServiceNow services de messagerie instantanée. |
| délégué | NowChatServiceDelegate | Facultatif. Objet délégué qui implémente le protocole NowChatServiceDelegate. |
[Tableau 1. Paramètres]

{#NChat-makeChatService-pub_S_O_O__table_pft_qzv_kqb} {#NChat-makeChatService-pub_S_O_O__table_qft_qzv_kqb__entry__2}

| Type | Description |
|-|-|
| AnyPublisher\<[NowChatService](https://servicenow-prod.fluidtopics.net/pGWDxP~iHvEphHxMJ~NBNQ#NowChatServiceiOSAPI "La classe NowChatService fournit des options de messagerie virtuelle et Agent actif de messagerie instantanée."), NowServiceError\> | En cas de réussite, renvoie un objet NowChatService initialisé. En cas d'échec, renvoie un objet NowServiceError. |
[Tableau 2. Renvoie]

{#NChat-makeChatService-pub_S_O_O__table_qft_qzv_kqb}  
L'exemple de code suivant montre comment appeler cette fonction.

    ....
    guard 
      let jwtUrl = URL(string: "http://xx.xx.xx.xxx:8080"),
      let instanceUrl = URL(string: "https://instance.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)
      let chat = setup(with: instanceUrl)
    } catch {
      // Return ConfigurationError.sdkError(error)
    }
    .....

    func initializeChatService(with instanceURL: URL) -> AnyPublisher<NowService, ConfigurationError> {
      NowChat.makeChatService(instanceUrl: instanceURL, delegate: nil)
      .mapError { .sdkError($0) }
      .map { $0 as NowService }
      .eraseToAnyPublisher()
    }

## NowChat : makeChatService(instanceUrl : URL, delegate : NowChatServiceDelegate ?, complétion : @escaping ((Result\<NowChatService, NowServiceError\>) -\> Void)) {#ariaid-title3}

Crée une instance de `NowChatService` avec la configuration spécifiée et, une fois terminée, appelle le gestionnaire de complétion spécifié.
Remarque :  
Vous devez initialiser le Kit de développement logiciel (SDK) avant d'appeler cette fonction, sinon le bloc de complétion est appelé avec une erreur `sdkNotConfiguré` . Pour initialiser le Kit de développement logiciel (SDK), appelez la méthode `NowSDK.configure()` avec la configuration souhaitée.
{#NChat-makeChatService_S_O_O__table_nv2_5xv_kqb__entry__3}

| Nom | Type | Description |
|-|-|-|
| instanceUrl | URL | URL de l'instance fournissant les ServiceNow services de messagerie instantanée. |
| délégué | NowChatServiceDelegate | Facultatif. Objet délégué qui implémente le protocole NowChatServiceDelegate. |
| achèvement | @escaping ((Result\<[NowChatService](https://servicenow-prod.fluidtopics.net/pGWDxP~iHvEphHxMJ~NBNQ#NowChatServiceiOSAPI "La classe NowChatService fournit des options de messagerie virtuelle et Agent actif de messagerie instantanée."), NowServiceError\>) -\> Void) | Gestionnaire de complétion appelé contenant soit une instance `NowChatService` initialisée, soit une `NowServiceError` indiquant pourquoi l'initialisation a échoué. |
[Tableau 3. Paramètres]

{#NChat-makeChatService_S_O_O__table_nv2_5xv_kqb} {#NChat-makeChatService_S_O_O__table_ov2_5xv_kqb__entry__2}

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

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

    func initializeChatService() {
      NowChat.makeChatService(instanceUrl: instanceUrl, delegate: self) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
        case .success(let service):
          self.chatService = service
        case .failure(let error):
          debugPrint("Creating the chat service failed with error: \(error)")
        }
        self.viewState = self.makeViewState()
      }
    }


