SlideShare a Scribd company logo
1 of 50
Download to read offline
How to Build Complex Calls to
APIs (Without Writing Any Code)
Just getting started with REST
APIs?
How to Connect to Any REST API (Without Writing
Any Code)
Meet the Presenters
Sanae Mendoza
FME Server Support
Specialist
Sienna Emery
FME Server Support
Specialist
Agenda
What we’re covering today.
● Intro to FME
● Did you know the HTTPCaller
could do that?
● Building HTTP “SQL” Queries
● Turning cURL into HTTP Calls
● Building Custom Web Tools
● Pagination in the HTTPCaller
Our Mission
To help you maximize the value of your data.
FME®
Integration Platform
Connect. Transform. Automate.
FME Desktop
Build & Run Data Workflows
Get a free trial of FME Desktop and FME Server at safe.com
FME Server
Automate Data Workflows
FME Cloud
Hosted FME Server
FME Mobile
Deliver the Power of
FME to Mobile
Connect Your Data Sources Transform Your Data Automate Your Workflows
Integrate and convert information
across 400+ applications.
450+ powerful transformers
safe.com/transformers | hub.safe.com
Build event based workflows in a visual
interface
Did you know the HTTPCaller could do that?
New and Advanced Features.
Cookies
A small chunk of data given a user’s
web browser by the server. The
“cookie” is exchanged back and forth,
so that the server can track that user’s
requests.
All About Cookies
Cookies are Stateful.
Both the client and server keep a record of the ongoing “session” with a
unique cookie.
Typical Uses for Cookies
Authentication. Keeping you logged in.
User Personalization. Dark mode or light mode.
Tracking. Following you around the internet.
Maintaining a Session inside a Workspace
The HTTPCaller
Response Headers (Feature Information)
Concurrency
Multiple requests can be sent and
processed at the same time
(make your workflows faster!)
Concurrency / Looping Options
Control how many HTTP requests you send at one time
Sending one request at a time might slow down your workspace.
By increasing the number of concurrent requests allowed, you can process
multiple requests at the same time. This can provide significant
performance benefits.
(Just make sure the HTTP server allows it!)
HTTPCaller Racing
50 requests 1 request
Rate Limiting
The number of HTTP requests
allowed to be made within a given
time period.
Working within server rate limits
Some servers limit how many requests can be sent in a time frame. Exceeding those
limits can result in an error or temporary block.
Control the maximum number of requests that can be made within a time frame to
make sure your workspaces always run smoothly.
Rate Limiting
What is the API rate limit here? 1 per year?
Building HTTP “SQL” Queries
Dynamically build HTTP queries in your workspaces
API “Databases”
Socrata Open Data Portal
Online platform for government, non-profit, and NGO datasets.
Socrata Open Data API (SODA)
A tabular “database” that can be accessed programmically.
Webinar: Open Data… Automated! Using FME with Socrata
Don’t forget the Socrata Reader and Writer
Combining HTTP parameters with Structured Query Language (SQL)
SoQL (Socrata Query Language) allows for complex queries, functions, or analysis.
(See also: GraphQL, SOQL (Salesforce Query Language), PostgREST….)
SoQL queries are sent with REST calls just like parameters. Append a query to an API
endpoint to pull specific data from an API accessible dataset.
API Query Languages
e.g. ROUND(123.4545, 2) = 123.4500
Traffic Camera Demo
The Goal
I want to pull traffic
cameras along my
routes, I need to
build a SoQL clause
to use the Socrata
API.
The Obstacles
I’m not familiar
with API query
languages and the
traffic camera
dataset is very
large.
The Solution
I can use FME to
dynamically build
SoQL clauses so that
I can pull just the
data I need each
time.
The Result
Socrata is queried
for each route.
I can leverage SoQL
queries to make my
workflows more
efficient.
Turning cURL into HTTP Calls
What to do when the API documentation is written in cURL
API Documentation
Ever get confused by API documentation
like this?
Some API documentation may be written
in cURL or a programming language
Question of the Week: Web Services,
cURL, and the HTTPCaller
cURL
● Client URL
● A command line tool that is most
likely already installed on your
machine
● Works for HTTP calls, FTP, and much
more!
● FME uses it in the HTTPCaller
Want to learn more?
Using Postman
Using Postman (a free
tool!) cURL can be
automatically transformed
into HTTP requests
Understanding cURL
https://idratherbewriting.com/learnapidoc/docapis_understand_curl.html
cURL Description
-X HTTP Method
-H Header
-F Form content. This causes
curl to POST data using
the Content-Type
multipart/form-data
Need more?
Demo Intro
Colorize through deep
learning API
Uploading Attachments
There are many ways to upload files using the HTTPCaller. Read the API documentation
to determine which to use!
Downloading Attachments
Files can be downloaded directly in the HTTPCaller! This sends the response body to a
file instead of an attribute.
Photo Processing Demo
The Goal
I have a series of
photos I’d like to
send to an API for
processing.
The Obstacles
I’m not a
programmer and
I’m unsure how to
use cURL.
The Solution
I can use FME and
Postman to break
down this cURL into
an HTTP Request I
can easily use in the
HTTPCaller
The Result
I can now
automatically
process photos
without writing any
code or use a
command line tool!
Building Custom Web Tools
Introducing Custom Transformers
A sequence of standard transformers becomes… a custom transformer!
5 reasons to Custom Transformers
1. Organization. Separate workspace content into tabs on the canvas.
2. Flexibility. Use existing custom transformers as a prototype, or tweak your own.
3. Efficiency. Reuse sequences of transformers across workspaces.
4. The FMX file. Share it with others or publish it to FME Hub.
5. Custom. Develop personalized FME tools that fit your workflows.
Embedded transformers are stored with the workspace.
Linked transformers’ definitions are stored as an external file
(.fmx). If the definition changes, all workspaces will be updated to
reflect those changes.
Where do I find them?
The Transformer Gallery in FME Workbench or The FME Hub, a
library of custom transformers and resources.
How do I make one?
Select a group of transformers, right click and select “Create
Custom Transformer....” Give it a name, description, and set up
user parameters.
Building Custom Web Tools in FME
The Goal
I need a tool that
sends text
messages via API so
that I can quickly
add it to my
organization's
workspaces.
The Obstacles
There is not a
transformer that
fits my needs and it
is not convenient to
configure the API
request each time.
The Solution
I can “wrap up” a
sequence of
transformers, with
an API request, into a
convenient package.
The Result
I can reuse and
share a custom
transformer that
accepts, sends, and
processes my API
requests.
Pagination in the HTTPCaller
Getting all the data you need!
Pagination
If an API is returning many results, the results are often broken down into pages so
the responses from the API are kept short. This is similar to a web page displaying
results on different pages to not overwhelm users.
Pagination Variables
Just like this page on FME Hub, HTTP calls often let you select the number of results per
page and how many pages you’d like to return.
Using pagination in FME
I’d like to retrieve FME Server job statistics, but the FME Server REST API will only let me
retrieve 1000 jobs at a time. How would I retrieve all jobs from a certain date in FME?
Example attributes for pagination
Attribute Definition
limit (integer) limits how many items are returned by this call.
Could set it to 10 to only retrieve 10 jobs at a time.
offset (integer) Offset of this results page
To loop or not to loop
Typically, getting all the results
from every page in a REST call
requires a loop in a custom
transformer.
However, you don’t necessarily
need a loop if you know how
many pages you need in advance.
Okay, I need to loop
● In FME looping functionality can be found in custom transformers
● Loops can be added by right clicking on the canvas and selecting Insert
Transformer Input, then Insert Transformer Loop
Looping Considerations
● Without the right logic, it is very easy
to create an infinite loop!
● Avoid blocking transformers if
possible. Blocking transformers can
only be used in linked transformers
which are much more difficult to
troubleshoot
● Set the HTTPCaller concurrency to 1
Pagination demo
The Goal
I’d like to pull data
from all FME Server
jobs around a
certain date
The Obstacles
I need to make
multiple calls to
the FME Server API
to get all results
The Solution
I can use a loop in a
custom transformer
to get all the results
The Result
Using FME, I can
get all the results I
need in an easy
way
Tips & Tricks
● The documentation should have all
you need to know about working
with REST APIs
● External tools like Postman can be
an easy way to test the workflow
● Start small and build complexity
● Developer tools in a browser can
be used to help understand the
calls being made
● Fiddler can be used to track
requests and response
Which REST API service are
you using? How can we help
you get connected?
Poll:
Which REST API training content are you most interested
in?
● Creating your own Web Services
● Debugging HTTP errors
● Web Mapping and Applications
● Parsing JSON
● Other (chat out anything missed!)
Getting Started
Download FME 2021.0 Download the
workspaces from this
webinar
Try connecting to a
REST API!
Free Trial | Upgrade
Webinars
How to Connect to Any API (Without Writing Any Code)
A Step-By-Step Guide to Building Codeless Web Apps
Automating the Enterprise with Event-Driven Workflows
Useful Links More Resources...
Getting Started with APIs
FME Server REST API Training
Creating Web Connections
FME Hub
FME Community
Q&A
Thank you!
Try out your REST API workflow today!
Connect with us for more FME

