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.