Picture of An Introduction to Webhooks in Infigo | BG_082

An Introduction to Webhooks in Infigo | BG_082

This video provides an in-depth introduction to using webhooks within the Infigo platform. It explains the advantages of implementing webhooks over traditional API polling methods, highlighting how webhooks can automate notifications for various status updates like order completions, shipping, and printing events. The tutorial covers the configuration process, including setting up endpoints, selecting HTTP methods, and customizing headers for authentication. Viewers will also learn how to manage data formats and optimize webhook settings based on urgency and event volume, ensuring efficient and scalable integrations for their systems. This session is essential for users looking to enhance their workflow automation with Infigo's webhook capabilities.

Tutorial Video Transcript

A transcript of our tutorial video, ensuring you can find exactly what you need, when you need it.

You can search this page to find the relevant time-stamp in the video. Also, this text can be used as part of the tutorial search feature.

00:00:05:14 - 00:00:10:03
So, a quick introduction to, webhooks.

00:00:10:03 - 00:00:14:17
We have those in the system for a while,
but actually actively

00:00:14:17 - 00:00:16:01
promoting those right now.

00:00:16:01 - 00:00:19:07
Maybe very quickly
for those who don't know,

00:00:19:07 - 00:00:24:26
what this is for, but, basically, 
the API is a

00:00:24:26 - 00:00:28:27
one way direction
where you query Infigo about information.

00:00:29:09 - 00:00:33:18
So that means in case
you want to understand about changes,

00:00:33:18 - 00:00:39:03
you would have to consistently ask the API
for changes, and poll information.

00:00:39:20 - 00:00:43:17
And the webhook system
will allow you to set up and configure

00:00:44:22 - 00:00:49:09
endpoints
where Infigo will send out, an event.

00:00:50:05 - 00:00:55:00
So basically you would be notified
about those changes as they happen.

00:00:55:10 - 00:01:00:00
And basically you wouldn't have to poll,
saving yourself some resources, us

00:01:00:01 - 00:01:00:27
some resources.

00:01:00:27 - 00:01:06:11
We have some customers who will actually
use this quite extensively right now.

00:01:06:11 - 00:01:10:11
So they can certainly benefit from,
switching over to webhooks

00:01:10:11 - 00:01:13:25
for those status updates
when items are being,

00:01:15:15 - 00:01:19:17
printed, shipped, orders completed, etc..

00:01:20:12 - 00:01:26:09
The for the sake of this demonstration,
I will quickly set up one.

00:01:26:14 - 00:01:27:17
Obviously.

00:01:27:17 - 00:01:32:14
I don't have a, an endpoint
which would consume this for that,

00:01:32:14 - 00:01:36:08
I use a service called pipedream,
which I'll show you in a second, though.

00:01:36:09 - 00:01:39:16
It's just visually, possible to see this,

00:01:40:04 - 00:01:43:04
but when you go to webhooks and admin,

00:01:44:06 - 00:01:46:25
we can set up a new one

00:01:46:25 - 00:01:49:25
and, basically can give this,

00:01:50:04 - 00:01:52:10
a name.

00:01:52:10 - 00:01:57:19
And, the main important thing
for webhook is that you specify

00:01:57:19 - 00:02:01:27
an endpoint, which we should call one
when this, comes in,

00:02:02:16 - 00:02:05:21
and pipedream,
basically this is a service

00:02:05:21 - 00:02:10:27
which you can use to set up
and do some of those, migration tasks.

00:02:10:27 - 00:02:13:16
But obviously you would use
your application for it.

00:02:13:16 - 00:02:17:00
We it just gives us an endpoint
which we can call.

00:02:17:01 - 00:02:20:05
So I can copy this,

00:02:20:05 - 00:02:23:11
into, the clipboard and use this

00:02:24:21 - 00:02:25:05
here.

00:02:25:05 - 00:02:30:20
And then I can specify different methods
if it is a get or a post or,

00:02:30:24 - 00:02:34:24
some additional Http
verbs can be used as well.

00:02:35:06 - 00:02:37:26
You can add some headers here
for authentication

00:02:37:26 - 00:02:40:17
or anything else in order
you want to use this.

00:02:40:17 - 00:02:42:29
And maybe it was important.

00:02:42:29 - 00:02:46:21
You can change the mode
how those webhooks are being triggered.