More Related Content

What's hot

Producing Apple IMDF Datasets with FME
Producing Apple IMDF Datasets with FMEProducing Apple IMDF Datasets with FME
Producing Apple IMDF Datasets with FMESafe Software
 
Quality Assurance of FME Scripts
Quality Assurance of FME ScriptsQuality Assurance of FME Scripts
Quality Assurance of FME ScriptsSafe Software
 
List Manipulation in FME
List Manipulation in FMEList Manipulation in FME
List Manipulation in FMESafe Software
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power appsMitul Rana
 
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoFernando Lopez Aguilar
 
Integrating with salesforce using platform events
Integrating with salesforce using platform eventsIntegrating with salesforce using platform events
Integrating with salesforce using platform eventsAmit Chaudhary
 
Choosing domain and IP address for Salesforce Marketing Cloud
Choosing domain and IP address for Salesforce Marketing CloudChoosing domain and IP address for Salesforce Marketing Cloud
Choosing domain and IP address for Salesforce Marketing CloudArek Rafflewski
 
How to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce LimitsHow to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce LimitsRoy Gilad
 
Microservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App CloudMicroservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App Cloudpbattisson
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST APINishanth Kadiyala
 
Power of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EnginePower of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EngineManish Kumar Yadav
 
How to get prepared for SharePoint Syntex
How to get prepared for SharePoint SyntexHow to get prepared for SharePoint Syntex
How to get prepared for SharePoint SyntexNicolas Georgeault
 
