Connectors

Osmos HTTP API: “The Super Connector”

Written by 
JD Prater
March 24, 2022

APIs present a wealth of business opportunities. With APIs, devs can quickly implement existing functionality instead of creating solutions from scratch. They act as the glue that enables these otherwise disconnected software solutions—such as those for customer relationship management(CRM), database, and financial services—to interact with ease.

Now you can dynamically talk to any API with Osmos. Osmos can talk to practically any SaaS application and pull data from it or push data to it. It's like a super connector!

If you already have some way that you are receiving data on your servers, you can point Osmos at that endpoint and your dev team doesn't have to rework APIs they already have. We can also send data to APIs they already have in place.

CSV to API: How to Ingest Clean CSV Files Without Writing Code

HTTP API: Source or Destination Connector

Question number one, what direction do you want to send the data? Is this a Source Connector for an Osmos Pipeline or is this a Destination Connector? In each case, you have two options: either “Osmos calls your API” or “Call an Osmos API.”

osmos http api source connector

4 Potential Connectors via API

  1. Call an Osmos API as a Source Connector (Post)
  2. Call an Osmos API as a Destination Connector (Get)
  3. Osmos Calls Your API as a Source Connector
  4. Osmos Calls Your API as a Destination Connector
http api 2x2

1) Call an Osmos API as a Source Connector (Post)

This connector creates a secure HTTP API that you can send (POST) data to. Data sent to this endpoint can then be used as a Source Connector for Osmos Pipelines.

In this case, you tell us what the payload looks like for the incoming data. You call our API and post data to it. Osmos will then bring in the data, transform it to match your destination’s schema, and send the clean data to your target system.

2) Call an Osmos API as a Destination Connector (Get)

You can create a Destination Connector, which says Call an Osmos API. You can build Osmos Pipelines and Uploaders where the destination is a mailbox where we send the cleaned data and you can pick it up once it’s ready.

The Osmos API says, "Hey, I'm guaranteeing that the data coming out of this endpoint will look like this. Because you told me what the data should look like." 

Your system then polls this HTTP API endpoint saying, "Hey, is there anything, is there anything for me? Is there anything for me?" And the moment data arrives at the HTTP API endpoint, you can pull it out and ingest it into your system.

Calling an Osmos API is particularly useful if you don’t want to expose your database to Osmos, open firewalls, set up authentication methods or pre-process the data. It’s a good option if your dev team already has some internal tooling and all they want to do is grab new data. Now there's an easy way to do it.

3) Osmos Calls Your API as a Source Connector

This connector will call your HTTP API with the specified configuration and treat the returned data as a source to send through a Pipeline. We will send a customized payload to your API to either retrieve data from it.

4) Osmos Calls Your API as a Destination Connector

What if you said, "Hey Osmos, I want you to send data to me, Call my API." In that case, you can design the schema for the JSON body of the request and the URL where your API is listening.

Osmos Calls Your API as a Destination Connector

CUSTOMER.IO EXAMPLE 

Let's say you want to send data to Customer.io and use the app API to send transactional messages. In their docs, go to their API and find the URL.

  • Campaign ID will be one, two, three, four
  • Action ID will be five, six, seven, eight. 
  • Build an URL.
  • This is where data needs to be sent. Then I will say, "Okay, what does the payload look like?" So ID, campaign ID, parent section ID. So if that would go here and you would say, "Hey, I want an ID. I want campaign ID." And I can say, "Hey, this is a text field. This is a text field."

You created the schema to match how Customer.io wants to receive data with this API. Now here's the tricky part of when you need to talk to a destination system, you need to authenticate against it. This is why we have the mailbox as a simpler option. Inside your Customer.io account, there will be a token that they provide as some long secret. And it says authorization rear block. 

In Osmos, you’ll add a header called authorization and you'll enter the bear token value.

osmos api headers

Now you've solved how to tell Customer.io, "Hey, we are who we are. We are the account holders." As long as you can describe what you want to send the API, and provide the header authorization, you won’t need a prebuilt connector to Customer.io. 

Conclusion

Basically every prebuilt connector we have does this under the covers. We're just exposing it in a configurable way so you can do it yourself. Now you can send clean data to almost any SaaS application via API. If it's a single fire API, we can very simply talk to it.

Should You Build or Buy a Data Importer?

But before you jump headfirst into building your own solution make sure you consider these eleven often overlooked and underestimated variables.

view the GUIDE

JD Prater

Marketing