00:02:47:08 - 00:02:51:15
The default one is delayed,
which means whenever the change happens,

00:02:51:23 - 00:02:57:22
it doesn't send the web
hook out immediately, it patches them up.

00:02:57:22 - 00:03:01:06
A background task process
is that that is just very good for us

00:03:01:26 - 00:03:04:04
to, save resources.

00:03:04:04 - 00:03:07:11
And if it's not really time critical,
it wouldn't matter

00:03:07:11 - 00:03:10:11
if there is a slight delay
in a few minutes.

00:03:10:22 - 00:03:15:11
Delayed in batches will basically actually
send out large batches.

00:03:15:11 - 00:03:18:21
So if for large
volume sites where you have

00:03:20:09 - 00:03:22:18
hundreds, if not thousand orders a day

00:03:22:18 - 00:03:25:18
and a lot of things move,
that makes a lot more sense

00:03:25:18 - 00:03:28:23
because you will not get individual
calls for each one.

00:03:28:23 - 00:03:30:21
But actually it batches them up.

00:03:30:21 - 00:03:34:08
They will be some sort of a CSV
style data

00:03:34:09 - 00:03:37:16
being sent to you
where you have an information about,

00:03:37:28 - 00:03:41:20
all the elements which are being changed
for the sake of the demonstration.

00:03:41:21 - 00:03:45:09
You do time critical,
which send them out, very quickly.

00:03:45:20 - 00:03:49:22
As soon as the event happens,
and then you can specify

00:03:50:00 - 00:03:53:01
what is the entity
your you want to be informed about,

00:03:53:01 - 00:03:56:03
and all the customer
order line and product and changes.

00:03:56:11 - 00:04:01:24
And you can say what would be the events
you would like status updates

00:04:01:29 - 00:04:06:00
canceled, status deleted, created, updated
or all of the above.

00:04:06:00 - 00:04:09:25
And basically that's
when this, webhook will be triggered.

00:04:10:04 - 00:04:13:09
And you can use multiple webhooks
for different things,

00:04:13:24 - 00:04:16:09
for different statuses
that will have them combine.

00:04:16:09 - 00:04:20:10
And then you can finally specify
the data type, and you see

00:04:20:10 - 00:04:24:16
a sample of what this would look like
and that you can use Chasity, XML, etc..

00:04:24:29 - 00:04:27:23
And what is also very nice is,
for example,

00:04:27:23 - 00:04:30:22
you can use XSLT to transform this data

00:04:30:22 - 00:04:34:14
to a format which your site understands.

00:04:34:14 - 00:04:40:02
You can test this XSLT transformation here
to see, what this will look like.

00:04:40:02 - 00:04:44:24
But for now we will basically
send just some standard,

00:04:46:03 - 00:04:48:17
XML for this, purpose.

00:04:48:17 - 00:04:50:28
So, let's say you can create this,

00:04:50:28 - 00:04:55:20
this webhook and now theoretically,
as soon as something changes,

00:04:56:09 - 00:04:59:09
we should see this coming up here.

00:05:00:01 - 00:05:02:00
And because I've done an order line

00:05:02:00 - 00:05:05:00
change, we could go into share print ups

00:05:05:18 - 00:05:08:18
quickly.

00:05:08:21 - 00:05:11:14
And choose one of our

00:05:11:14 - 00:05:12:24
jobs.

00:05:12:24 - 00:05:13:23
Michael. Just quickly.

00:05:13:23 - 00:05:14:00
Yeah.

00:05:14:00 - 00:05:17:01
Thing is just, Sorry,
I won't get you on for this,

00:05:17:01 - 00:05:19:01
because it might be a short
question answer,

00:05:19:01 - 00:05:21:11
but if you've got anything else
you want to add, you can jump on.

00:05:21:11 - 00:05:24:11
But is this where the webhook,

00:05:24:23 - 00:05:27:04
feature available,
had been already available

00:05:27:04 - 00:05:29:02
to all of our customers
on the call at the moment?

00:05:29:02 - 00:05:32:07
Yes, it is. It is available. Right.

00:05:32:09 - 00:05:36:14
So you should be able to find it in admin
just by searching webhook inputs.

00:05:37:01 - 00:05:39:17
So for example,
if I change the status here now

