Picture of Distribution of Connect: Flow Outputs  | CI_Flow_004

Distribution of Connect: Flow Outputs | CI_Flow_004

Here, we will learn of the options available to distribute output files generated by the Connect: Flow plugin when orders are placed. Several methods are available, including: FTP API Email Hotfolder Webhooks Which one(s) you choose (you are able to enable more than one at once) will depend on your own configuration, and what your third-party application is capable of linking to.

Tutorial Video Transcript

00:00:08:20 - 00:00:10:15
Here we’ll learn of the options

00:00:10:15 - 00:00:14:18
available to distribute output files
generated by the Connect Flow plugin.

00:00:14:18 - 00:00:16:20
When orders are placed.

00:00:16:20 - 00:00:18:10
There are several methods available.

00:00:18:10 - 00:00:20:03
This includes

00:00:20:11 - 00:00:23:12
posting to FTP, posting to API

00:00:23:28 - 00:00:27:06
emails, hot folders and web hooks.

00:00:28:02 - 00:00:30:23
Which one or multiple you choose

00:00:31:01 - 00:00:33:07
and you are able to choose
more than one at once

00:00:33:07 - 00:00:36:27
will depend on your own configuration
and what your third party

00:00:36:27 - 00:00:40:28
application is capable of linking to.

00:00:41:16 - 00:00:44:00
So we'll start off with post to FTP.

00:00:44:24 - 00:00:46:15
So I'm just going to activate that
first of all,

00:00:46:15 - 00:00:49:19
to get the additional settings.

00:00:51:29 - 00:00:54:27
So the first thing we need is FTP details.

00:00:55:06 - 00:01:00:12
So this allows output documents
to be sent directly to an FTP endpoint.

00:01:01:10 - 00:01:04:28
The expected format of the end
point would be an FTP link.

00:01:05:06 - 00:01:08:00
So for example, using the FTP name

00:01:08:05 - 00:01:11:25
or an IP address,
the format may look something similar to

00:01:13:22 - 00:01:15:16
say something like this.

00:01:15:16 - 00:01:16:19
So ftp.

00:01:16:19 - 00:01:18:27
Example dot com forward slash job tickets.

00:01:19:15 - 00:01:22:06
Alternatively, it might be an IP address,
so you might have

00:01:22:06 - 00:01:23:20
something like

00:01:25:29 - 00:01:26:13
this.

00:01:26:13 - 00:01:31:13
For example,
if the FTP needs authentication,

00:01:31:14 - 00:01:34:14
the username and password

00:01:34:14 - 00:01:37:07
and user
domain are required in these fields.

00:01:37:07 - 00:01:39:19
Here.

00:01:43:10 - 00:01:43:22
Okay.

00:01:43:22 - 00:01:46:05
So next we have post to API.

00:01:46:06 - 00:01:49:24
So again, we can just activate that
checkbox to see the additional settings.

00:01:51:05 - 00:01:53:21
The first thing we need
is the API end point.

00:01:53:21 - 00:01:54:22
URL

00:01:54:22 - 00:01:59:15
So enter an API end
point required to specify the destination

00:01:59:15 - 00:02:01:06
of the output file.

00:02:01:06 - 00:02:05:07
And this can either be http or https

00:02:05:07 - 00:02:07:19
endpoints.

00:02:09:18 - 00:02:13:18
We then have http headers,
so use this field.

00:02:13:18 - 00:02:16:24
If you require to configure HTTP headers

00:02:17:01 - 00:02:19:02
against your API endpoint.

00:02:20:00 - 00:02:23:00
So an example here might be for example.

00:02:24:06 - 00:02:24:16
Well, as

00:02:24:16 - 00:02:28:00
you can see in the example below,
it could be

00:02:28:19 - 00:02:31:05
something like this
header name colon value.

00:02:31:24 - 00:02:34:06
Each line is parsed individually

00:02:34:24 - 00:02:40:14
and the first colon is the divider.

00:02:40:14 - 00:02:43:29
So each line is divided into a key
and a value pair.

00:02:44:12 - 00:02:47:09
Data should be valid,
should be one per line,

00:02:47:16 - 00:02:55:28
and this is an optional setting.

00:02:58:20 - 00:03:01:06
We have one API call per order line.

00:03:01:12 - 00:03:05:18
So this selects whether we send one
API call for the entire order

00:03:05:28 - 00:03:09:08
or a separate API call for different order
lines.

00:03:09:26 - 00:03:12:14
Deselecting the checkbox as it is
by default

00:03:12:24 - 00:03:15:16
will send one API call
for the entire order.

00:03:16:03 - 00:03:20:03
Selecting this checkbox will send separate
API calls for each job

00:03:20:03 - 00:03:26:21
within the order.

00:03:26:21 - 00:03:30:29
So use basic authentication
so it's unchecked by default.

