Skip to content
cloudspark edited this page Jan 9, 2014 · 18 revisions

A Channel is an instance of a Pod's method, a are reusable entity which performs a discrete unit of work and emits a predictable result. The collection of channels you create becomes something like a swatch from which you can orchestrate complex API workflows. When dropped onto a bip's graph, a channels export then becomes the next adjacent channels transformed import.

Actions

Channels which point to a Pods Action and are not marked as an 'emitter' can be used anywhere on a bip's graph. Action channels are passive pointers, they are only invoked whenever message are routed to them.

Emitters

Emitter Channels are a special class of Channel which, when used in conjunction with a Trigger Bip, generate their own content (events). Emitters may not be placed onto a Bip's hub, they can only be used for Bips of type : "trigger".

Decorators

  • _href (URI) Fully Qualified Resource URI
  • _repr (String) Derived representation
  • _renderers (Object) Available Renderers
  • _available (Boolean) Setup Complete, Channel is available. Will be false if further setup is required, refer to the target Pod's documentation to see what conditions a Channel needs to satisfy to become 'available'.

Attributes

id (uuid) Channel ID

name (string) Channel Name

note (text) Additional Channel description

action name (string) A named identifier for the action or emitter. This is the symbolic pointer to a Pods method and take the normalized form {pod name}.{action name} (lowercase)

config Account or instance specific configuration, such as default imports, static flags etc. Configs are different for every action. The required configuration for your target channel can be surfaced by Describing the Pod

Request/Response Example

Request

POST /rest/channel

{
 action : "email.smtp_forward",
 name : "Helo FuBa"
 config : {
   rcpt_to : "[email protected]"
 }
}

Response

{
  "id": "2b0fe061-b37c-4928-be32-b8a9c5194dd7",
  "name": "Helo FuBa",
  "action": "email.smtp_forward",
  "config": {
    "rcpt_to" : "[email protected]"
  },
  "note": "",
  "icon": "",
  "created": "1389254027417",
  "_repr": "Use to forward email messages to a chosen recipient (requires recipient verification)",
  "_href": "http://admin.local:5000/rest/channel/2b0fe061-b37c-4928-be32-b8a9c5194dd7",
  "_renderers": {
    "verify": {
      "description": "Recipient Verify",
      "description_long": "Verifies this email channel recipient with a secret key sent to their inbox",
      "contentType": "text/html",
      "_href": "http://docs.admin.local/rpc/render/channel/d8c35967-d9f4-427b-9aaf-bd542d5e2931/verify"
    }
  }
}

Channel Renderers

Channel level renderers can answer requests about their internal state or potentially serve stored data to authenticated clients. There is no standard around renderers other than they answer some type of local or remote request over HTTP. Available renderers for the channel will be detailed in the _renderers decorator.

"_renderers": {
  "verify": {
    "description": "Recipient Verify",
    "description_long": "Verifies this email channel recipient with a secret key sent to their inbox",
    "contentType": "text/html",
    "_href": "http://docs.admin.local/rpc/render/channel/d8c35967-d9f4-427b-9aaf-bd542d5e2931/verify"
  }
}
  • description (string) Short renderer description
  • description_long (string) Long renderer description
  • contentType (string) Response Content Type
  • _href (string) Renderer URI (direct call)

OAuth

Issuer Tokens

Clone this wiki locally