{"metadata":{"image":[],"title":"","description":""},"api":{"url":"/instances/:instance_name/channels/:channel_name/publish/","auth":"required","examples":{"codes":[{"language":"curl","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/\"","name":"","gist":"47d76024a9729f415058"},{"language":"python","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":"javascript","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);"}]},"method":"post","params":[{"name":"instance_name","type":"string","default":"","desc":"Instance name","required":true,"in":"path","ref":"","_id":"555ddf718ab3180d001ac55f"},{"name":"channel_name","type":"string","default":"","desc":"Channel name","required":true,"in":"path","ref":"","_id":"555e12ab06dfec0d00d39063"},{"name":"payload","type":"object","default":"","desc":"Message payload that is going to be sent to a channel.","required":false,"in":"body","ref":"","_id":"555f1885df54680d0018031d"},{"name":"room","type":"string","default":"","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.","required":false,"in":"body","ref":"","_id":"555f1a6757fe0a0d00c8f413"}],"results":{"codes":[{"status":201,"name":"","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}","language":"json"},{"code":"{\n \"detail\": \"JSON parse error - Unterminated string starting at: line 1 column 9 (char 8)\"\n}","language":"json","status":400,"name":""},{"status":403,"language":"json","code":"{\n \"detail\": \"No such API Key.\"\n}"},{"code":"{\n \"detail\": \"Not found\"\n}","status":404,"language":"json"}]},"settings":"56c50c06d1b8770d00922288"},"next":{"description":"","pages":[]},"title":"Channels - publish","type":"endpoint","slug":"channels-publish","excerpt":"","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]","updates":[],"order":8,"isReference":true,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"56c50633bdcde80d004986bf","editedParams2":true,"__v":0,"category":{"sync":{"isSync":false,"url":""},"pages":["56c50633bdcde80d004986b7","56c50633bdcde80d004986b8","56c50633bdcde80d004986b9","56c50633bdcde80d004986ba","56c50633bdcde80d004986bb","56c50633bdcde80d004986bc","56c50633bdcde80d004986bd","56c50633bdcde80d004986be","56c50633bdcde80d004986bf"],"title":"Channels","slug":"channels","order":19,"from_sync":false,"reference":true,"_id":"56c50628bdcde80d00498645","version":"56c50626bdcde80d00498635","__v":1,"createdAt":"2015-05-21T13:12:14.654Z","project":"54774d9af3736008009e9e0e"},"parentDoc":null,"createdAt":"2015-05-22T11:49:55.808Z","githubsync":"","user":"54774c47f3736008009e9e0c","version":{"version":"0.1.1","version_clean":"0.1.1","codename":"API v1.1","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":true,"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"],"_id":"56c50626bdcde80d00498635","project":"54774d9af3736008009e9e0e","__v":10,"createdAt":"2016-02-17T23:45:42.869Z","releaseDate":"2016-02-17T23:45:42.869Z"},"editedParams":true,"project":"54774d9af3736008009e9e0e"}
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.