REST & API Management with the WSO2 ESB
REST & API Management with the WSO2 ESBREST & API Management with the WSO2 ESB
REST & API Management with the WSO2 ESBWSO2
 
What Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint OnlineWhat Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint OnlineAndrea Mondello
 
Integrate OutSystems With Office 365
Integrate OutSystems With Office 365Integrate OutSystems With Office 365
Integrate OutSystems With Office 365OutSystems
 
dokumen.tips_huawei-network-icon-database-v2.ppt
dokumen.tips_huawei-network-icon-database-v2.pptdokumen.tips_huawei-network-icon-database-v2.ppt
dokumen.tips_huawei-network-icon-database-v2.pptFelipeSarmiento15
 
Better Meetings with Microsoft Teams
Better Meetings with Microsoft TeamsBetter Meetings with Microsoft Teams
Better Meetings with Microsoft TeamsDavid J Rosenthal
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoSalesforce Developers
 

What's hot (20)

Producing Apple IMDF Datasets with FME
Producing Apple IMDF Datasets with FMEProducing Apple IMDF Datasets with FME
Producing Apple IMDF Datasets with FME
 
Dynamic Workflows
Dynamic WorkflowsDynamic Workflows
Dynamic Workflows
 
Quality Assurance of FME Scripts
Quality Assurance of FME ScriptsQuality Assurance of FME Scripts
Quality Assurance of FME Scripts
 
