diff --git a/apification/README.md b/apification/README.md index abea9cf..14bcbf8 100644 --- a/apification/README.md +++ b/apification/README.md @@ -161,10 +161,11 @@ In this lab, we'll create our integration and define the REST API endpoint using * Select HTTPS for the Protocol and leave Authentication to None for now and click on Update \ ![HTTPS server connection](images/lab2-https-server-connection.png) * Close the connection sub tab and go back to the HTTP/S Server component in the integration, refresh the connection list and select the connection you have just created. - * Enter `invoices` for the resource path and enter two Query Parameters: `status` and `currencycode` and press Save. The resource path must be unique for your tenant. Since you are most likely working in a shared environment, you may want to prefix the resource path with your initials to make it unique (e.g. lb_invoices) \ + * Enter `invoices` for the resource path and enter two Query Parameters: `status` and `currencycode` and press Save. + > Note that the resource path must be unique for your tenant. Since you are most likely working in a shared environment, you may want to prefix the resource path with your initials to make it unique (e.g. lb_invoices) \ ![HTTPS Server component](images/lab2-https-server-component.png) > Note that we still need to connect the response to the HTTP/S Server component but we'll do that shortly after we've defined the response variable -* Click the plus button to add a Database Select component and expand the bottom panel +* Click the `+` button to add a Database Select component and expand the bottom panel * We need to create a database connection for our Postgres database so click Add next to the Connection picker and give your connection a name and description (e.g. Neon Postgres DB) * Select PostgreSQL as Database Type and set the version you used for the database creation (default is 15.x) * Update the connection URL with jdbc:postgresql://_`server`_/_`databaseName`_ with `host` and `database name` that you wrote down after database creation (default postgresql port 5432 is not required in the URL) @@ -172,7 +173,7 @@ In this lab, we'll create our integration and define the REST API endpoint using * click on Update and then on Test \ ![database connection](images/lab2-database-connection.png) > Note that if you get any Connection Timeout errors with the connection then you may want to expand the Advanced section and set `Connection Wait Timeout` to 1000. Don't forget to click update. - * Close your connection sub tab and return the the Database Select component in your integration + * Close your connection sub tab and return to the Database Select component in your integration * Click refresh in the Connections tab and select the database connection you just created * We need a plug for selecting invoices by Status so click Add next to the Plug picker and give your plug a name and description (e.g. GetInvoicesByStatus) and click on the Configure button * Select the database connector you just created and select `Select` for the Actions and `public` for the schemas @@ -229,17 +230,17 @@ Your integration should look like this: \ ![integration](images/lab2-integration.png) * Enable your integration and make an API call from your Browser, Postman or curl as follows: - - ```bash - curl --location --request GET "https://:9443/invoices?status=Overdue¤cycode=EUR" - ``` - - > Note: The _dataplane hostname_ of the Design mode (in SaaS deployment) is:\ - > _**tenant-name**-design.prod.integration.**region**.axway.com_\ - > where _tenant-name_ and _region_ can be found in the current control plane URL that you are using so far. - - > Tip: Make sure to update the resource path "/invoices" to match what you defined. - + + > Mouse over the link icon to see the URL you need for the API call and copy the link + + ![alt text](images/image.png) + + > Note that resource path might be different from "/invoices" according to what you defined + + > Paste the URL you copy in your Browser, or in Postman or in a curl command , add the query parameter values for our use case (set the status query parameter to 'Overdue' and the currencycode query parameter is 'EUR', so your resource path with query params would be "/invoices?status=Overdue¤cycode=EUR") before sending the request + + ![API Call](images/APIcall.png) + > Note: The response would be empty for now, so ignore "empty response" error message from your browser or client. * Find your transaction in the Monitor and click on the Database Select step and expand `GetInvoicesByStatusOutput->resultSet` and see that you are retrieving invoices @@ -250,7 +251,7 @@ Your integration should look like this: \ In this lab, we'll loop over the invoices, parse each one to a JSON object and do a currency conversion on the invoice amount to a desired currency passed into the API call as a query parameter. * Disable your integration -* Click the plus button and add a For-each component, expand it and click on Config +* Click the `+` button and add a For-each component, expand it and click on Config * Click the down arrow and select the `GetInvoicesByStatusOutput->response->resultSet` array to loop over and click Save ![foreach configuration](images/lab3-foreach-configuration_.png) * Let's convert the invoice total amount to the desired currency using the APILayer currency conversion API. @@ -300,13 +301,19 @@ In this lab, we'll loop over the invoices, parse each one to a JSON object and d * Enable your integration and make an API call from the Browser, Postman or curl as follows: - ```bash - curl --location --request GET 'https://:9443/invoices?status=Overdue¤cycode=EUR' - ``` + > Mouse over the link icon to see the URL you need for the API call and copy the link + + ![alt text](images/image.png) + + > Note that resource path might be different from "/invoices" according to what you defined + + > Paste the URL you copy in your Browser, or in Postman or in a curl command , add the query parameter values for our use case (set the status query parameter to 'Overdue' and the currencycode query parameter is 'EUR', so your resource path with query params would be "/invoices?status=Overdue¤cycode=EUR") before sending the request + + ![API Call](images/APIcall.png) * Find your transaction in the Monitor and click on it. You should see the For-each with some number inside indicating the number of invoices ![transaction monitoring](images/lab3-transaction-monitoring.png) -* Click the plus sign next to the For-each and again on one of the iterations +* Click the `+` sign next to the For-each and again on one of the iterations * Click on the HTTP/S Client Get and then expand the HTTPSGetOutput to see the currency conversion API response ![transaction monitoring response details](images/lab3-transaction-monitoring-response-details.png) @@ -335,7 +342,7 @@ In this lab, we'll map our invoice and currency converted amount to the response * Right click on any variable on the right hand panel and select Paste and name the variable `invoiceResponse` * Click on it expand this variable * Expand `currencyConvertResponse` in the left hand panel - * Add a map function using the '+fx' button, select DecimalPrecision is the Math category. + * Add a map function using the '+fx' button, select DecimalPrecision in the Math category. * Drag a line from `currencyConvertResponse->result` to `decimal` * Set `precision` to 2 * Drag a line from `output` to `invoiceResponse->totalamt` @@ -360,9 +367,9 @@ In this lab, we'll map our invoice and currency converted amount to the response ![map2](images/lab4-map2-AppendList.png) * Add an AddFloats function * Drag a line from `response->grandTotal` to `num1` - * Drag a line from `currencyConvertResponse->result` to `num2` + * Drag a line from `invoiceResponse->totalamt` to `num2` * Drag a line from `output` to `response->grandTotal` - ![map2](images/lab4-map2-AddFloats.png) + ![map2](images/lab4-map2-addfloats.png) * Complete the response fields * Drag a line from `HTTPSServerGetOutput->queryParams->currencycode` on the left to `response->currency` on the right * Drag a line from `HTTPSServerGetOutput->queryParams->status` on the left to `response->status` on the right @@ -373,11 +380,17 @@ In this lab, we'll map our invoice and currency converted amount to the response Your integration is complete and should look like this: ![integration](images/lab4-integration.png) -* Enable your integration and make an API call from the Browser, Postman or curl as follows: +* Enable your integration and make an API call from the Browser, Postman or curl with the same URL you used before as follows: - ```bash - curl --location --request GET 'https://:9443/invoices?status=Overdue¤cycode=EUR' - ``` + > Mouse over the link icon to see the URL you need for the API call and copy the link + + ![alt text](images/image.png) + + > Note that resource path might be different from "/invoices" according to what you defined + + > Paste the URL you copy in your Browser, or in Postman or in a curl command , add the query parameter values for our use case (set the status query parameter to 'Overdue' and the currencycode query parameter is 'EUR', so your resource path with query params would be "/invoices?status=Overdue¤cycode=EUR") before sending the request + + ![API Call 2](images/APICall2.png) Your result should look similar to the following: diff --git a/apification/fr/README.md b/apification/fr/README.md index a000b89..8064843 100644 --- a/apification/fr/README.md +++ b/apification/fr/README.md @@ -159,10 +159,11 @@ Dans cette étape, nous allons créer notre intégration et définir un endpoint * Sélectionner HTTPS comme protocole et laisser None pour l'Authentication pour le moment puis cliquer sur Update ![HTTPS server connection](../images/lab2-https-server-connection.png) * Fermer l'onglet de la connexion et retourner au composant HTTP/S Server de l'intégration, rafraîchir la liste de connexion puis sélectionner la connexion tout juste créée - * Entrer `invoices` pour le resource path (chemin d'accès à la ressource) et entrer deux Query Parameters: `status` et `currencycode` puis apuyer sur Save. Le resource path doit être unique. Étant donné que vous travaillez probablement dans un environnement partagé, vous pouvez préfixer le ressource path avec vos initiales pour le rendre unique (par exemple, lb_invoices) \ + * Entrer `invoices` pour le resource path (chemin d'accès à la ressource) et entrer deux Query Parameters: `status` et `currencycode` puis apuyer sur Save. + > À noter que le resource path doit être unique. Étant donné que vous travaillez probablement dans un environnement partagé, vous pouvez préfixer le ressource path avec vos initiales pour le rendre unique (par exemple, lb_invoices) \ ![HTTPS Server component](../images/lab2-https-server-component.png) > À noter que nous avons toujours besoin de connecter la réponse au composant HTTP/S Server mais nous ferons cela juste après avoir défini la variable réponse -* Cliquer sur le bouton plus pour ajouter un composant Database Select puis agrandir le panneau inférieur +* Cliquer sur le bouton `+` pour ajouter un composant Database Select puis agrandir le panneau inférieur * Nous devons créer une connexion Database pour notre Database Postgres. Pour cela cliquer sur Add à côté du sélecteur de connexion et donner à la connexion un nom et une description (par ex: Neon Postgres DB) * Sélectionner PostgreSQL comme Database Type et choisir la version utilisée lors de la création de votre DatabaseSelect (la version par défaut est 15.x) * Mettre à jour l'URL de connexion jdbc:postgresql://_`server`_/_`databaseName`_ avec `host` et `database name` que vous avez noté à l'étape précèdente après la création de la database (le port PostgreSQL par défaut 5432 n'est pas requis dans l'URL) @@ -175,7 +176,7 @@ Dans cette étape, nous allons créer notre intégration et définir un endpoint * Nous avons besoin d'un plug pour sélectionner les factures par statut. Pour cela cliquer sur Add à côté du sélecteur de plug et donner au plug un nom et une description (par ex: GetInvoicesByStatus) puis cliquer sur le bouton Configure * Sélectionner le connecteur de database tout juste créée et sélectionner `Select` pour Actions et `public` pour schemas * Cocher la case à côté de Invoice et sélectionner tous les champs - * Cliquer sur Where et sélectionner le champs `invoice.status` et l'opérateur `=` puis cliquer sur Generate et ensuite sur Save + * Cliquer sur Where et sélectionner le champ `invoice.status` et l'opérateur `=` puis cliquer sur Generate et ensuite sur Save ![database plug configuration](../images/lab2-database-plug-configuration.png) ![database plug](../images/lab2-database-plug_.png) * Fermer l'onglet du plug et retourner au composant Database Select de l'intégration. Cliquer sur Refresh dans le selecteur de plug et choisir le plug tout juste créé @@ -228,17 +229,17 @@ L'intégration doit ressembler à ceci: \ * Activer l'intégration et faire un appel API depuis un navigateur, Postman ou curl comme suit: - ```bash - curl --location --request GET "https://:9443/invoices?status=Overdue¤cycode=EUR" - ``` - - > Note: Le _dataplane hostname_ du mode Design (dans le déploiement SaaS) est:\ - > _**tenant-name**-design.prod.integration.**region**.axway.com_\ - > où _tenant-name_ et _region_ peuvent être trouvés dans le control plane URL que vous utilisez + > Passer la souris sur l'icône du lien pour voir l'URL nécessaire à l'appel API et copier le lien. + + ![alt text](/apification/images/image.png) + + > Survoler l'icône du lien pour voir l'URL nécessaire pour l'appel API et copier le lien - > Conseil: Assurez vous de mettre à jour le ressource path "/invoices" pour que cela corresponde à ce qui a été défini - - > Note: La réponse sera vide pour le moment, il faudra donc ignorer le message d'erreur "empty response" de votre navigateur ou client + > Coller l'URL copiée dans le navigateur, ou dans Postman, ou dans une commande curl. Ajouter les valeurs des paramètres de requête (pour notre cas d'utilisation définir le paramètre de requête "status" à 'Overdue' et le paramètre de requête "currencycode" à 'EUR', donc le chemin de ressource avec les paramètres de requête sera "/invoices?status=Overdue¤cycode=EUR") avant d'envoyer la requête + + ![API Call](/apification/images/APIcall.png) + + > Note : La réponse sera vide pour l'instant, ignorez donc le message d'erreur "empty response" de votre navigateur ou client * Consulter la transaction dans le Monitor et cliquer sur l'étape Database Select puis dérouler `GetInvoicesByStatusOutput->resultSet`. Les factures ont bien été récupérées ![transaction monitoring](../images/lab2-transaction-monitoring_.png) @@ -248,7 +249,7 @@ L'intégration doit ressembler à ceci: \ Dans cette étape, nous allons parcourir les factures, parser chacune d'entre elles dans un format JSON et effectuer une conversion du montant de la facture dans la devise souhaitée, qui sera transmise à l'appel API sous la forme d'un paramètre de requête * Désactiver l'intégration -* Cliquer sur le bouton plus et ajouter un composant For-each, l'agrandir et cliquer sur Config +* Cliquer sur le bouton `+` et ajouter un composant For-each, l'agrandir et cliquer sur Config * Sélectionner `GetInvoicesByStatusOutput->response->resultSet` en déroulant GetInvoicesByStatusOutput puis response, afin de boucler sur chaque élément du resultSet. Cliquer sur Save ![foreach configuration](../images/lab3-foreach-configuration_.png) * Convertissons le montant total des factures dans la devises désirée en utilisant l'API de conversion de devises APILayer @@ -297,13 +298,20 @@ Dans cette étape, nous allons parcourir les factures, parser chacune d'entre el ![integration](../images/lab3-integration_.png) * Activer l'intégration en faisant un appel d'API depuis un navigateur, Postman, ou curl comme suit: - ```bash - curl --location --request GET 'https://:9443/invoices?status=Overdue¤cycode=EUR' - ``` + + > Passer la souris sur l'icône du lien pour voir l'URL nécessaire à l'appel API et copier le lien. + + ![alt text](/apification/images/image.png) + + > Survoler l'icône du lien pour voir l'URL nécessaire pour l'appel API et copier le lien + + > Coller l'URL copiée dans le navigateur, ou dans Postman, ou dans une commande curl. Ajouter les valeurs des paramètres de requête (pour notre cas d'utilisation définir le paramètre de requête "status" à 'Overdue' et le paramètre de requête "currencycode" à 'EUR', donc le chemin de ressource avec les paramètres de requête sera "/invoices?status=Overdue¤cycode=EUR") avant d'envoyer la requête + + ![API Call](/apification/images/APIcall.png) * Retrouver l'intégration dans le Monitor et cliquer dessus. Un numéro doit apparaître dans le For-each indiquant le nombre de factures ![transaction monitoring](../images/lab3-transaction-monitoring.png) -* Cliquer sur le signe plus à côté du composant For-each puis cliquer sur une des itérations +* Cliquer sur le signe `+` à côté du composant For-each puis cliquer sur une des itérations * Cliquer sur HTTP/S Client Get puis dérouler la variable HTTPSGetOutput pour voir la réponse API de la conversion de devise ![transaction monitoring response details](../images/lab3-transaction-monitoring-response-details.png) @@ -357,9 +365,9 @@ Dans cette étape, nous allons mettre en correspondance (mapping) notre facture ![map2](../images/lab4-map2-AppendList.png) * Ajouter une fonction AddFloats * Tirer une ligne de `response->grandTotal` à `num1` - * Tirer une ligne de `InvoiceResponse->totalamnt` à `num2` + * Tirer une ligne de `InvoiceResponse->totalamt` à `num2` * Tirer une ligne de `output` à `response->grandTotal` - ![map2](../images/lab4-map2-AddFloats.png) + ![map2](../images/lab4-map2-addfloats.png) * Compléter le champ de réponse * Tirer une ligne de `HTTPSServerGetOutput->queryParams->currencycode` sur la gauche, vers `response->currency` sur la droite * Tirer une ligne de `HTTPSServerGetOutput->queryParams->status` sur la gauche, vers `response->status` sur la droite @@ -370,11 +378,17 @@ Dans cette étape, nous allons mettre en correspondance (mapping) notre facture L'intégration doit ressembler à ceci: ![integration](../images/lab4-integration.png) -* Activer l'intégration en faisant un appel API depuis un navigateur, Postman ou depuis Curl comme suit: - - ```bash - curl --location --request GET 'https://:9443/invoices?status=Overdue¤cycode=EUR' - ``` +* Activer l'intégration en faisant un appel API depuis un navigateur, Postman ou depuis Curl avec le même URL que précédemment comme suit: + + > Passer la souris sur l'icône du lien pour voir l'URL nécessaire à l'appel API et copier le lien. + + ![alt text](/apification/images/image.png) + + > Survoler l'icône du lien pour voir l'URL nécessaire pour l'appel API et copier le lien + + > Coller l'URL copiée dans le navigateur, ou dans Postman, ou dans une commande curl. Ajouter les valeurs des paramètres de requête (pour notre cas d'utilisation définir le paramètre de requête "status" à 'Overdue' et le paramètre de requête "currencycode" à 'EUR', donc le chemin de ressource avec les paramètres de requête sera "/invoices?status=Overdue¤cycode=EUR") avant d'envoyer la requête + + ![API Call](/apification/images/APICall2.png) Le résultat devrait ressembler à: diff --git a/apification/images/APICall2.png b/apification/images/APICall2.png new file mode 100644 index 0000000..b20edad Binary files /dev/null and b/apification/images/APICall2.png differ diff --git a/apification/images/APIcall.png b/apification/images/APIcall.png new file mode 100644 index 0000000..b838060 Binary files /dev/null and b/apification/images/APIcall.png differ diff --git a/apification/images/image.png b/apification/images/image.png new file mode 100644 index 0000000..d1020b1 Binary files /dev/null and b/apification/images/image.png differ diff --git a/asynchronous-integration/README.md b/asynchronous-integration/README.md index 4685bf0..8d8b94e 100644 --- a/asynchronous-integration/README.md +++ b/asynchronous-integration/README.md @@ -56,14 +56,14 @@ In this lab, we'll create the first flow that will poll Zoho Invoice for updated * Click on the Event button and select the Scheduler Component and configure for 60 seconds ![scheduler](images/lab1-scheduler.png) * Click Test to run the integration. This will initialize the Last Run time stamp, `LastRunDt-...`. This built in variable will always contain the timestamp of the last time the integration ran. We can use it for polling modifications in back end data sources. -* In order to query Zoho Invoice for updated invoices, we'll use the built in Last Run time stamp, `LastRunDt-...` to compare with the invoice *last_modified_time* times tamp, but we need to convert it to the Zoho Invoice Timestamp format using a Map function. Click on plus button and add a Map component and expand the bottom panel and add a DateFormat function +* In order to query Zoho Invoice for updated invoices, we'll use the built in Last Run time stamp, `LastRunDt-...` to compare with the invoice *last_modified_time* times tamp, but we need to convert it to the Zoho Invoice Timestamp format using a Map function. Click on `+` button and add a Map component and expand the bottom panel and add a DateFormat function * On the right hand panel, right click on a variable and add a String variable called *LastRunDt-formatted* * Drag a line from `LastRunDt-...` variable on the left hand side to the DateFormat function `sourceDate` * Right click on the DateFormat `sourceDateFormat` and set to `yyyy-MM-dd HH:mm:ss SSS` - * Right click on the DateFormat targetDateFormat and set to `yyyy-MM-dd'T'HH:mm:ssZ` + * Right click on the DateFormat `targetDateFormat` and set to `yyyy-MM-dd'T'HH:mm:ssZ` * Drag a line from DateFormat function `output` to the String variable you created above (e.g. *LastRunDt-formatted*) and click Save ![map](images/lab1-map.png) -* Now, we need to query Zoho Invoice for modified invoices. So, click the plus button to add an OpenAPI Client Invoke Operation component and expand the bottom panel. Click the Add button next to Connection so that we can create an OpenAPI Connection to your Zoho Invoice application and enter a name (e.g. Zoho API) and description. +* Now, we need to query Zoho Invoice for modified invoices. So, click the `+` button to add an OpenAPI Client Invoke Operation component and expand the bottom panel. Click the Add button next to Connection so that we can create an OpenAPI Connection to your Zoho Invoice application and enter a name (e.g. Zoho API) and description. * Follow the instructions [**here**](assets/zoho-api-instructions.md) and use the OAS doc [**here**](assets/Zoho-Invoice-oas3.json) to create you connection and don't forget to generate a token and test the connection ![openapi client connection](images/lab1-open-apiclient-connection.png) * Go back to the Integration and click on the OpenAPI Client Invoke Operation component and click refresh and select the connection you just created @@ -97,7 +97,7 @@ In this lab, we'll create the first flow that will poll Zoho Invoice for updated * Let's test it by adding an invoice to Zoho Invoice and then pressing the Test button in your integration (no need to enable the integration) * A new browser tab will open showing the transaction. You should see that one invoice was detected by looking at the For-each step ![transaction monitoring](images/lab1-transaction-monitoring.png) -* Click the plus sign next to For-each and again and see the Apache Publish step and click on it and expand both sides to see that your invoice was published +* Click the `+` sign next to For-each and again and see the Apache Publish step and click on it and expand both sides to see that your invoice was published ![transaction monitoring details](images/lab1-transaction-monitoring-details.png) Now that we can publish an updated invoice to Kafka, let's create a Kafka Consumer integration to consume the Kafka message and send a notification to Microsoft Teams @@ -215,7 +215,7 @@ We'll use the MS Teams Incoming Webhook Connector so that we can Post a message } ``` -* Replace the variables (e.g. {...}) by deleting them and clicking the plus button and selecting the appropriate variable from there and click Save and then Save again +* Replace the variables (e.g. {...}) by deleting them and clicking the `+` button and selecting the appropriate variable from there and click Save and then Save again ![https client post set value](images/lab2-https-client-post-set-value.png) * Now we're ready to test our integration which should look like this: ![integration](images/lab2-integration.png) diff --git a/asynchronous-integration/assets/zoho-api-instructions.md b/asynchronous-integration/assets/zoho-api-instructions.md index 17579d5..acfbea6 100644 --- a/asynchronous-integration/assets/zoho-api-instructions.md +++ b/asynchronous-integration/assets/zoho-api-instructions.md @@ -31,7 +31,7 @@ 9. Create a "server-based application" - Name the client "Axway Amplify Integration" - - Give the Homepage URL of your Amplify Integration instance + - Set the Homepage URL with the base URL of your Amplify Integration Control plane - Add "/design/oauth2/callback" to the same URL for the Authorized redirect URL![server-based application](zoho-api-instructions/image5.png) diff --git a/asynchronous-integration/fr/README.md b/asynchronous-integration/fr/README.md index de7417f..6531f5f 100644 --- a/asynchronous-integration/fr/README.md +++ b/asynchronous-integration/fr/README.md @@ -59,14 +59,14 @@ Dans cette étape, nous allons mettre en place le premier flux qui intérroge Zo * Cliquer sur le bouton Event, sélectionner l'évènement déclencheur Scheduler et le régler à 60 secondes ![scheduler](../images/lab1-scheduler.png) * Cliquer sur Test pour lancer l'intégration. Cette opération initialisera l'horodatage de la dernière exécution, `LastRunDt-...`. Cette variable intégrée contiendra toujours l'horodatage de la dernière exécution de l'intégration. Nous pourrons l'utiliser pour interroger à propos des modifications dans les sources de données backend. -* Afin d'interroger Zoho Invoice à propose des mises à jour de factures, nous utiliserons l'horodatage intégré de la dernière exécution, `LastRunDt-...` pour comparer avec l'horodatage de la facture modifiée `last_modified_time`. Mais pour cela nous devons le convertir au format d'horodatage de Zoho Invoice en utilisant une fonction Map. Cliquez sur le bouton plus pour ajouter un composant MAP puis étendez le panneau inférieur et ajoutez une fonction DateFormat +* Afin d'interroger Zoho Invoice à propose des mises à jour de factures, nous utiliserons l'horodatage intégré de la dernière exécution, `LastRunDt-...` pour comparer avec l'horodatage de la facture modifiée `last_modified_time`. Mais pour cela nous devons le convertir au format d'horodatage de Zoho Invoice en utilisant une fonction Map. Cliquez sur le bouton `+` pour ajouter un composant MAP puis étendez le panneau inférieur et ajoutez une fonction DateFormat * Sur le panneau de droite, effectuer un clic droit et ajouter une variable String nommé *LastRunDt-formatted* * Tirer une ligne de la variable `LastRunDt-...` qui se trouve sur le côté gauche, à la fonction DateFormat `sourceDate` * Faire un clic droit sur la variable de DateFormat `sourceDateFormat` et la configuer de cette manière: `yyyy-MM-dd HH:mm:ss SSS` * Faire un clic droit sur la variable de DateFormat `targetDateFormat` et la configurer de cette manière: `yyyy-MM-dd'T'HH:mm:ssZ` * Tirer une ligne de la fonction DateFormat `output` à la variable String créée au-dessus (par exemple: *LastRunDt-formatted*) et cliquer sur Save ![map](../images/lab1-map.png) -* Nous devons maintenant interroger Zoho Invoice à propos des factures mises à jour. Pour cela, cliquer sur le bouton plus pour ajouter un composant OpenAPI Client puis agrandir le panneau inférieur. Cliquer sur Add à côté de Connection afin de créer une connexion OpenAPI pour l'application ZohoInvoice et entrer un nom (par exemple: Zoho API) et une description. +* Nous devons maintenant interroger Zoho Invoice à propos des factures mises à jour. Pour cela, cliquer sur le bouton `+` pour ajouter un composant OpenAPI Client puis agrandir le panneau inférieur. Cliquer sur Add à côté de Connection afin de créer une connexion OpenAPI pour l'application ZohoInvoice et entrer un nom (par exemple: Zoho API) et une description. * Suivre ces [**instructions**](../fr/zoho-api-instructions.md) et utiliser le document OAS [**ci-joint**](../assets/Zoho-Invoice-oas3.json) pour créer une connexion. Ne pas oublier de générer un Token et de tester la connexion ![openapi client connection](../images/lab1-open-apiclient-connection.png) * Retourner à l'intégration et cliquer sur le composant OpenAPI Client, actualiser et sélectionner la connexion tout juste créée @@ -100,7 +100,7 @@ Dans cette étape, nous allons mettre en place le premier flux qui intérroge Zo * Testons-la en ajoutant une facture sur ZohoInvoice et en appuyant ensuite sur le bouton Test dans votre intégration (il n'est pas nécessaire d'activer l'intégration) * Un nouvel onglet de navigateur s'ouvre et affiche la transaction. Une facture devrait être visible au niveau de l'étape For-each ![transaction monitoring](../images/lab1-transaction-monitoring.png) -* Cliquer sur le signe plus à côté de For-each puis cliquer sur l'étape Apache Publish et dérouler les deux côtés pour voir que la facture a été publiée +* Cliquer sur le signe `+` à côté de For-each puis cliquer sur l'étape Apache Publish et dérouler les deux côtés pour voir que la facture a été publiée ![transaction monitoring details](../images/lab1-transaction-monitoring-details.png) Maintenant que nous pouvons publier une facture mise à jour sur Kafka, créons une intégration Kafka Consumer pour consommer le message Kafka et envoyer une notification à Microsoft Teams. @@ -218,7 +218,7 @@ Nous utiliserons le connecteur MS Teams Webhook afin de pouvoir poster un messag } ``` -* Remplacer les variables entre accolades (par ex: {invoice_number}) en les supprimant puis en cliquant sur le bouton plus et en sélectionnant les variables appropriées à cet endroit. Cliquer ensuite sur Save puis encore sur Save +* Remplacer les variables entre accolades (par ex: {invoice_number}) en les supprimant puis en cliquant sur le bouton `+` et en sélectionnant les variables appropriées à cet endroit. Cliquer ensuite sur Save puis encore sur Save ![https client post set value](../images/lab2-https-client-post-set-value.png) * Nous sommes maintenant prêts à tester notre intégration qui devrait ressembler à ceci : ![integration](../images/lab2-integration.png) diff --git a/asynchronous-integration/fr/zoho-api-instructions.md b/asynchronous-integration/fr/zoho-api-instructions.md index 5157e54..8bd3630 100644 --- a/asynchronous-integration/fr/zoho-api-instructions.md +++ b/asynchronous-integration/fr/zoho-api-instructions.md @@ -31,7 +31,7 @@ 9. Créez une "server-based application" - Nommez le client "Axway Amplify Integration" - - Donnez l'URL de la page d'accueil de votre instance Amplify Integration + - Entrez l'URL Racine de votre Control Plane Amplify Integration pour le Homempage URL - Ajoutez "/design/oauth2/callback" au même URL pour le redirect URL![server-based application](../assets/zoho-api-instructions/image5.png) 10. Notez le Client ID et Secret pour plus tard diff --git a/asynchronous-integration/images/lab1-kafka-connection.png b/asynchronous-integration/images/lab1-kafka-connection.png index ca90d12..759dcce 100644 Binary files a/asynchronous-integration/images/lab1-kafka-connection.png and b/asynchronous-integration/images/lab1-kafka-connection.png differ diff --git a/cloud-integration/README.md b/cloud-integration/README.md index 1d161c4..be57b69 100644 --- a/cloud-integration/README.md +++ b/cloud-integration/README.md @@ -91,7 +91,7 @@ In this lab, we'll set up a Salesforce push topic and start our integration by a In this lab, we'll retrieve the contact and desired fields based on the id from the new contact pushtopic. We'll use a Salesforce query component and a query Contact by id Plug. * Disable your integration to continue designing the integration -* Click the plus icon to add a step after the trigger event +* Click the `+` icon to add a step after the trigger event * Select a Salesforce query component and select your Salesforce Connection ![salesforce query component init](images/lab2-salesforce-query-component-init.png) * Click Add on the Plugs and name your Plug and give it a description (e.g. SFDC_Get_Contact_by_Id) and Configure it @@ -117,7 +117,7 @@ In this lab, we'll use the retrieved contact and insert it into Hubspot. We'll u * Follow [**this guide**](assets/hubspot-connection.md) to create Hubspot Connection * Disable your integration to continue designing the integration -* Click on the plus sign to add a new step to the integration and select a Hubspot Create component +* Click on the `+` sign to add a new step to the integration and select a Hubspot Create component ![add hubspot create component](images/lab3-add-hubspot-create-component.png) * Select the Hubspot connection you just created ![hubspot create component init](images/lab3-hubspot-create-component-init.png) @@ -137,7 +137,7 @@ In this lab, we'll use the retrieved contact and insert it into Hubspot. We'll u ![hubspot create component](images/lab3-hubspot-create-component.png) * Expand the ACTION PROPERTIES -> `HubspotCreateContactInput->create` to expose the Hubspot contact fields ![hubspot create component properties](images/lab3-hubspot-create-component-properties.png) -* In the left panel, expand `SFDC_Get_Contact_by_IdOutput/response/records[]` so you can see the Salesforce contact fields and connector each one to the corresponding Hubspot contact fields and click Save +* In the left panel, expand `SFDC_Get_Contact_by_IdOutput/response/records[]` so you can see the Salesforce contact fields and connect each one to the corresponding Hubspot contact fields and click Save ![hubspot create component input](images/lab3-hubspot-create-component-input.png) * Enable your integration and create a new Salesforce contact and see the new contact in Hubspot ![salesforce contact creation](images/lab3-salesforce-contact-creation.png) @@ -164,7 +164,14 @@ We'll use the MS Teams Incoming Webhook Connector so that we can Post a message ![https client post component](images/lab4-https-client-post-component.png) * In the ACTION PROPERTIES section, expand `HTTPSPostInput` to expose the body and right click on body and select SetValue ![https client post component setvalue](images/lab4-https-client-post-component-setvalue.png) -* Follow the screen shots below to type the POST body and press the + button to select Name and Email from `SFDCContactPushOutput` and press Save +* Copy the JSON text, and insert Name and Email as shown by positioning your cursor in the text and by pressing the `+` button to select "Name" and "Email" from `SFDCContactPushOutput`, then press "Save + + ```json + { + "Text": "Newly created Salesforce contact: () copied to Hubspot" + ‌} + ``` + ![https client post component setvalue variable1](images/lab4-https-client-post-component-setvalue-variable1.png) ![https client post component setvalue variable2](images/lab4-https-client-post-component-setvalue-variable2.png) ![https client post component setvalue text](images/lab4-https-client-post-component-setvalue-text.png) diff --git a/cloud-integration/assets/hubspot-connection.md b/cloud-integration/assets/hubspot-connection.md index 6b24d87..f7aa1c6 100644 --- a/cloud-integration/assets/hubspot-connection.md +++ b/cloud-integration/assets/hubspot-connection.md @@ -22,10 +22,10 @@ We will do the following: * Scroll down to the Redirect URLs and enter the following Redirect URL and press Save: `<>/design/oauth2/callback` ![hubspot04](hubspot-connection/hubspot04.png) -* Scroll down to the Scopes section and select your desired scopes. For example, I selected all CRM scopes below: - ![hubspot05](hubspot-connection/hubspot05_.png) +* Scroll down to the Scopes section and select your desired scopes. For example, I selected the contact CRM scopes below: + ![hubspot05](hubspot-connection/hubspot05.png) * We will need the list of selected scopes when we create the Amplify Integration Hubspot Connection. For my settings, they are as follows: -`crm.schemas.companies.write crm.schemas.contacts.write crm.schemas.deals.read crm.schemas.deals.write crm.objects.owners.read crm.objects.contacts.write crm.objects.companies.write crm.lists.write crm.objects.companies.read crm.lists.read crm.objects.deals.read crm.schemas.contacts.read crm.objects.deals.write crm.objects.contacts.read crm.schemas.companies.read crm.objects.custom.read crm.schemas.custom.read` +`crm.schemas.contacts.write crm.objects.contacts.write crm.schemas.contacts.read crm.objects.contacts.read oauth` ## Amplify Integration Hubspot Connection @@ -51,7 +51,7 @@ Now your Connection can be used in an integration but first let's test it out. * Create an integration and add a Scheduler trigger event and set to any value since we won't be turning it on ![hubspot15](hubspot-connection/hubspot15.png) ![hubspot16](hubspot-connection/hubspot16.png) -* Click the plus button and add a Hubspot Get All component to the integration +* Click the `+` button and add a Hubspot Get All component to the integration ![hubspot17](hubspot-connection/hubspot17.png) ![hubspot18](hubspot-connection/hubspot18.png) * Expand the bottom panel and select the Hubspot Connector you created above diff --git a/cloud-integration/assets/hubspot-connection/hubspot05.png b/cloud-integration/assets/hubspot-connection/hubspot05.png index 9113cc6..67fb894 100644 Binary files a/cloud-integration/assets/hubspot-connection/hubspot05.png and b/cloud-integration/assets/hubspot-connection/hubspot05.png differ diff --git a/cloud-integration/fr/README.md b/cloud-integration/fr/README.md index 253f42d..9e97f8d 100644 --- a/cloud-integration/fr/README.md +++ b/cloud-integration/fr/README.md @@ -93,7 +93,7 @@ Dans cette étape nous allons paramétrer un PushTopic Salesforce et commencer n Dans cette étape, nous allons récupérer le contact et les champs souhaités à partir l'identifiant du PushTopic du nouveau contact. Nous utiliserons un composant de requête Salesforce (Salesforce query component) et un plug de recherche de contact par identifiant * Désactiver l'intégration pour poursuivre le design -* Cliquer sur l'icône plus pour ajouter une étape après l'évènement déclencheur +* Cliquer sur l'icône `+` pour ajouter une étape après l'évènement déclencheur * Sélectionner le composant Salesforce Query et sélectionner la connexion Salesforce créée auparavant ![salesforce query component init](../images/lab2-salesforce-query-component-init.png) * Cliquer sur Add Plugs, nommer le Plug, lui donner une description (par ex: SFDC_Get_Contact_by_Id) et le configurer @@ -119,7 +119,7 @@ Dans cette étape, nous allons récupérer le contact et l'insérer dans Hubspot * Suivre [**ce guide**](../fr/hubspot-connection.md) pour créer une connexion Hubspot * Désactiver l'integration précédente pour continuer le design -* Cliquer sur le signe plus pour ajouter une nouvelle étape à l'intégration puis sélectionner le composant Hubspot Create +* Cliquer sur le signe `+` pour ajouter une nouvelle étape à l'intégration puis sélectionner le composant Hubspot Create ![add hubspot create component](../images/lab3-add-hubspot-create-component.png) * Sélectionner la connexion Hubspot tout juste créée ![hubspot create component init](../images/lab3-hubspot-create-component-init.png) @@ -166,7 +166,14 @@ Nous utiliserons le connecteur Webhook entrant de MS Teams afin de pouvoir poste ![https client post component](../images/lab4-https-client-post-component.png) * Dans la section ACTION PROPERTIES, développer `HTTPSPostInput` pour afficher le body, faire un clic droit sur body et sélectionner SetValue ![https client post component setvalue](../images/lab4-https-client-post-component-setvalue.png) -* Suivre les captures d'écran ci-dessous pour saisir le POST body et appuyer sur le bouton plus pour sélectionner Name et Email depuis `SFDCContactPushOutput` puis appuyer sur Save +* Copier le texte JSON suivant, puis insérer Name et Email comme illustré en positionnant le curseur sur le texte et en appuyant sur le bouton `+` pour sélectionner "Name" et "Email" depuis `SFDCContactPushOutput`, puis cliquer + + ```json + { + "Text": "Newly created Salesforce contact: () copied to Hubspot" + ‌} + ``` + ![https client post component setvalue variable1](../images/lab4-https-client-post-component-setvalue-variable1.png) ![https client post component setvalue variable2](../images/lab4-https-client-post-component-setvalue-variable2.png) ![https client post component setvalue text](../images/lab4-https-client-post-component-setvalue-text.png) diff --git a/cloud-integration/fr/hubspot-connection.md b/cloud-integration/fr/hubspot-connection.md index 5897ae9..08f003f 100644 --- a/cloud-integration/fr/hubspot-connection.md +++ b/cloud-integration/fr/hubspot-connection.md @@ -22,11 +22,10 @@ Nous ferons ce qui suit: * Faites défiler vers le bas jusqu'aux URLs de redirection puis entrez l'URL de redirection suivant, puis appuyez sur Save: `<>/design/oauth2/callback` ![hubspot04](../assets/hubspot-connection/hubspot04.png) -* Faites défiler vers le bas jusqu'à la section Scopes et sélectionnez les scopes souhaités. Par exemple, vous pouvez sélectionner tous les Scopes CRM (en lien avec les clients): - ![hubspot05](../assets/hubspot-connection/hubspot05_.png) +* Faites défiler vers le bas jusqu'à la section Scopes et sélectionnez les scopes souhaités. Par exemple, vous pouvez sélectionner les 4 Scopes CRM en lien avec les clients: + ![hubspot05](../assets/hubspot-connection/hubspot05.png) * Nous aurons besoin de la liste des Scopes lorsque nous créerons la connexion Hubspot sur Amplify Integration Hubspot. Pour cet exemple, ce sont les suivants: -`crm.schemas.companies.write crm.schemas.contacts.write crm.schemas.deals.read crm.schemas.deals.write crm.objects.owners.read crm.objects.contacts.write crm.objects.companies.write crm.lists.write crm.objects.companies.read crm.lists.read crm.objects.deals.read crm.schemas.contacts.read crm.objects.deals.write crm.objects.contacts.read crm.schemas.companies.read crm.objects.custom.read crm.schemas.custom.read` - +`crm.schemas.contacts.write crm.objects.contacts.write crm.schemas.contacts.read crm.objects.contacts.read oauth` ## Connexion Hubspot sur Amplify Integration * Créez une nouvelle connexion, sélectionnez Hubspot et donnez-lui un nom et une description @@ -51,7 +50,7 @@ Votre connexion peut désormais être utilisée dans une intégration. Mais avan * Créez une intégration et ajoutez un évènement déclencheur Scheduler et réglez le à n'importe quelle valeur étant donné que nous n'allons pas l'activer ![hubspot15](../assets/hubspot-connection/hubspot15.png) ![hubspot16](../assets/hubspot-connection/hubspot16.png) -* Cliquez sur le bouton plus pour ajouter un composant Hubspot Get All à votre intégration +* Cliquez sur le bouton `+` pour ajouter un composant Hubspot Get All à votre intégration ![hubspot17](../assets/hubspot-connection/hubspot17.png) ![hubspot18](../assets/hubspot-connection/hubspot18.png) * Étendez le panneau inférieur et sélectionnez le connecteur Hubspot créé précedemment @@ -59,7 +58,7 @@ Votre connexion peut désormais être utilisée dans une intégration. Mais avan * Nous avons maintenant besoin de créer un plug, pour cela cliquez sur Add à côté de Plugs. Donnez un nom puis cliquez sur Create ![hubspot20](../assets/hubspot-connection/hubspot20.png) ![hubspot21](../assets/hubspot-connection/hubspot21.png) -* Cliquez sur Configure, selectionnez le connecteur, choisissez Get All pour les Actions, contacts pour les Objects, sélectionnez les champs désirés (firstname, lastname, ...) cliquez sur Generate puis sur Saveand +* Cliquez sur Configure, selectionnez le connecteur, choisissez Get All pour les Actions, contacts pour les Objects, sélectionnez les champs désirés (firstname, lastname, ...) cliquez sur Generate puis sur Save ![hubspot22](../assets/hubspot-connection/hubspot22.png) * Retournez à l'intégration, sélectionnez le plug puis cliquez sur Save ![hubspot23](../assets/hubspot-connection/hubspot23.png) diff --git a/file-integration/fr/README.md b/file-integration/fr/README.md index ee80463..7986ac2 100644 --- a/file-integration/fr/README.md +++ b/file-integration/fr/README.md @@ -65,7 +65,7 @@ Testons maintenant l'intégration. * Une fois activée, passer la souris sur l'icône du lien pour voir l'URL SFTP et copier le lien ![integration](../images/lab1-integration-activation.png) * Télécharger le fichier leads.csv [**ici**](../assets/leads.csv) -* Lancez un client FTP (par exemple FileZilla) et créez une connexion SFTP au serveur SFTP en utilisant l'URL que vous venez de copier et les informations d'identification de la connexion et connectez-vous au serveur SFTP (si vous utilisez FileZilla, collez simplement l'URL SFTP dans le premier champ et cliquez sur connexion rapide. Assurez-vous de préfixer l'hôte par `sftp://` puis entrez le mot de passe). Sélectionnez le dossier `/incoming` pour le téléchargergement (c'est ce qui déclenchera votre intégration). +* Lancez un client FTP (par exemple FileZilla) et créez une connexion SFTP au serveur SFTP en utilisant l'URL que vous venez de copier et les informations d'identification de la connexion et connectez-vous au serveur SFTP (si vous utilisez FileZilla, collez simplement l'URL SFTP dans le premier champ et cliquez sur connexion rapide. Assurez-vous de préfixer l'hôte par `sftp://` puis entrez le mot de passe). Sélectionnez le dossier `/incoming` pour le téléchargement (c'est ce qui déclenchera votre intégration). ![filezilla connection](../images/lab1-filezilla-connection.png) * Uploader leads.csv dans le dossier distant `/incoming` ce qui déclenchera votre intégration * Aller sur le Monitor diff --git a/hello-world/README.md b/hello-world/README.md index 836244a..2a20014 100644 --- a/hello-world/README.md +++ b/hello-world/README.md @@ -106,7 +106,7 @@ Continue from Lab 1 ![Create Component](images/lab2-create-http-post-component-a.png) * Click save on the panel * Click the Test button to test your flow -* See results in webhook site and see the respurce path, Authorization Header and body +* See results in webhook site and see the resource path, Authorization Header and body ![Create Component](images/lab2-test-results-a.png) Your final integration should look like this: @@ -149,7 +149,7 @@ Continue from Lab 2 * Copy the endpoint URL of the integration on the data plane ![Enable Toggle](images/lab3-enable-c.png) * In a separate browser tab paste the URL and enter a value for value (e.g. 10) -* See results in webhook site and see the body should equal the value you provided as a query parameter +* See results in webhook site and see that the body should be equal to the value you provided as a query parameter ![Result](images/lab3-result-a.png) * Go to the Monitor and view the transaction and explore the information there that is useful for debugging ![Result](images/lab3-result-b.png) @@ -167,8 +167,8 @@ In this lab, we'll add some flow control logic and variables to our integration Continue from Lab 3 -* Disable to integration so it can be edited -* Click the plus sign between the two components and add an if-else +* Disable the integration so it can be edited +* Click the `+` sign between the two components and add an if-else ![If-else](images/lab4-ifelse-a.png) * Expand the If-else and label it "check value" ![If-else](images/lab4-ifelse-b.png) diff --git a/hello-world/fr/README.md b/hello-world/fr/README.md index c542b7f..1d99b13 100644 --- a/hello-world/fr/README.md +++ b/hello-world/fr/README.md @@ -180,7 +180,7 @@ Dans cette étape, nous allons ajouter une logique de contrôle de flux et des v Continuer à partir de l'étape 3 * Désactiver l'intégration afin de pouvoir la modifier -* Cliquer sur le signe plus entre les deux composants et ajouter un If-else +* Cliquer sur le signe `+` entre les deux composants et ajouter un If-else ![If-else](../images/lab4-ifelse-a.png) * Développer le If-else et l'étiqueter "check value" ![If-else](../images/lab4-ifelse-b.png)