Transcript
00:06 [Music]
00:10 Hey everybody, Joe Workman here and
00:12 today we're going to introduce you to
00:13 the new feeds API stack. Now before we
00:17 dive in, what is an API? Essentially, an
00:21 API is a way of giving programmatic
00:25 access to some sort of
00:29 data via pretty much the standard out
00:32 there is called JSON. So, this allows
00:34 people to query and access data from
00:37 your website programmatically.
00:41 Maybe that's if they want to integrate
00:42 with something like Zapier or active
00:44 pieces or they want to have their own
00:46 custom script that basically integrates
00:48 with data to run reports or whatnot.
00:51 Okay, feeds API makes creating your own
00:54 custom JSON API a
00:58 breeze. Let's dive in and have an actual
01:00 look. Okay, so here we are in a web
01:03 browser and as you can see this isn't
01:05 your typical web page. All we see here
01:07 is a bunch of data. Now, depending on
01:11 what browser you're using, the data
01:12 provided from a JSON API will look
01:15 different. Um, I have a very simple
01:17 example that we're going to look at
01:18 today. It just provides a few data
01:20 points that we can then filter and sort
01:22 through. Um, now, while you can use a
01:25 browser to access this, um, I do
01:27 recommend some other tools out there.
01:29 So, today I'm going to be using a tool
01:31 called Rapid API to kind of play around
01:33 with the API and kind of show you what
01:35 we can do.
01:37 So here I have
01:39 um an API and basically what what this
01:42 is is kind of like a textual browser,
01:44 right? So here I put in the URL and we
01:46 could pass URL parameters. I have those
01:48 turned off right now. Um but without any
01:50 parameters, my API is returning three
01:53 bits of data. Okay. And um now I do have
01:57 to say that we do have the ability to
01:58 have API keys. Okay. Okay, you can
02:00 either have them in something called a
02:01 HTTP header or you can actually have an
02:04 option to actually supply the API key
02:06 via the URL. Okay. Um, for security
02:09 reasons, it's probably better to have it
02:10 not in the URL, but it could be um a
02:14 better ease of use for your customers.
02:16 Okay? So, we have that option. Now, uh,
02:19 we also have the ability to do filters
02:21 just like we do with feeds. Um, we can
02:23 then do some URL based filters. So here
02:26 I'm want to filter for where the title
02:28 contains bridge. Okay. So um I'm going
02:31 to go ahead and refresh this. And we'll
02:34 notice that in the URL here is the URL.
02:36 If I were to paste this URL in the
02:37 browser, I'd get the same exact bit of
02:39 data. Uh but when I filter for title
02:42 equals bridge, it returns the one result
02:44 where bridge is actually in the title.
02:47 Okay. Now, there's a lot of really cool
02:49 um filters that we have with feeds. Um,
02:52 but this is just a simple one that kind
02:54 of just says, "Hey, does this word
02:56 contain?" Now, this is the actual feeds
02:59 demo project. And inside there, we'll
03:00 see that we have a feeds API stack. Now,
03:03 feeds API is an add-on for the feed
03:06 stack. So, you will need to have the
03:07 feed stack in order to use feeds API. It
03:11 does add this new stack to our library
03:13 though that we add to the page. Now
03:16 because this is a creates an API only
03:19 page um feeds API is really going to be
03:21 the only thing that you have on this
03:23 page. You shouldn't have anything
03:26 else. So in here I have um you know you
03:29 can configure your data feeds. So in
03:31 this example here I just have a CSV feed
03:34 um but you can uh configure depending on
03:36 what feeds add-ons you have. You can
03:38 have it configure to a database or any
03:40 other um feeds add-on. So let's dive
03:43 into the feeds API stack settings here.
03:46 You'll notice that at the beginning we
03:47 do have the ability to require API keys.
03:50 If you don't want that, you can easily
03:51 turn API keys off and then your API will
03:54 be available openly to the public. Now,
03:57 um, as I said earlier, we can have API
03:59 keys supplied via the, um, X API key
04:02 header, which if you notice here, when
04:04 you hover over the tool tip, it actually
04:06 kind of reminds you, uh, that you need
04:08 to have the API key defined in that X
04:10 API key authentication header. Uh, but
04:13 again, if you want to have them supplied
04:14 via the URL, you can do that as well.
04:17 And then you can supply the actual URL
04:20 parameter that needs to be added as the
04:23 key. Okay, so here I would add key
04:26 equals and then my API key to the URL in
04:29 order for that to
04:30 work. Now this is where we configure all
04:32 of our API keys. Now here you would have
04:35 you create your own API keys that you
04:37 want. Could be just some random strings
04:39 or whatever you like and it will be one
04:41 API key per row, right? So you would
04:44 just hit option return and then you can
04:47 do another API key. Okay, a lot of times
04:52 API keys maybe if you want to be fancy,
04:54 you can do something like one password
04:55 to create some API keys for you. Um, but
04:58 yeah, you can add as many of them here
05:00 as you would like. Now, one thing that's
05:03 nice is if you wanted to um remind
05:06 yourself who has a particular API key,
05:08 you can actually add comments into here.
05:11 Um, and so you can actually add, let's
05:13 say above each API key, you can add a
05:15 comment for who that API key is for. And
05:18 all of these lines with the comments
05:20 will be ignored. Essentially, any line
05:22 that starts with a hashtag will be
05:24 ignored. This is also a good way if you
05:26 just want to like temporarily um you
05:28 know disable a particular API key, you
05:30 can just prepend that with a hashtag and
05:33 uh we're good to go. That API key is now
05:36 disabled as long as you publish the
05:38 page. Now, next up, if you're using
05:40 Total CMS, you can actually integrate
05:42 with Total CMS 1 and Total CMS 3. you
05:45 just give it the object ID of the text
05:48 area that contains all of your API keys
05:50 and the same syntax that we have up here
05:53 is going to be applicable there. So this
05:55 allows us to maybe manage our API keys
05:57 online dynamically using total CMS1 or
06:00 the new total
06:02 CMS3. So the rest of the settings here
06:04 are really kind of basic settings that
06:06 are applicable to the feed stack. We
06:09 have dedicated videos for those for
06:10 sorting. So you can actually sort the
06:12 data that is returned if you need to.
06:15 Um, as you saw earlier, we did a dynamic
06:17 URL filter based on title. You can
06:20 actually do multiple different things.
06:21 There's a lot of different filter
06:23 options. So you can add all of the
06:25 filter options that feeds has directly
06:27 into your API. And remember, you also
06:29 have the um pre filter feed here as
06:32 well. Um, so that you get even if you
06:35 have multiple filters, you can actually
06:36 have many different filters if you want,
06:39 optional or required. um so that you can
06:41 filter your feed in all kinds of ways.
06:44 Um if you want to limit the amount of
06:45 data that is returned, you can do that
06:47 here. And then if you want to exclude
06:48 some data from your from your feed in
06:51 the API, you can do that as well. That's
06:53 all with feeds API. Super powerful tool.
06:57 If a JSON API is something that you
07:00 need, it's a no-brainer. Um creating
07:02 your own JSON API is difficult, but with
07:05 feeds API, it makes it done in minutes.
07:15 [Music]