List Manipulation in FME
List Manipulation in FMEList Manipulation in FME
List Manipulation in FME
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power apps
 
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
 
Integrating with salesforce using platform events
Integrating with salesforce using platform eventsIntegrating with salesforce using platform events
Integrating with salesforce using platform events
 
Choosing domain and IP address for Salesforce Marketing Cloud
Choosing domain and IP address for Salesforce Marketing CloudChoosing domain and IP address for Salesforce Marketing Cloud
Choosing domain and IP address for Salesforce Marketing Cloud
 
How to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce LimitsHow to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce Limits
 
Microservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App CloudMicroservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App Cloud
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST API
 
Power of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EnginePower of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X Engine
 
How to get prepared for SharePoint Syntex
How to get prepared for SharePoint SyntexHow to get prepared for SharePoint Syntex
How to get prepared for SharePoint Syntex
 
REST & API Management with the WSO2 ESB
REST & API Management with the WSO2 ESBREST & API Management with the WSO2 ESB
REST & API Management with the WSO2 ESB
 
What Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint OnlineWhat Makes for a Successful Migration to SharePoint Online
What Makes for a Successful Migration to SharePoint Online
 
Integrate OutSystems With Office 365
Integrate OutSystems With Office 365Integrate OutSystems With Office 365
Integrate OutSystems With Office 365
 
dokumen.tips_huawei-network-icon-database-v2.ppt
dokumen.tips_huawei-network-icon-database-v2.pptdokumen.tips_huawei-network-icon-database-v2.ppt
dokumen.tips_huawei-network-icon-database-v2.ppt
 
Better Meetings with Microsoft Teams
Better Meetings with Microsoft TeamsBetter Meetings with Microsoft Teams
Better Meetings with Microsoft Teams
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We Do
 
Power platform power automate in a day
Power platform   power automate in a dayPower platform   power automate in a day
Power platform power automate in a day
 

Similar to How to Build Complex Calls to APIs Without Code

How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)Safe Software
 
Building a REST API Interface With FME
Building a REST API Interface With FMEBuilding a REST API Interface With FME
Building a REST API Interface With FMESafe Software
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningArul ChristhuRaj Alphonse
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologySafe Software
 
Back to FME School - Day 2: Your Data and FME
Back to FME School - Day 2: Your Data and FMEBack to FME School - Day 2: Your Data and FME
Back to FME School - Day 2: Your Data and FMESafe Software
 
A Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME ServerA Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME ServerSafe Software
 
Web Connections & Services in FME Webinar
Web Connections & Services in FME WebinarWeb Connections & Services in FME Webinar
Web Connections & Services in FME WebinarSafe Software
 
Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...
Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...
Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...Safe Software
 
A Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME ServerA Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME ServerSafe Software
 
Infrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & AnsibleInfrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & Ansiblewajrcs
 
By: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony TrivinoBy: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony Trivinowebhostingguy
 
Deep Dive into FME Server 2014
Deep Dive into FME Server 2014Deep Dive into FME Server 2014
Deep Dive into FME Server 2014Safe Software
 
Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsTechieVarsity
 
Building Applications with Rest API and TM1Web - Ambrus Vancso
Building Applications with Rest API and TM1Web - Ambrus VancsoBuilding Applications with Rest API and TM1Web - Ambrus Vancso
Building Applications with Rest API and TM1Web - Ambrus VancsoAmbrus Vancso
 
FME 2020 Platform Scenarios
FME 2020 Platform ScenariosFME 2020 Platform Scenarios
FME 2020 Platform ScenariosSafe Software
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureToru Kawamura
 

Similar to How to Build Complex Calls to APIs Without Code (20)

How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)How to Connect to Any REST API (Without Writing Any Code)
How to Connect to Any REST API (Without Writing Any Code)
 
Building a REST API Interface With FME
Building a REST API Interface With FMEBuilding a REST API Interface With FME
Building a REST API Interface With FME
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI Technology
 
