Software /
code /
prosody-modules
Comparison
mod_rest/README.markdown @ 3857:8752e5b5dd08
mod_rest/README: Add a section describing the JSON mapping
Mostly complete
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 25 Jan 2020 01:31:49 +0100 |
parent | 3828:a8aa11cc351d |
child | 3890:117a979ef930 |
comparison
equal
deleted
inserted
replaced
3856:8bdb1729529b | 3857:8752e5b5dd08 |
---|---|
281 ``` | 281 ``` |
282 | 282 |
283 Remember to set `rest_callback_content_type = "application/json"` for | 283 Remember to set `rest_callback_content_type = "application/json"` for |
284 this to work. | 284 this to work. |
285 | 285 |
286 # JSON mapping | |
287 | |
288 This section describes the JSON mapping. It can't represent any possible | |
289 stanza, for full flexibility use the XML mode. | |
290 | |
291 ## Stanza basics | |
292 | |
293 `kind` | |
294 : String representing the kind of stanza, one of `"message"`, | |
295 `"presence"` or `"iq"`. | |
296 | |
297 `type` | |
298 : String with the type of stanza, appropriate values vary depending on | |
299 `kind`, see [RFC 6121]. E.g.`"chat"` for *message* stanzas etc. | |
300 | |
301 `to` | |
302 : String containing the XMPP Address of the destination / recipient of | |
303 the stanza. | |
304 | |
305 `from` | |
306 : String containing the XMPP Address of the sender the stanza. | |
307 | |
308 `id` | |
309 : String with a reasonably unique identifier for the stanza. | |
310 | |
311 ## Basic Payloads | |
312 | |
313 ### Messages | |
314 | |
315 `body` | |
316 : String, human readable text message. | |
317 | |
318 `subject` | |
319 : String, human readable summary equivalent to an email subject or the | |
320 chat room topic in a `type:groupchat` message. | |
321 | |
322 ### Presence | |
323 | |
324 `show` | |
325 : String representing availability, e.g. `"away"`, `"dnd"`. No value | |
326 means a normal online status. See [RFC 6121] for the full list. | |
327 | |
328 `status` | |
329 : String with a human readable text message describing availability. | |
330 | |
331 ## More payloads | |
332 | |
333 ### Messages | |
334 | |
335 `state` | |
336 : String with current chat state, e.g. `"active"` (default) and | |
337 `"composing"` (typing). | |
338 | |
339 `html` | |
340 : String with HTML allowing rich formating. **MUST** be contained in a | |
341 `<body>` element. | |
342 | |
343 `oob_url` | |
344 : String with an URL of an external resource. | |
345 | |
346 ### Presence | |
347 | |
348 `join` | |
349 : Boolean, used to join group chats. | |
350 | |
351 ### IQ | |
352 | |
353 `ping` | |
354 : Boolean, a simple ping query. "Pongs" have only basic fields | |
355 presents. | |
356 | |
357 `version` | |
358 : Map with `name`, `version` fields, and optionally an `os` field, to | |
359 describe the software. | |
360 | |
361 #### Service Discovery | |
362 | |
363 `disco` | |
364 | |
365 : Boolean `true` in a `kind:iq` `type:get` for a service discovery | |
366 query. | |
367 | |
368 Responses have a map containing an array of available features in | |
369 the `features` key and an array of "identities" in the `identities` | |
370 key. Each identity has a `category` and `type` field as well as an | |
371 optional `name` field. See [XEP-0030] for further details. | |
372 | |
373 `items` | |
374 : Boolean `true` in a `kind:iq` `type:get` for a service discovery | |
375 items list query. The response contain an array of items like | |
376 `{"jid":"xmpp.address.here","name":"Description of item"}`. | |
377 | |
286 # Compatibility | 378 # Compatibility |
287 | 379 |
288 Requires Prosody trunk / 0.12 | 380 Requires Prosody trunk / 0.12 |