00:03:31:00 - 00:03:36:05
However, if your API end Point expects
authentication, select this checkbox

00:03:36:10 - 00:03:41:25
and enter the relevant username
and password in the fields below it.

00:03:45:06 - 00:03:48:11
The next section is API response handling.

00:03:48:11 - 00:03:52:17
So these settings provide the ability
to define some API response handling,

00:03:52:28 - 00:03:55:00
beginning with success flags.

00:03:56:14 - 00:03:58:24
So your API endpoint must allow

00:03:58:24 - 00:04:02:20
for this in order
to utilize this functionality to begin

00:04:02:20 - 00:04:05:04
select the format of the error handling

00:04:06:18 - 00:04:09:07
this is defining the formats
in which a response

00:04:09:07 - 00:04:13:21
will be received from your third
party system and your available options.

00:04:13:21 - 00:04:17:07
Here are JSON, XML Plain Text All

00:04:17:07 - 00:04:26:24
No handling at all.

00:04:26:24 - 00:04:28:23
If I select access now
in here, for example,

00:04:28:23 - 00:04:30:28
you can see if we get a new option
available

00:04:32:18 - 00:04:36:25
or few new options,
the first of which is success, flag, path.

00:04:36:25 - 00:04:41:13
So the expected response from your API
would be an object.

00:04:42:01 - 00:04:46:22
Within that object you may have entities
such as the success flag.

00:04:46:22 - 00:04:50:21
The Success Flag path
allows you to specify the specific path

00:04:50:27 - 00:04:52:22
to the required information.

00:04:52:22 - 00:04:55:06
And this could be, for example, such as

00:04:57:17 - 00:04:59:21
border dot success, dot response

00:05:06:00 - 00:05:08:21
next time we have available success
values.

00:05:09:01 - 00:05:12:03
This allows you to define
what success values are.

00:05:12:15 - 00:05:16:06
For example, here we have true t

00:05:16:12 - 00:05:19:27
success and 1 marked as success values.

00:05:20:11 - 00:05:24:14
If the response from the third party
system is any of these defined values,

00:05:24:21 - 00:05:27:03
then the action is considered
to be successful.

00:05:27:22 - 00:05:30:03
You can use a pipe delimiter to separate

00:05:30:03 - 00:05:33:03
those different success values

00:05:35:03 - 00:05:37:06
we then have negate success value.

00:05:37:15 - 00:05:40:23
So this is switching
the behavior of the above settings.

00:05:41:03 - 00:05:44:29
So any match with the success values
specified above will mean

00:05:44:29 - 00:05:57:02
the process has instead failed.

00:05:57:02 - 00:06:00:10
The next section down
is error information.

00:06:00:28 - 00:06:03:09
So here we can add a new error path

00:06:06:01 - 00:06:09:06
and we can add a new info path
if we wish to as well.

00:06:09:06 - 00:06:11:08
So we'll cover both of these at once.

00:06:11:08 - 00:06:14:17
We can specify error or information
pieces.

00:06:15:08 - 00:06:19:01
By clicking these buttons, you are
presented with some additional options.

00:06:20:03 - 00:06:21:20
So the additional path fields

00:06:21:20 - 00:06:24:29
that we get, so error path and info path.

00:06:25:13 - 00:06:29:17
As with the success section,
you specify a format type

00:06:29:25 - 00:06:35:08
and enter the path of the response
to look out for if the path exists at all.

00:06:35:08 - 00:06:36:25
In the response from the third party

00:06:36:25 - 00:06:40:17
system,
the status of the job is set to MIS failed

00:06:40:26 - 00:06:45:09
and the contents of that error path
is included for additional information,

00:06:46:01 - 00:06:49:24
a similar process is followed to obtain
additional information from the response

00:06:50:03 - 00:06:57:09
without specifying the job failed.

00:06:57:09 - 00:07:00:06
That's the API section completed there.

00:07:01:09 - 00:07:03:27
Hot folders
we covered in the initial setup.

00:07:04:19 - 00:07:05:25
But just as

00:07:06:14 - 00:07:10:24
for completeness context, in this case
it is possible to add your generated

00:07:10:24 - 00:07:15:07
output document to one of your specified
hot folders within your Infigo system.

00:07:15:24 - 00:07:20:08
If linked, using Infigo
sync to an external folder outside of the

00:07:20:08 - 00:07:23:27
iInfigo system,
it is also able to push the file

00:07:23:27 - 00:07:30:09
out of the specified folder.

00:07:30:09 - 00:07:33:11
So once you've activated the drop to hot
folder section,

00:07:33:18 - 00:07:36:15
we just need to enter the ID
number of the folder

00:07:36:26 - 00:07:39:15
and a list of available hot
folders is detailed

00:07:39:15 - 00:07:42:27
underneath here.

