Dest->Coterie
The inclusion of a Dest->Coterie id recognized by the OCE will have the data passed to all members of the Coterie as defined by the OSA instructions. The addition of a Dest->Group value, when the message is sourced from a registered application, will restrict the recipients to members of that group. The Dest->Group value is not available to messages sent between OCEs.
Table of contents
Forms
This value can be a single Coterie key, a comma separated list of Coterie keys, or a hash of arrays where the Coterie ref is the key and the subordinatearray values are groups within the referenced Coterie key. Members are not provided as a possible subordinate data element within the Coterie structure because Members can be listed in the separate "Dest->Member" element and do not require a "Coterie" reference to distinguish them from other Tribe groups.
The goal of these forms is to provide a means of using simplicity to send short messages of minimal recipients where sending a message is low effort for the client and low bandwidth consumption for the transfer. The more complicated structures provide a means of moving the distribution workload to the OCE and minimizing bandwidth consumption.
Single Value
The easiest, self explanatory form for this field is to simply put in a single value in the Dest->Coterie field. In this case the message will be delivered to the referenced Dest->Coterie and the groups listed in the Dest->Group section will apply to that Dest->Coterie if any are listed at all. If there is no Dest->Group listed, the message will go to all members of the Coterie. Bear in mind, the Dest->Group value is only valid when the message is coming from an application. (The Id in the example is shortened for display purposes.)
"Dest" : { "OCE" : "4B6B66383323172736B726B", "Coterie" : "Friends", "Group" : "InnerCircle", "Member" : "Harold" },
Comma Separated List
In this form the list is parsed and delivered to all listed OCE's. The Dest->Group section is ignored when the Dest->Coterie field is in the CSV form. The value of "Skiers" in the below example will be ignored by the OCE. It is being considered to apply the Dest->Group to all listed Dest->Coteries and just ignore cases the group doesn't exist. This makes sense in case because the entire reference set is under control of the sender. Groups can only be used with local traffick. In the case of CSV listed OCEs the sender has no control over the destination configuration so the other values of Dest are ignored. (I'd's in the example are shortened for display purposes.)
"Dest" : { "OCE" : "4B6B66383323172736B726B", "Coterie" : "Friends,Coworkers,Teammates", "Group" : "Skiers", "Member" : "Harold" },
Hash of Arrays
This form is a hash of arrays where the OCE ref is the key and the subordinate list is group(s) within the Coterie referenced in the key. The Dest->Group is ignored in this case. In the future it may be applied to all the keys of the Dest->Coterie hash of arrays as shorthand for groups that appear in all listed Coteries and ignored if it doesn't exist. (I'd's in the example are shortened for display purposes.)
"Dest" : { "OCE" : "4B6B66383323172736B726B", "Coterie" : {"Friends" : ["InnerCircle","Acquaintences","Noobs"], "Family" : ["Brothers","Sisters","Cousins"], "Work" : ["Managers","Peers","Shipping"]}, "Member" : "Harold" },