Xero

Ce connecteur fournit un accès SQL à votre backend Xero.

Avant de commencer

Avant d'utiliser le connecteur Xero, effectuez les tâches suivantes:

  • Dans votre projet Google Cloud :
    • Accordez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
    • Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un compte de service est un compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez la section Créer un compte de service.

    • Activez les services suivants :
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Pour savoir comment activer des services, consultez la page Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.

Configurer le connecteur

Pour configurer le connecteur, vous devez créer une connexion à votre source de données (système backend). Une connexion est spécifique à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :

  1. Dans la console Cloud, accédez à la page Integration Connectors > Connections (Connecteurs d'intégration > Connexions), puis sélectionnez ou créez un projet Google Cloud.

    Accéder à la page "Connexions"

  2. Cliquez sur + Créer pour ouvrir la page Créer une connexion.
  3. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. Région : sélectionnez un emplacement dans la liste déroulante.

      Les régions disponibles pour les connecteurs sont les suivantes :

      Pour obtenir la liste de toutes les régions disponibles, consultez la section Emplacements.

    2. Cliquez sur Suivant.
  4. Dans la section Détails de connexion, procédez comme suit :
    1. Connector (Connecteur) : sélectionnez Xero dans la liste déroulante des connecteurs disponibles.
    2. Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
    3. Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion.

      Les noms de connexion doivent répondre aux critères suivants :

      • Les noms de connexion peuvent contenir des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Les noms de connexion doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Les noms de connexion ne peuvent pas dépasser 63 caractères.
    4. Saisissez éventuellement une Description pour l'instance de connexion.
    5. Compte de service : sélectionnez un compte de service disposant des rôles requis.
    6. Vous pouvez également configurer les paramètres du nœud de connexion :

      • Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
      • Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.

      Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter plus de transactions pour une connexion, plus de nœuds sont nécessaires. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez la section Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.

    7. Schéma: l'API Xero à laquelle vous souhaitez accéder en tant que schéma de base de données.
    8. Locataire: définit l'organisation Xero à laquelle se connecter. Il peut s'agir d'un nom ou d'un ID de locataire.
    9. Niveau de verbosité: niveau de verbosité de la connexion, allant de 1 à 5. Un niveau de verbosité plus élevé consigne tous les détails de la communication (certificats de requête,de réponse et SSL).
    10. Vous pouvez également cliquer sur + Ajouter une étiquette pour ajouter une étiquette à la connexion sous la forme d'une paire clé/valeur.
    11. Cliquez sur Suivant.
  5. Dans la section Authentification, saisissez les informations d'authentification.
    1. Sélectionnez un type d'authentification, puis saisissez les informations appropriées.

      Les types d'authentification suivants sont compatibles avec la connexion Xero:

      • Identifiants client OAuth 2.0
      • Octroi du code d'autorisation OAuth 2.0
    2. Pour comprendre comment configurer ces types d'authentification, consultez la section Configurer l'authentification.

    3. Cliquez sur Suivant.
  6. Vérifiez vos informations de connexion et d'authentification.
  7. Cliquez sur Créer.

Configurer l'authentification

Saisissez les détails en fonction de l'authentification que vous souhaitez utiliser.

  • Identifiants client OAuth 2.0
    • ID client : ID client fourni par le connecteur pour l'application que vous avez créée.
    • Code secret du client : secret Secret Manager contenant le code secret client pour l'application connectée que vous avez créée.
  • Octroi du code d'autorisation OAuth 2.0
    • Jeton d'accès : jeton d'accès utilisé pour authentifier les requêtes avec des connexions basées sur auth-code-flow.
    • ID client : ID client utilisé pour demander des jetons d'accès.
    • Code secret du client : code secret du client utilisé pour demander des jetons d'accès.

Entités, opérations et actions

Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que via cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.

  • Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connecté. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, dans un connecteur de serveur de fichiers, les dossiers sont les entités et, dans un connecteur de système de messagerie, les files d'attente sont les entités.

    Toutefois, il est possible qu'un connecteur ne soit pas compatible ou ne possède aucune entité. Dans ce cas, la liste Entities est vide.

  • Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Vous pouvez effectuer l'une des opérations suivantes sur une entité :

    La sélection d'une entité dans la liste disponible génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche de connecteur. Toutefois, si un connecteur n'accepte aucune des opérations d'entité, celles-ci ne sont pas répertoriées dans la liste Operations.

  • Action : une action est une fonction de première classe mise à la disposition de l'intégration via l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. Toutefois, il est possible qu'un connecteur ne prenne en charge aucune action, auquel cas la liste Actions est vide.

Utiliser la connexion Xero dans une intégration

Limites du système

Le connecteur Xero peut traiter 5 transactions par seconde et par nœud, et limite toutes les transactions au-delà de cette limite. Toutefois, le nombre de transactions que le connecteur Xero peut traiter dépend également des contraintes imposées par l'instance Xero. Pour en savoir plus, consultez la page Limites de débit des API Xero. Par défaut, Integration Connectors alloue deux nœuds (pour une meilleure disponibilité) à une connexion.

Pour en savoir plus sur les limites applicables à Integration Connectors, consultez Limites.

Actions

Cette section répertorie certaines actions possibles avec le connecteur. Pour comprendre comment configurer les actions, consultez Exemples d'actions.

Action DownloadAttachment

Cette action télécharge une pièce jointe.

Paramètres d'entrée de l'action DownloadAttachment

Nom du paramètre Type de données Obligatoire Description
Nom de fichier Chaîne Non Nom de la pièce jointe à télécharger.
Table Chaîne Non Nom de la table à partir de laquelle nous devons télécharger la pièce jointe.
ObjectId Chaîne Non ObjectId de la pièce jointe.

Paramètres de sortie de l'action DownloadAttachment

Cette action renvoie l'état 200 (OK) si le téléchargement a réussi.

Pour comprendre comment configurer l'action DownloadAttachment, consultez Exemples d'actions.

Action UploadAttachment

Cette action vous permet d'importer une pièce jointe.

Paramètres d'entrée de l'action UploadAttachment

Nom du paramètre Type de données Obligatoire Description
Nom de fichier Chaîne Non Nom de la pièce jointe à importer.
ObjectId Chaîne Non ObjectId de la pièce jointe.
ContentType Chaîne Non Type de contenu de la pièce jointe.
Table Chaîne Non Nom de la table dans laquelle la pièce jointe doit être importée.
Contenus Chaîne Non Contenu de la pièce jointe

Paramètres de sortie de l'action UploadAttachment

Cette action renvoie l'état 200 (OK) si l'importation de l'objet a réussi.

Pour comprendre comment configurer l'action UploadAttachment, consultez Exemples d'actions.

Action ListAttachment

Cette action vous permet de lister toutes les pièces jointes d'un tableau.

Paramètres d'entrée de l'action ListAttachment

Nom du paramètre Type de données Obligatoire Description
ObjectId Chaîne Non ID de l'objet de la pièce jointe.
Table Chaîne Non Nom de la table à partir de laquelle les pièces jointes doivent être répertoriées.

Paramètres de sortie de l'action ListAttachment

Cette action renvoie l'état 200 (OK) si la suppression a réussi.

Pour comprendre comment configurer l'action ListAttachment, consultez la section Exemples d'actions.

Action SendInvoiceMail

Cette action vous permet d'envoyer des e-mails à un créancier.

Paramètres d'entrée de l'action SendInvoiceMail

Nom du paramètre Type de données Obligatoire Description
InvoiceId Chaîne Non Identifiant de la facture pour laquelle le courrier postal doit être envoyé.

Paramètres de sortie de l'action SendInvoiceMail

Cette action renvoie l'état 200 (OK) si l'opération de déplacement a réussi.

Pour comprendre comment configurer l'action SendInvoiceMail, consultez la section Exemples d'actions.

Action UploadFile

Cette action vous permet d'importer un fichier.

Paramètres d'entrée de l'action UploadFile

Nom du paramètre Type de données Obligatoire Description
Nom Chaîne Non Nom du fichier à importer.
Contenus Chaîne Non Contenu du fichier à importer.

Paramètres de sortie de l'action UploadFile

Cette action renvoie l'état 200 (OK) si l'importation de l'objet a réussi.

Pour comprendre comment configurer l'action UploadFile, consultez la section Exemples d'actions.

Exemples d'actions

Cette section décrit comment effectuer certaines actions dans ce connecteur.

Exemple : Télécharger une pièce jointe

Cet exemple télécharge une pièce jointe.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action DownloadAttachment, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "Filename": "Xero_Test.txt",
    "Table": "Contacts",
    "ObjectId": "6a92a3ab-87cf-4f2f-8beb-ecb4f8ae4d41"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche DownloadAttachment aura une valeur semblable à celle-ci:

    [{
    "Success": "True",
    "Content": "Test content"
    }]

Exemple : Importer une pièce jointe

Dans cet exemple, une pièce jointe est importée.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action UploadAttachment, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "Filename": "Xero_Test.txt",
    "ObjectId": "6a92a3ab-87cf-4f2f-8beb-ecb4f8ae4d41",
    "ContentType": "txt",
    "Table": "Contacts",
    "Content": "Test content upload attachment"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche UploadAttachment aura une valeur semblable à celle-ci:

    [{
    "Success": null,
    "AttachmentId": "5ba982a6-9294-45a7-bdda-5f134b0d69d5",
    "FileName": "Xero_Test.txt",
    "URL": "https://api.xero.com/api.xro/2.0/Contacts/6a92a3ab-87cf-4f2f-8bwb-fcb4f8ae4d41/Attachments/Xero_Test.txt",
    "MimeType": "text/plain",
    "ContentLength": "27",
    "IncludeOnline": null,
    "_": ""
    }, {
    "Success": null,
    "AttachmentId": null,
    "FileName": null,
    "URL": null,
    "MimeType": null,
    "ContentLength": null,
    "IncludeOnline": null,
    "_": null
    }]

Exemple – Lister les pièces jointes

Cet exemple liste les pièces jointes de la table spécifiée.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action ListAttachment, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "ObjectId": "6a92a3ab-87cf-4f2f-8beb-ecb4f8ae4d41",
    "Table": "Contacts"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche ListAttachment aura une valeur semblable à celle-ci:

    [{
    "AttachmentId": "5ba982a6-9294-45a7-bdda-5f134b0d69d5",
    "FileName": "Xero_Limit_Testing.txt",
    "URL": "https://api.xero.com/api.xro/2.0/Contacts/6a92a3ab-87cf-4f2f-8bwb-fcb4f8ae4d41/Attachments/Xero_Test.txt",
    "MimeType": "text/plain",
    "ContentLength": "27"
    }]

Exemple : Envoyer une facture par e-mail

Dans cet exemple, un e-mail est envoyé pour la facture spécifiée.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action SendInvoiceMail, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "InvoiceId": "016a64c7-be0b-45a2-acae-13057fdf1566"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche SendInvoiceMail aura une valeur semblable à celle-ci:

    [{
    "Success": "true"
    }]

Exemple : Importer un fichier

Dans cet exemple, un fichier est importé.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
  2. Sélectionnez l'action UploadFile, puis cliquez sur OK.
  3. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "Name": "Sample1.txt",
    "Content": "This is a sample file"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche UploadFile aura une valeur semblable à celle-ci:

    [{
    "Success": "true",
    "FileId": "09039c7b-35a2-473d-aa79-16fe00b8d460",
    "Name": "Sample1.txt",
    "FolderId": "36e5115d-a9b6-4c22-baf3-40a8b28ee71d",
    "MimeType": "text/plain",
    "Size": 26.0,
    "User_Id": "c1e33cc9-eb61-45cb-9e46-3ea4121cbdc6",
    "User_Name": "test_user_1@test.com",
    "User_FirstName": "John",
    "User_LastName": "Smith",
    "User_FullName": "John Smith",
    "Created": "2023-12-18 17:38:53.01",
    "Updated": "2023-12-18 17:38:53.01"
    }]

Exemples d'opérations sur les entités

Cette section explique comment effectuer certaines opérations sur les entités dans ce connecteur.

Exemple : Répertorier tous les enregistrements

Cet exemple répertorie tous les enregistrements de l'entité Accounts.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Accounts dans la liste Entity.
  3. Sélectionnez l'opération List, puis cliquez sur OK.
  4. Si vous le souhaitez, dans la section Entrée de tâche de la tâche Connecteurs, vous pouvez filtrer l'ensemble de résultats en spécifiant une clause de filtre. Exemple :City='Bangalore' Vous pouvez également spécifier plusieurs conditions de filtre à l'aide des opérateurs logiques. Par exemple, City='Bangalore' and region='asia-south2'.

Exemple : Obtenir une facture

Cet exemple récupère une facture avec l'ID spécifié à partir de l'entité Invoices.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Invoices dans la liste Entity.
  3. Sélectionnez l'opération Get, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur EntityId (ID d'entité), puis saisissez 1|016a64c7-be0b-45a2-acae-13057fdf1566 dans le champ Default Value (Valeur par défaut).

    Ici, 1|016a64c7-be0b-45a2-acae-13057fdf1566 est une valeur de clé primaire dans l'entité Invoices.