00:05:40:17 - 00:05:42:24
it will update here.

00:05:42:24 - 00:05:47:05
And under the hood the entire system
will send out the webhook

00:05:47:05 - 00:05:50:05
based on the configuration we've had here.

00:05:50:29 - 00:05:53:13
And if all goes well

00:05:53:13 - 00:05:56:13
we should see popping up here.

00:05:58:21 - 00:06:13:03
To be there.

00:06:13:06 - 00:06:14:24
It just took some time.

00:06:14:24 - 00:06:17:04
I took some time. And let's see here.

00:06:17:04 - 00:06:18:15
Now, they came in.

00:06:18:15 - 00:06:22:26
Seem even time critical is not immediate,
but it will send it out fairly quickly.

00:06:23:15 - 00:06:28:03
And then you see here, or the events,
the status code which came back

00:06:28:26 - 00:06:31:26
and you can see the original request,

00:06:32:03 - 00:06:35:03
the transformed request,
in case I would have used the data.

00:06:36:20 - 00:06:39:28
You see the response which came from Pipe
Dream and the response headers.

00:06:40:28 - 00:06:45:19
And when we go in here,
we also see them coming in. Now

00:06:47:09 - 00:06:49:07
you can inspect them in a bit more detail.

00:06:49:07 - 00:06:52:07
What is the data which have been

00:06:53:08 - 00:06:56:08
which has been, transformed here.

00:06:56:23 - 00:07:00:29
And you see here our ID for example,
and the name

00:07:02:02 - 00:07:04:06
of those changes,

00:07:04:06 - 00:07:09:20
and here as well, for example,
this instance, I just set it up

00:07:09:20 - 00:07:14:14
that it stores the data of those changes,
and pings

00:07:14:14 - 00:07:17:14
them in,

00:07:18:15 - 00:07:20:01
in a request store.

00:07:20:01 - 00:07:23:01
And that's basically how you can do this.

00:07:24:11 - 00:07:29:05
So Mark, with if,
if a customer is, going to want to fetch

00:07:29:05 - 00:07:31:12
some information from Infigo,
what sort of questions

00:07:31:12 - 00:07:34:14
they need to ask themselves to determine
whether they should do it

00:07:34:14 - 00:07:37:23
via the API or, or via
the webhooks as well.

00:07:37:25 - 00:07:43:10
It's basically whenever you, you, you or
you want to to look at is a status update.

00:07:43:10 - 00:07:47:16
That's where you should start using
the webhook instead rather than polling.

00:07:48:06 - 00:07:52:21
Because obviously if you poll
and you have a couple

00:07:52:21 - 00:07:56:14
of hundred active jobs
there, that is a couple hundred active

00:07:56:14 - 00:08:01:29
API, calls when you do one for the order
and then several for the order lines.

00:08:01:29 - 00:08:04:04
Potentially it adds up even more.

00:08:04:04 - 00:08:08:15
While this will get you that information
whenever you needed based on the change.

00:08:08:15 - 00:08:11:13
So it saves resources on on your end.

00:08:11:13 - 00:08:15:20
It saves resources on our end and makes
the integration much nicer and smooth.

00:08:15:20 - 00:08:19:26
And when you think about larger scale
platforms with many orders,

00:08:20:09 - 00:08:23:22
doing it through
polling is is almost ridiculous.

00:08:24:08 - 00:08:26:05
Webhook is the way to go.

00:08:26:05 - 00:08:28:06
And this is it's very flexible in the way
it is being.

00:08:28:06 - 00:08:33:16
It can be set up to different events,
different transformations on the data.

00:08:33:16 - 00:08:36:27
You could use Get requests
or Post requests, etc.

00:08:37:11 - 00:08:41:15
to really fill, 
whatever you use to, to consume this.

 

Incomplete
Q&A

Q: Why can't I access the webhook functionality mentioned in this tutorial?
A: We may need to provide access to webhook management on your platform. Please contact Customer Support who can enable this for you.

Alternate Search Terms

Individual Search Words:
notifications, automation, integration, triggers, endpoints, configuration, real-time, status, events, connectivity

Alternate Search Phrases:
automatic notifications setup, event-driven updates, API-less communication, configure status alerts, manage data endpoints, webhook automation tutorial, system event monitoring, instant status updates, integration setup guide, real-time event handling