00:07:42:27 - 00:07:46:04
So these hot folders are configured
independently within Infigo

00:07:46:14 - 00:07:50:10
and more information on configuring hot
folders can be found

00:07:50:10 - 00:07:59:01
within the Infigo Academy.

00:07:59:01 - 00:08:02:20
We have send two emails,
so enter an email address.

00:08:02:20 - 00:08:04:19
Within the email address is field

00:08:04:19 - 00:08:08:06
to submit an email
containing the output document content.

00:08:08:06 - 00:08:12:12
So please note this places the output
document content within the email body,

00:08:12:19 - 00:08:14:05
not as an attachment,

00:08:15:08 - 00:08:16:19
and multiple email addresses

00:08:16:19 - 00:08:25:01
can be defined with a comma separator.

00:08:25:01 - 00:08:25:13
Okay.

00:08:25:14 - 00:08:29:00
So we can apply an XSLT
to the emails as well.

00:08:29:00 - 00:08:31:28
So this is an XSLT
transformations script

00:08:32:11 - 00:08:36:14
that can be selected
or inputs here aimed at reformatting

00:08:36:14 - 00:08:40:15
the text placed
into the body of the email.

00:08:40:15 - 00:08:43:11
So this works the same way
as the one we saw in a previous tutorial.

00:08:43:22 - 00:08:47:03
You can enter custom information
here, custom formatting,

00:08:47:15 - 00:08:58:01
or you can select from a predefined list.

00:08:58:01 - 00:09:00:23
We then have webhook.

00:09:00:23 - 00:09:03:24
So if for example, you wish to send status
updates

00:09:03:24 - 00:09:07:06
back to Infigo,
you can do this via web hooks.

00:09:07:23 - 00:09:11:00
Your third
party system must be specifically allowing

00:09:11:00 - 00:09:16:04
for this
in order to utilize this functionality.

00:09:16:04 - 00:09:19:29
So webhook links and additional
information related to web hooks

00:09:20:05 - 00:09:23:09
can be found at the very bottom
of the connect

00:09:23:09 - 00:09:31:24
flow configuration page.

00:09:31:24 - 00:09:39:27
You can also see additional information
by clicking on this button here.

00:09:39:27 - 00:09:42:20
So just to summarize
this additional webhook information,

00:09:43:02 - 00:09:48:11
this section contains detailed information
such as file format configurations.

00:09:48:19 - 00:09:52:24
The Infigo system is expecting,
along with order of actions

00:09:53:01 - 00:09:56:06
and a list of available statuses
that we can actually change

00:09:56:06 - 00:10:12:14
it to.

00:10:12:14 - 00:10:17:09
Going back up to the webhook configuration
settings, we also have a shared secret.

00:10:17:28 - 00:10:21:04
So this relates to authentication
around the use of web hooks

00:10:21:04 - 00:10:23:03
and is used to protect access.

00:10:24:01 - 00:10:25:17
Specify whether

00:10:25:17 - 00:10:29:27
the shared secret is shared in the XML
or in the header,

00:10:29:27 - 00:10:44:23
and generate the shared secret code
from within the interface.

00:10:44:23 - 00:10:47:16
So we've got allow CIDR ranges

00:10:47:28 - 00:10:52:29
so this specified allows us to specify IPs
which are allowed access

00:10:53:06 - 00:10:56:19
so you can leave this field empty
to allow all IPs to have access

00:11:00:25 - 00:11:03:06
XSLT for incoming calls.

00:11:03:15 - 00:11:08:23
This is the message which is received from
the third party system to update status.

00:11:08:23 - 00:11:12:27
It's used to transform incoming data
to a known JSON structure,

00:11:13:06 - 00:11:15:20
and this is required for webhook actions

00:11:18:18 - 00:11:20:25
and then XSLT for response.

00:11:20:25 - 00:11:25:11
This is the message which is sent to
the third party system in response used.

00:11:25:11 - 00:11:28:01
For example,
if the third party system requires

00:11:28:01 - 00:11:31:24
acknowledgment of success
or failure of the status update,

00:11:33:00 - 00:11:33:16
it's used to

00:11:33:16 - 00:11:38:23
transform incoming data to a known
JSON structure, and this is a requirement

00:11:39:00 - 00:11:44:16
for webhook actions.

 

Incomplete
Step by Step Guide

Distribution of Connect: Flow Outputs

Here, we will learn of the options available to distribute output files generated by the Connect: Flow plugin when orders are placed. Several methods are available, including:

  • FTP

  • API

  • Email

  • Hotfolder

  • Webhooks

Which one(s) you choose (you are able to enable more than one at once) will depend on your own configuration, and what your third-party application is capable of linking to.

Creation Date: Jul 11, 2023
Created By: Sam Webster

1. Post to FTP

Activate distribution to FTP by enabling the Post to FTP checkbox

Post to FTP

