{"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.

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 }}