Exemple : Créer une facture

Cet exemple crée une facture dans l'entité Invoices.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Invoices dans la liste Entity.
  3. Sélectionnez l'opération Create, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "Type": "ACCPAY",
    "ContactName": "ContactName1",
    "LineItem_Description": "LineItemDescription"
    }

    Si l'intégration réussit, le champ connectorOutputPayload de votre tâche de connecteur aura une valeur semblable à celle-ci:

    {
    "Id": "1|7b29efe9-dacd-47bb-85a6-0c0640ce25de"
    }

Exemple – Mettre à jour un enregistrement

Cet exemple met à jour un enregistrement dans l'entité AssetTypes.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez AssetTypes dans la liste Entity.
  3. Sélectionnez l'opération Update, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur connectorInputPayload, puis saisissez une valeur semblable à celle-ci dans le champ Default Value :
    {
    "BookDepreciationSetting_DepreciationRate": 10.0
    }
  5. Cliquez sur entityId, puis saisissez f8d43548-25b0-4cc3-8f59-d97106974fe8 dans le champ Valeur par défaut.

    Si l'intégration réussit, le champ connectorOutputPayload de votre tâche de connecteur aura une valeur semblable à celle-ci:

    {
    "AssetTypeId": "f8d43548-25b0-4cc3-8f59-d97106974fe8"
    }

Exemple : Supprimer un fichier

Cet exemple supprime le fichier portant l'ID spécifié de l'entité Files.

  1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
  2. Sélectionnez Files dans la liste Entity.
  3. Sélectionnez l'opération Delete, puis cliquez sur OK.
  4. Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur entityId, puis saisissez 421c82f0-38fb-4074-a679-63b04c0d8832 dans le champ Default Value (Valeur par défaut).

Une fois la connexion créée, elle devient disponible à la fois dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration via la tâche Connecteurs.

  • Pour comprendre comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez la section Tâche Connecteurs.
  • Pour découvrir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez la section Tâche Connecteurs.

Obtenir de l'aide auprès de la communauté Google Cloud

Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.

Étapes suivantes