2. Enter FTP details

Allows output documents to be send directly to an FTP endpoint.

Expected format for the endpoint would be an FTP link, for example using the FTP name or an IP address. The format may look similar to below:

ftp://example.com/job-tickets

ftp://123.43565.com/job-tickets

If the FTP needs authentication, the Username, password and User domain are required.

Enter FTP details

3. Post to API

Activate distribution to API by enabling the Post to API checkbox

Post to API

4. API Endpoint URL

Enter the API endpoint, required to specify the destination of the output file.

This can be either a http or https endpoint.

API Endpoint URL

5. Http Headers

Use this field if you require to configure Http headers against your API endpoint.

Example: headerName:value
Each line is parsed individually.The first “:” is the divider.

Each line is divided into Key: Value pair.

Data should be valid. Should be one per line. This is an optional setting

Http Headers

6. One API call per orderline

Select whether to send one API call for the entire order, or a separate API call per orderline.

Deselecting this checkbox will send one API call for the order.

Selecting thi checkbox will send a separate API call for each job within the order.

One API call per orderline

7. Use Basic Authentication

Unchecked by default, however if your API endpoint expects authentication select this checkbox and enter the username and password below it.

Use Basic Authentication

8. API response handling

These settings provide the ability to define some API response handling, beginning with success flags.

Your API endpoint must allow for this in order to utilise this functionality.

To begin, select the format of the error handling. This is defining the format in which a response will be received from your third-party system.

Your available options are:

  • JSON

  • XML

  • Plain Text

  • No handling

API response handling

9. Success Path Flag

The expected response from your API call would be an object. Within that object you may have entities such as the success flag.

The Success flag path allows you to specify the specific path to the required information, such as "Order.Success.Response".

Success Path Flag

10. Available success values

Allows you define what success values are.

For example, here we have "true","t","success" and "1" marked as success values.

If the response from the third-party system is any of these defined values then the action is considered successful.

Use the pipe "|" delimiter to separate different success values.

Available success values

11. Negate success value

Switch the behaviour of the above settings.

Any match with the success values specified above this means the process has failed.

Negate success value

12. Add new error path and Add new info path

Specify error paths or information pieces. By clicking these buttons, you are presented with some additional options.

Add new error path and Add new info path

13. Additional path fields

As with the success section, specify a format type and enter the path of the response to look out for.

If the path exists at all in the response from the third-party system, the status of the job is set to MIS failed and the content of that error path is included for additional information.

A similar process is followed to obtain additional information from the response, without specifying the job as failed.

Additional path fields

14. Drop to Hotfolder

It is possible to add your generated output document to one of your specified Hotfolders within your Infigo system.

If linked using Infigo Sync to an external folder outside of the Infigo system, it is also able to push the file out to the specified folder.

Select Drop to Hotfolder to activate this.

Drop to Hotfolder

15. Enter the ID number for the Hotfolder.

Available Hotfolders are listed below this field. These Hotfolders are configured independently within Infigo.

Search for Hot Folders within the Infigo Academy for tutorial resources on this topic.

Enter the ID number for the Hotfolder.

16. Send to emails

Enter an email address to submit an email containing the output document content.

Note: This places the output document content within the email body, not as an attachment.

Multiple email addresses can be defined with the comma separator.

Send to emails

17. Apply XSLT

An XSLT transformation script can be selected or input here aimed at reformatting the text placed into the body of the email.

Apply XSLT

18. Enabled Webhook

If, for example, you wish to send status updates back to Infigo you can do this via webhooks. Your third-party system must specifically allow for this in order to utilise the functionality.

Enabled Webhook

19. Webhook links and additional information related to the webhooks can be found at the very bottom of the Connect: Flow configuration page.

Webhook links and additional information related to the webhooks can be found at the very bottom of the Connect: Flow configuration page.

20. Click on Show more information

Click on Show more information

21. Additional webhook information

This section contains detailed information such as file format configurations the Infigo system is expecting, along with order of actions and a list of available status' to change to.

Additional webhook information

22. Shared Secret mode

This relates to authentication around the use of webhooks and is used to protect access.

Specify whether the shared secret is shared in the XML or header, and generate the Shared Secret code from within this interface.

Shared Secret mode

23. Allowed CIDR Ranges

Specify the IPs which are allowed access. Leave this field empty to allow all IPs to have access.

Allowed CIDR Ranges

24. XSLT for incoming calls

This is the message which is received from the third-party system to update the status.

Used to transform incoming data to a known JSON structure. This is a requirement for webhook actions.

XSLT for incoming calls

25. XSLT for Response

This is the message which is sent to the third-party system in response. Used, for example, if the third-party system requires acknowledgement of success/failure of the status update.

Used to transform incoming data to a known JSON structure. This is a requirement for webhook actions.

XSLT for Response
Alternate Search Terms