Back to FME School - Day 2: Your Data and FME
Back to FME School - Day 2: Your Data and FMEBack to FME School - Day 2: Your Data and FME
Back to FME School - Day 2: Your Data and FME
 
A Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME ServerA Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME Server
 
Web Connections & Services in FME Webinar
Web Connections & Services in FME WebinarWeb Connections & Services in FME Webinar
Web Connections & Services in FME Webinar
 
Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...
Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...
Web Connections & Services in FME: Tips & Tricks to Setting Up and Harnessing...
 
A Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME ServerA Safer's Guide to Best Practices for Optimizing Jobs on FME Server
A Safer's Guide to Best Practices for Optimizing Jobs on FME Server
 
Infrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & AnsibleInfrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & Ansible
 
By: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony TrivinoBy: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony Trivino
 
Deep Dive into FME Server 2014
Deep Dive into FME Server 2014Deep Dive into FME Server 2014
Deep Dive into FME Server 2014
 
It and ej
It and ejIt and ej
It and ej
 
Unveiling FME 2016
Unveiling FME 2016Unveiling FME 2016
Unveiling FME 2016
 
Ftp servlet
Ftp servletFtp servlet
Ftp servlet
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questions
 
Building Applications with Rest API and TM1Web - Ambrus Vancso
Building Applications with Rest API and TM1Web - Ambrus VancsoBuilding Applications with Rest API and TM1Web - Ambrus Vancso
Building Applications with Rest API and TM1Web - Ambrus Vancso
 
FME 2020 Platform Scenarios
FME 2020 Platform ScenariosFME 2020 Platform Scenarios
FME 2020 Platform Scenarios
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the future
 

More from Safe Software

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
The Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemThe Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemSafe Software
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISSafe Software
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriSafe Software
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfSafe Software
 
Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Safe Software
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
New Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersNew Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersSafe Software
 
Taking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsTaking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsSafe Software
 
Initiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategySafe Software
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Safe Software
 
Mastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMEMastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMESafe Software
 
Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Safe Software
 
Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework Safe Software
 
Bringing Open Data Integration to the (SWECO) People
Bringing Open Data Integration to the (SWECO) PeopleBringing Open Data Integration to the (SWECO) People
Bringing Open Data Integration to the (SWECO) PeopleSafe Software
 

