{"result":{"depiction_url":null,"edges":{"subject_topic_broader":{"objects":[{"created":"2026-09-09T13:41:28Z","object_id":{"id":2654,"is_a":["categorization","keyword","keyword_task"],"name":"zotonic_topic_send_and_receive","title":"Send and receive","uri":"https:\/\/zotonic.com\/id\/2654"},"seq":1}],"predicate":{"id":2549,"is_a":["meta","predicate"],"name":"subject_topic_broader","title":{"_type":"trans","tr":{"en":"Broader concept"}},"uri":"http:\/\/www.w3.org\/2004\/02\/skos\/core#broader"}}},"id":2655,"is_a":["categorization","keyword","keyword_task"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2655"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"zotonic_topic_publish_and_subscribe","page_url":{"en":"https:\/\/zotonic.com\/page\/2655\/publish-and-subscribe","x-default":"https:\/\/zotonic.com\/page\/2655\/publish-and-subscribe"},"preview_url":null,"resource":{"subject_topic_source_url":"https:\/\/github.com\/zotonic\/zotonic\/tree\/master\/apps\/zotonic_mod_mqtt","version":1,"pivot_location_lat":null,"title":"Publish and subscribe","is_authoritative":true,"body":"<h2>For programmers<\/h2><p>Covers MQTT topics ACL retained state routing and request-response conventions.<\/p><h2>For content editors<\/h2><p>Explains live notifications and automatic interface updates.<\/p>","slug":"publish-and-subscribe","subject_topic_evidence":"zotonic_mod_mqtt zotonic_listen_mqtt","is_protected":true,"visible_for":0,"tz":"Europe\/Amsterdam","subject_topic_aliases":["pubsub","topic messaging"],"language":["en"],"subject_topic_parent_slug":"send_and_receive","is_featured":false,"content_group_id":{"id":339,"is_a":["meta","content_group"],"name":"default_content_group","title":{"_type":"trans","tr":{"en":"Default Content Group"}},"uri":"https:\/\/zotonic.com\/id\/default_content_group"},"category_id":{"id":2545,"is_a":["meta","category"],"name":"keyword_task","title":"Task","uri":"https:\/\/zotonic.com\/id\/keyword_task"},"publication_start":"2026-09-09T13:41:26Z","pivot_location_lng":null,"name":"zotonic_topic_publish_and_subscribe","is_unfindable":false,"is_published":true,"summary":"Send messages to named topics and receive messages matching subscriptions.","subject_topic_facet":"task","pivot_geocode":null,"subject_topic_content_editor_context":"Explains live notifications and automatic interface updates.","subject_topic_slug":"publish_and_subscribe","created":"2026-09-09T13:41:26Z","uri":null,"is_dependent":false,"publication_end":"9999-06-01T00:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"subject_topic_hash":"5702e59987d88d37379b7dfddd088485bf511e817e6c9cbd4a8811cb4e29d133","creator_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"modified":"2026-09-09T13:41:26Z","title_slug":"publish-and-subscribe","subject_topic_priority":"core","subject_topic_programmer_context":"Covers MQTT topics ACL retained state routing and request-response conventions."},"uri":"https:\/\/zotonic.com\/id\/2655","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2655"}},"status":"ok"}