I'm Open Source - Fork me on Github


Bipio is a graph pipelining API talking RESTful JSON, where each node in your graph is responsible for performing a discrete unit of work, such a transforming messages, integrating "cloud" API's or many other types of web based RPC's.

This is a JSON API supporting REST and RPC endpoints over HTTP Basic Authenticated SSL. See endpoints for further connection info. JSONP is enabled by setting the ?callback=my_function query parameter.

The graph structures, 'bips', transform content between adjacent nodes. They can be reconfigured dynamically without requiring changes to the connecting client, ideal for rapid prototyping or any kind of interprotocol communication.

Bips are configured by defining a graph (hub) across nodes (channels). Channels perform a discrete unit of work and emit a predictable result, so as to be arranged on a bip's hub in meaningful ways. Collections of similar Channels reside in shared resource containers called Pods.

Bips

A Bip is a very fast and light weight endpoint definition for your personal domain(s) that receives, transforms and parallelizes messages across a graph. It has an endpoint type, a unique name, some type specific configuration, and an action graph (or Hub).

They have some neat characteristics

auto-expire over time or #impressions. Pause or Play with impunity.

dynamic

hubs can be updated at any time, even when live

faithful

authenticate peers and honor basic ACL's

And come in 3 flavors

smtp

to consume incoming email

http

for authenticated HTTP(s) web hooks

trigger

periodic tasks and content sync

Channels

A Channel imports (consumes) and exports (produces) a message, it performs a specific action. The ecosystem of Channels you create becomes the swatch from which work will automate. A Channel is a reusable instance of an action provided by a Pod. When you create a Channel, you are creating an interface to a Pod's action for re-use. Channels are assembled together to create Bips, where their exports and imports can be transformed, from one channel to the next.

bipio has 2 HTTP JSON REST endpoints that you'll likely be using.

https://api.bip.io for modifying system REST and RPC resources

https://{username}.bip.io for transacting with your own HTTP Bips and Channel Renderers

All endpoints require authentication with HTTP Basic Authentication, where username is your username, and password is an API token as displayed in your Account Settings. Authentication credentials for account level endpoints (bips and renderers) can and should be tweaked individually via their relevant configurations.


HTTP and SMTP Bips

Bips that you create with public endpoint definitions will be bound to your selected domain, and will take a normalized form

https://{username}.bip.io/bip/http/{bip name}?key=value

{bip name}@{username}.bip.io


A Note on SMTP Bip Endpoints

Bipio is not an SMTP Relay, Smart Host or 'Email Service' but rather an API provider that supports an SMTP transport. We do not suggest binding your custom domain MX to Bipio unless it is a dedicated subdomain. Set your subdomain CNAME/MX as {username}.bip.io. For more info, see the domains section.

Rate Limiting

Your account and API access will be subject to a rate limiting policy. Should you experience HTTP 502 responses and feel this is in error, please reach us.


comments powered by Disqus