More from Safe Software (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
The Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemThe Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data Ecosystem
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GIS
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & Esri
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
 
Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
New Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersNew Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s Founders
 
Taking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsTaking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New Heights
 
Initiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
 
Mastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMEMastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FME
 
Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...
 
Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework
 
Bringing Open Data Integration to the (SWECO) People
Bringing Open Data Integration to the (SWECO) PeopleBringing Open Data Integration to the (SWECO) People
Bringing Open Data Integration to the (SWECO) People
 

Recently uploaded

Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

How to Build Complex Calls to APIs Without Code

  • 1. How to Build Complex Calls to APIs (Without Writing Any Code)
  • 2. Just getting started with REST APIs? How to Connect to Any REST API (Without Writing Any Code)
  • 3. Meet the Presenters Sanae Mendoza FME Server Support Specialist Sienna Emery FME Server Support Specialist
  • 4. Agenda What we’re covering today. ● Intro to FME ● Did you know the HTTPCaller could do that? ● Building HTTP “SQL” Queries ● Turning cURL into HTTP Calls ● Building Custom Web Tools ● Pagination in the HTTPCaller
  • 5. Our Mission To help you maximize the value of your data.
  • 6. FME® Integration Platform Connect. Transform. Automate. FME Desktop Build & Run Data Workflows Get a free trial of FME Desktop and FME Server at safe.com FME Server Automate Data Workflows FME Cloud Hosted FME Server FME Mobile Deliver the Power of FME to Mobile
  • 7. Connect Your Data Sources Transform Your Data Automate Your Workflows Integrate and convert information across 400+ applications. 450+ powerful transformers safe.com/transformers | hub.safe.com Build event based workflows in a visual interface
  • 8. Did you know the HTTPCaller could do that? New and Advanced Features.
  • 9. Cookies A small chunk of data given a user’s web browser by the server. The “cookie” is exchanged back and forth, so that the server can track that user’s requests.
  • 10. All About Cookies Cookies are Stateful. Both the client and server keep a record of the ongoing “session” with a unique cookie. Typical Uses for Cookies Authentication. Keeping you logged in. User Personalization. Dark mode or light mode. Tracking. Following you around the internet.
  • 11. Maintaining a Session inside a Workspace The HTTPCaller Response Headers (Feature Information)
  • 12. Concurrency Multiple requests can be sent and processed at the same time (make your workflows faster!)
  • 13. Concurrency / Looping Options Control how many HTTP requests you send at one time Sending one request at a time might slow down your workspace. By increasing the number of concurrent requests allowed, you can process multiple requests at the same time. This can provide significant performance benefits. (Just make sure the HTTP server allows it!)
  • 15. Rate Limiting The number of HTTP requests allowed to be made within a given time period.
  • 16. Working within server rate limits Some servers limit how many requests can be sent in a time frame. Exceeding those limits can result in an error or temporary block. Control the maximum number of requests that can be made within a time frame to make sure your workspaces always run smoothly. Rate Limiting What is the API rate limit here? 1 per year?
  • 17. Building HTTP “SQL” Queries Dynamically build HTTP queries in your workspaces
  • 18. API “Databases” Socrata Open Data Portal Online platform for government, non-profit, and NGO datasets. Socrata Open Data API (SODA) A tabular “database” that can be accessed programmically. Webinar: Open Data… Automated! Using FME with Socrata Don’t forget the Socrata Reader and Writer
  • 19. Combining HTTP parameters with Structured Query Language (SQL) SoQL (Socrata Query Language) allows for complex queries, functions, or analysis. (See also: GraphQL, SOQL (Salesforce Query Language), PostgREST….) SoQL queries are sent with REST calls just like parameters. Append a query to an API endpoint to pull specific data from an API accessible dataset. API Query Languages e.g. ROUND(123.4545, 2) = 123.4500
  • 20. Traffic Camera Demo The Goal I want to pull traffic cameras along my routes, I need to build a SoQL clause to use the Socrata API. The Obstacles I’m not familiar with API query languages and the traffic camera dataset is very large. The Solution I can use FME to dynamically build SoQL clauses so that I can pull just the data I need each time. The Result Socrata is queried for each route. I can leverage SoQL queries to make my workflows more efficient.
  • 21. Turning cURL into HTTP Calls What to do when the API documentation is written in cURL
  • 22. API Documentation Ever get confused by API documentation like this? Some API documentation may be written in cURL or a programming language Question of the Week: Web Services, cURL, and the HTTPCaller
  • 23. cURL ● Client URL ● A command line tool that is most likely already installed on your machine ● Works for HTTP calls, FTP, and much more! ● FME uses it in the HTTPCaller Want to learn more?
  • 24. Using Postman Using Postman (a free tool!) cURL can be automatically transformed into HTTP requests
  • 25. Understanding cURL https://idratherbewriting.com/learnapidoc/docapis_understand_curl.html cURL Description -X HTTP Method -H Header -F Form content. This causes curl to POST data using the Content-Type multipart/form-data Need more?
  • 26. Demo Intro Colorize through deep learning API
  • 27. Uploading Attachments There are many ways to upload files using the HTTPCaller. Read the API documentation to determine which to use!
  • 28. Downloading Attachments Files can be downloaded directly in the HTTPCaller! This sends the response body to a file instead of an attribute.
  • 29. Photo Processing Demo The Goal I have a series of photos I’d like to send to an API for processing. The Obstacles I’m not a programmer and I’m unsure how to use cURL. The Solution I can use FME and Postman to break down this cURL into an HTTP Request I can easily use in the HTTPCaller The Result I can now automatically process photos without writing any code or use a command line tool!
  • 30. Building Custom Web Tools Introducing Custom Transformers
  • 31. A sequence of standard transformers becomes… a custom transformer!
  • 32. 5 reasons to Custom Transformers 1. Organization. Separate workspace content into tabs on the canvas. 2. Flexibility. Use existing custom transformers as a prototype, or tweak your own. 3. Efficiency. Reuse sequences of transformers across workspaces. 4. The FMX file. Share it with others or publish it to FME Hub. 5. Custom. Develop personalized FME tools that fit your workflows.
  • 33. Embedded transformers are stored with the workspace. Linked transformers’ definitions are stored as an external file (.fmx). If the definition changes, all workspaces will be updated to reflect those changes. Where do I find them? The Transformer Gallery in FME Workbench or The FME Hub, a library of custom transformers and resources. How do I make one? Select a group of transformers, right click and select “Create Custom Transformer....” Give it a name, description, and set up user parameters.
  • 34. Building Custom Web Tools in FME The Goal I need a tool that sends text messages via API so that I can quickly add it to my organization's workspaces. The Obstacles There is not a transformer that fits my needs and it is not convenient to configure the API request each time. The Solution I can “wrap up” a sequence of transformers, with an API request, into a convenient package. The Result I can reuse and share a custom transformer that accepts, sends, and processes my API requests.
  • 35. Pagination in the HTTPCaller Getting all the data you need!
  • 36. Pagination If an API is returning many results, the results are often broken down into pages so the responses from the API are kept short. This is similar to a web page displaying results on different pages to not overwhelm users.
  • 37. Pagination Variables Just like this page on FME Hub, HTTP calls often let you select the number of results per page and how many pages you’d like to return.
  • 38. Using pagination in FME I’d like to retrieve FME Server job statistics, but the FME Server REST API will only let me retrieve 1000 jobs at a time. How would I retrieve all jobs from a certain date in FME?
  • 39. Example attributes for pagination Attribute Definition limit (integer) limits how many items are returned by this call. Could set it to 10 to only retrieve 10 jobs at a time. offset (integer) Offset of this results page
  • 40. To loop or not to loop Typically, getting all the results from every page in a REST call requires a loop in a custom transformer. However, you don’t necessarily need a loop if you know how many pages you need in advance.
  • 41. Okay, I need to loop ● In FME looping functionality can be found in custom transformers ● Loops can be added by right clicking on the canvas and selecting Insert Transformer Input, then Insert Transformer Loop
  • 42. Looping Considerations ● Without the right logic, it is very easy to create an infinite loop! ● Avoid blocking transformers if possible. Blocking transformers can only be used in linked transformers which are much more difficult to troubleshoot ● Set the HTTPCaller concurrency to 1
  • 43. Pagination demo The Goal I’d like to pull data from all FME Server jobs around a certain date The Obstacles I need to make multiple calls to the FME Server API to get all results The Solution I can use a loop in a custom transformer to get all the results The Result Using FME, I can get all the results I need in an easy way
  • 44. Tips & Tricks ● The documentation should have all you need to know about working with REST APIs ● External tools like Postman can be an easy way to test the workflow ● Start small and build complexity ● Developer tools in a browser can be used to help understand the calls being made ● Fiddler can be used to track requests and response
  • 45. Which REST API service are you using? How can we help you get connected?
  • 46. Poll: Which REST API training content are you most interested in? ● Creating your own Web Services ● Debugging HTTP errors ● Web Mapping and Applications ● Parsing JSON ● Other (chat out anything missed!)
  • 47. Getting Started Download FME 2021.0 Download the workspaces from this webinar Try connecting to a REST API! Free Trial | Upgrade
  • 48. Webinars How to Connect to Any API (Without Writing Any Code) A Step-By-Step Guide to Building Codeless Web Apps Automating the Enterprise with Event-Driven Workflows Useful Links More Resources... Getting Started with APIs FME Server REST API Training Creating Web Connections FME Hub FME Community
  • 49. Q&A
  • 50. Thank you! Try out your REST API workflow today! Connect with us for more FME