{"_id":"56c50633bdcde80d004986bf","editedParams2":true,"__v":0,"category":{"_id":"56c50628bdcde80d00498645","version":"56c50626bdcde80d00498635","__v":1,"project":"54774d9af3736008009e9e0e","pages":["56c50633bdcde80d004986b7","56c50633bdcde80d004986b8","56c50633bdcde80d004986b9","56c50633bdcde80d004986ba","56c50633bdcde80d004986bb","56c50633bdcde80d004986bc","56c50633bdcde80d004986bd","56c50633bdcde80d004986be","56c50633bdcde80d004986bf"],"sync":{"url":"","isSync":false},"reference":true,"createdAt":"2015-05-21T13:12:14.654Z","from_sync":false,"order":19,"slug":"channels","title":"Channels"},"parentDoc":null,"githubsync":"","user":"54774c47f3736008009e9e0c","version":{"_id":"56c50626bdcde80d00498635","project":"54774d9af3736008009e9e0e","__v":10,"createdAt":"2016-02-17T23:45:42.869Z","releaseDate":"2016-02-17T23:45:42.869Z","categories":["56c50628bdcde80d00498636","56c50628bdcde80d00498637","56c50628bdcde80d00498638","56c50628bdcde80d00498639","56c50628bdcde80d0049863a","56c50628bdcde80d0049863b","56c50628bdcde80d0049863c","56c50628bdcde80d0049863d","56c50628bdcde80d0049863e","56c50628bdcde80d0049863f","56c50628bdcde80d00498640","56c50628bdcde80d00498641","56c50628bdcde80d00498642","56c50628bdcde80d00498643","56c50628bdcde80d00498644","56c50628bdcde80d00498645","56c50628bdcde80d00498646","56c50628bdcde80d00498647","56c506a018f0c90d002808de","56c6b0baf795cf0d003ec13e","56fe58eb5a08190e00085149","571764513cf2960e0009a635","571fc008ffbc6a2000b25bb5","5739ca371f4b740e00b06e09","577522f197a3830e004bcc1b","57753d5ffecd260e00d86ce6","57adb71efaa7a10e004495b6"],"is_deprecated":true,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"API v1.1","version_clean":"0.1.1","version":"0.1.1"},"editedParams":true,"project":"54774d9af3736008009e9e0e","metadata":{"title":"","description":"","image":[]},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-05-22T11:49:55.808Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[{"gist":"47d76024a9729f415058","name":"","code":"curl -X POST \\\n-H \"X-API-KEY: <API_KEY>\" \\\n-H \"X-USER-KEY: <USER_KEY>\" \\\n-H \"Content-type: application/json\" \\\n-d '{\"payload\":{\n\t\t\t\t\t\t\t\t\"message\":\"Hello Witchers!\", \n\t\t\t\t\t\t\t\t\"type\":\"welcome\"\n               \t}, \n     \"room\":\"secret-room\"}' \\\n\"https://api.syncano.io/v1.1/instances/<instance>/channels/<channel_name>/publish/\"","language":"curl"},{"code":"from syncano.models import Channel\nimport syncano\n\n\ndef callback(message=None):\n    print message.payload\n    return True\n\n\nsyncano.connect(api_key=\"API_KEY\", user_key=\"USER_KEY\", instance_name=\"INSTANCE_NAME\")\n\nchannel = Channel.please.get(\n    name=\"CHANNEL_NAME\"\n)\n\nchannel.publish(payload={\"message\":\"hello there\"})\n","language":"python"},{"code":"var Syncano = require(\"syncano\");\nvar connection = Syncano({apiKey: \"API_KEY\", userKey: \"USER_KEY\"});\nvar Channel = connection.Channel;\n\nvar query = {instanceName: \"INSTANCE_NAME\", name: \"NAME\"};\nvar message = {content: \"hello!\"};\n\nChannel.please().publish(query, message).then(callback);","language":"javascript"}]},"method":"post","results":{"codes":[{"language":"json","code":"{\n  \"room\": \"secret-room\",\n  \"links\": {\n    \"self\": \"/v1.1/instances/rivia/channels/witchers/history/53/\"\n  },\n  \"author\": {\n    \"admin\": 8\n  },\n  \"created_at\": \"2016-03-17T20:13:46.695378Z\",\n  \"payload\": {\n    \"message\": \"Hello Witchers!\",\n    \"type\": \"welcome\"\n  },\n  \"action\": \"custom\",\n  \"id\": 53,\n  \"metadata\": {\n    \"type\": \"message\"\n  }\n}","name":"","status":201},{"name":"","status":400,"language":"json","code":"{\n  \"detail\": \"JSON parse error - Unterminated string starting at: line 1 column 9 (char 8)\"\n}"},{"code":"{\n  \"detail\": \"No such API Key.\"\n}","language":"json","status":403},{"language":"json","status":404,"code":"{\n  \"detail\": \"Not found\"\n}"}]},"settings":"56c50c06d1b8770d00922288","auth":"required","params":[{"_id":"555ddf718ab3180d001ac55f","ref":"","in":"path","required":true,"desc":"Instance name","default":"","type":"string","name":"instance_name"},{"_id":"555e12ab06dfec0d00d39063","ref":"","in":"path","required":true,"desc":"Channel name","default":"","type":"string","name":"channel_name"},{"_id":"555f1885df54680d0018031d","ref":"","in":"body","required":false,"desc":"Message payload that is going to be sent to a channel.","default":"","type":"object","name":"payload"},{"_id":"555f1a6757fe0a0d00c8f413","ref":"","in":"body","required":false,"desc":"Room name. Shouldn't be passed if Channel type is `default`. If Channel is of `separate_rooms` type then room name should be added.","default":"","type":"string","name":"room"}],"url":"/instances/:instance_name/channels/:channel_name/publish/"},"isReference":true,"order":8,"body":"A call to this endpoint allows a User to publish a custom notification message to a Channel with a given name.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"To be able to send custom notification messages, a Channel should have the `custom_publish` flag set to `true`.\",\n  \"title\": \"Publishing Messages\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Payload Message\",\n  \"body\": \"Please remember when making a POST request, to always wrap a message you're sending inside of `payload` variable - passing any custom JSON that's outside of the `payload` will be omitted.\\n\\nIf the message you want to send is `{\\\"message\\\":\\\"Hello World\\\"}` and you forget to wrap it inside of the `payload` variable, you will not see any error from Syncano - as it will assume you didn't want to pass any payload, and your message will not be processed.\\n\\nIn the example above, your POST should contain a JSON dictionary as follows: `{\\\"payload\\\":{\\\"message\\\":\\\"Hello World\\\"}}\\\"`.\"\n}\n[/block]","excerpt":"","slug":"channels-publish","type":"endpoint","title":"Channels - publish"}

postChannels - publish


Definition

{{ api_url }}{{ page_api_url }}

Parameters

Path Params

instance_name:
required
string
Instance name
channel_name:
required
string
Channel name

Body Params

payload:
object
Message payload that is going to be sent to a channel.
room:
string
Room name. Shouldn't be passed if Channel type is `default`. If Channel is of `separate_rooms` type then room name should be added.

Examples


Result Format


Documentation

A call to this endpoint allows a User to publish a custom notification message to a Channel with a given name. [block:callout] { "type": "info", "body": "To be able to send custom notification messages, a Channel should have the `custom_publish` flag set to `true`.", "title": "Publishing Messages" } [/block] [block:callout] { "type": "warning", "title": "Payload Message", "body": "Please remember when making a POST request, to always wrap a message you're sending inside of `payload` variable - passing any custom JSON that's outside of the `payload` will be omitted.\n\nIf the message you want to send is `{\"message\":\"Hello World\"}` and you forget to wrap it inside of the `payload` variable, you will not see any error from Syncano - as it will assume you didn't want to pass any payload, and your message will not be processed.\n\nIn the example above, your POST should contain a JSON dictionary as follows: `{\"payload\":{\"message\":\"Hello World\"}}\"`." } [/block]

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}