Loading...
 

qMsg

Core API function to transfer data into Fautore from an external application using the standard communication JSON.

Overview

This page details the operation and use of the "qMsg" function. Any application pushing data to Fautore must first register with Fautore in a separate one time registration process that calls the osaAppreg function.

Constraints

The following constraints must be in place as sabatoge deterrents.
  1. Host definable request interval applies (flood prevention)
    1. Multiple message sends within interval from same host prohibited
    2. Multiple message sends within interval treated as suspicious
  2. Any application being registered must be installed to the Fautore Operational Domain (POD).
  3. Transmitting application must include the AppId provided at registration.

Message Data

This is the standard JSON data structure for all data pushed into Fautore from external applications or Fautore to Fautore (FtF) communications.

JSON Data Spec
{ "Func": "qMsg" { "Source" : { "Key": r-hex(64) Source tribe or external application ID. "Coterie": o-str(24) ID of Coterie from which data was sent in source tribe. "Member": r-str(128) Source tribe member ID or email address. } "Dest" : { "Key": o-hex(64) ID of Tribe or application intended to receive data. "Coterie": o-str(24) ID of Coterie intended to receive data. "Member": o-str(128) Member ID or email address of intended information recipient. } "Summary": o-str(164) Text string usually used as a short description of data in "Object" "Detail ": o-str(512k) Text string usually used as a detail description of data in "Object" "Object" : o-[ "Type" : r-str(64) MIME type specifier for object "Encoding" : o-str(10m) Encoding descriptor. Currently limited to Base64 default. "Data" : r-str(10m) base64 representation of binary data "Title" : o-str(96) Title/name text specific to object. "Detail" : o-str(512k) Title/name text specific to object. ] "Adjunct": o-str(512k) Free-form payload of destination specific information }
Example JSON Request
{ "Dest" : { "Member" : 1, "Coterie" : 1, "Key" : "41246b66383323172736b726d" }, "Detail" : "A longer bit of text to try out JSON", "Adjunct" : "A freeform field for application data", "Object" : [ { "Type" : "png", "Encoding" : "base64", "Data" : "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAQCAYAAAClUHcBAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI\nWXMAAArwAAAK8AFCrDSYAAAAB3RJTUUH3QcZDQskKmrPHQAAB0ZJREFUSMftVl1sVMcV/ubM3Hv3\n7tpd/5u1zELNYoNNaZFbiTj82LvrtlGltGq0UoVIVFolQFK1VdoK9QexKGqSl9AqhVKpfWhf0gY/\nVG0QKIRELiKAIG0TjJEKhuJie22vsb279v7ce2emD2sS10DchyoPVUaal2/Od35mzplzgI/Xx+v/\ndrH7w5oBYIlEHwMSAPrQ13dVAwc0wPRH76Ze5Od/Zz+Z1NTff8v0PLLPnl01s0zQmjo7wZuaUkah\n4DMsi6hUUsq2i24uF3L6+yE/ysCTSU2Dg1dFOt1O9fVXVUdHu5dMMrXcJXV337L6+z9ZiMVGut58\ns/n84lNaKv7II0PGlSuhvcePr/7r6dO1EydONF6+dOnz356fL9bb9rS/uxsc0JRMakokNE8kjnFA\nE5BcwI7xRELzZFLTg/EklV8v+b6epXgicYx3dr5jnDt32e7r6ygRpRqnp+3q118fsRIJzYEH6dTU\n2QnBuREoR2Q8tGx6m2bDs56X3R0OP3W4uXnX+OzspdobN1746ubNb//QNI0xrceyllWvPc8ShQKR\nbSslpSuBCWQyfm4YJgeCEGJGAwEPSMO2V1AuN8eBIHw+pYgcz3EKslRazZSaNgxjjvt8nrJt2/W8\neSlEhhcK1YZh+E0pWcWpUytu9vZOfIFIzbquMaqUylRW1ivPmxa53GJuSAqR4o4jfUpZtW+80XAt\nGk399q23Qrs+vMiZeb2l5ftPx+Njj/X0jD4aj4/GY7GxrT09I5/u7h5prqraup0x812AFTgPXAmH\nn3mst/f2WgDa748cBijHmJiqqdm2Lx6fWl/G1x5ZjPf2Tq4NhR7fSmSfB1ieyL7e1PTEzmj0X2sa\nGr4UJbL+BsABoJfuWGzioZUr98SI/BeWcuvqer/ImPkPgOUrKj71alk+dXJpjPekt9Zucyi0446U\n5BJRSinxT8YwLISV5txxs9mLvwgGN/Vv3nzhGzU1Wy+lUr9/0fNYKwBUVLQGtmx57zvh8O7fzM5e\n3KeUXAcAgUBrYMuWv383HN7z69nZi/s8T7am068drq2Nndu27crT4fDeE5OTrz2vtdE2PX3mSDD4\n2fMPPzzweDQ6viMaHX8SAGKx1EuxWGofY7ohlfrDoZqa7WeXcmdmzv+surrrVFfXxaf8/hZVfkRW\nuTRGcc8tkC81MfHnVeHw7gEpdQ6QGSKf67oZZpp+Uymntb396PO2HbIikefOXbiweQfn1AQA69cf\nHSAyRCSy/93h4SPVgFoBABs2/OoKwHkk8pP3hocPVzOmQlLm2tLp4xvT6eMf/D5MtXjefEtHx5FD\npllrAmyOSDoLnmW1VjmtteN52dapqZMbz5w5uYiLFinzLe3tLw8YRoPZ1nbw7cnJP33tftl8T9AV\nFe2v3Lp1aK9SxaONjV/Ojo7+LjQ29sqebdtuPqsUcc79N4eGDvSuW3fw3NDQ/i4hqkeVYhYACGF5\nAE0zJqcW1HEA4NyQjOkZrXV6waywrNBYY+OjA+Hwt24bRpXLGApaM59p1o1dv34g3tb2wgnOP5EF\nqASQk8m8UwoGO6e1VvOGUX2zsfErl1tavjcpRI1kTBW1hs80a1NDQ89tj0T2/+Xatf2fK2cu3GVb\nRDQ6saauLv6SEMFhgEpE/tHa2p6f9vZOfiYWS7euWvXMTsOoHgKoZBi1N9vbXz4QjY49CUDH4xNP\nxGKpnu7u8Q0AdDSa2lWuq/FvRqPj0bt4LDaxc9OmV3/k96+5yphZ/KBex3a3t/98n2nW3QDglXWM\nRCsrN/6RMVEsy4z2dnT88uu2vXrgP7kTu9vaXvyxEFW3GeOlqqquEws1fXzZ3zsWG6nlXIWU4isA\nHtBaMcZQ8DzcMU26o7UrlOIriHidUtoCtKcU8oxpTwjylEKaSM4qxasA1qQ17PIrIsW5NwPwoJS6\nHiABaAtgQa2ln4h5WtOM1m6WcxJSYqHlYJ6IK0AHAMYBZJVCHkAFka5TCn4iLZXSswBliJQBoEJr\nbgO6hjG28vTpxh98aHqbZmHOceyU1qKglFsJkBCCSkQqm8/7skAJPl+gpNR8hoibnqdcIXSeMcNz\nHK1Nk+U59xUBt+R5yCslDSLuCqFznPuKUrolKTEHKBARZwwBIvKXrTt5InPOdR3i3PRzLg2lyJGS\nHMOQhlLM0FqWlEJeCCKt2TiR9gMMjFFe69K85/kYY06AMWYxpi2tcW3Zmj55MuJ2diLb1JQqFAr+\nqbsTWSBQdDOZoAsMQUoqVlX5Zxf36WCwUQEjAJplOg1l20Mly4rM5XJpCgTqlecNyUIhIuvrUQRG\ncgBQLHLmeZZQKi8AQEpH2jZ3S6VpplSFyOcF+XyVSmtPcp4jxxFk254SIuABEku5nAc8QIFzm+dy\nnFvWHHEu+P9g9r47HoINDoJ1dEAnk2XSMrP9fc4PsmTyAAYH78r1oa8voQFgse2OjjI2ONjHACz4\nAjyIm0zifTyd7mf9/T3eYqv/BtlvryXwDSoDAAAAAElFTkSuQmCC\n" }, { "Type" : "png", "Encoding" : "base64", "Data" : "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAQCAYAAABpyU3qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI\nWXMAAArwAAAK8AFCrDSYAAAAB3RJTUUH3QcQDA0XvyosMAAAA/hJREFUSMft1ktsHtUVB/DfvTPf\nI7ZTE0xQHBCEEF6JSBRAbdWCqHgUgpIYiNigrCHQRRGbiJ0RUgSLsimoLyTaLiqkrNpKIB4CFghW\nICAOAhKMIIoNsh2/PuzvMd8MC4YPg71ALGDDlc5o5n905vzPOfeec/l5/by+1wqrvkcFx1fgRxX0\n5KfkV6ytGBVNSEyqqKtYEvXJNXUsantV90clPyo6LtUv+kJuh8yofDXxPWpeca+2++QuEk05y9/9\n2r8VZi1b8rvS8OuKHC0DGV2B7VAY7TlfCy/Kyn6l+y5+l2BcNKTqBQ232SLV1NTwgi9WE695UMe9\ntnnCVp+ZMeQ9d7rZQ6IJDQtqCplUTdQvN6ULEokoARWFigxURXMl3ic3L9PWtVHQUBElWnLrdGS6\nUom6CqqaBvzfuBG3SsxLfO6oj1eXJjrhcve73QH77TfiJiOus9cue5xvyPWit7EsNeZiB+x1CQoD\nnsCiYNo5DrvDFSis92QP3+iwvS6xxXUSb2BJ4oSLHLTHxYbdIHoL7RVn6hsZcdtKumnvLXe+C8zI\ndRQmRWd0dUSZqGvWn23wst0eM+b3TnnUDg+A9fpd649OutS4w3IfggH9fusBJ20z7rBozGlHnOsl\nu/zNuN0+dsROh0z5k7O97Jcek4iifv/1D7d7HHMYXpt4YtKEC21zTGJR27y6jo4gqMpd6mpH1NXs\n9LoX3Y3N4BrHBKnt3nbSBoVN4GpjosR27zhpg2BY5jKTdppc0S0KW2W2usrjqqoKDUG71M4L5jCz\nNvFf+I8P3CfzF5st+NSwTxxyiwcFicS4Y2620+ve9RtVp0W1cptlOCOY7qXhq2dXYVY0VZJI1U04\nzzHbnFLVwbKgrmbCmJvs8qyaBUELbWe0DJmWl/9YRfx6T3vDOh/5g/c9IjFtyD+lNgqWbHHEKaOe\nd1DVaVf6l1yrtJ5TmBFL4qE8/cGCaIYSjxp2e8q7Dhp3i7wMfMQh2/3Ve+7xnANI7HOjQc96zcMK\nNfvsW7uP32EIw3Kb5PolgsKywkwpqcQmnKNQE2RYEmSCrMzIHM7CZsG60n5SMCsa1LVRIpWpCQbR\nV9rP6lpAKurvBV/IsV5Qlyv8zzOrM97UUDcpWJZYL5cKWlILWhbK9tbSMl82uo5OSTxRiJY0NdW1\nFJZ0VSQ6osUeHjUUZfvM9Sv0SZFZkmtIRIU+UUWhrdAWVLEOlbW3yq90TFjAslnT35qc5+l4E1s1\ndcyplbopXYO9ada1LEdLqqEuasplupZ1DWhisUxSkEkNlP4TXU0dTcGgtOebroZoQCoVf+hd5etp\nGNaYeN/7jrHCjzX8cNcKbEeJHRdMCV4tBxu+BKaZjL62spWzAAAAAElFTkSuQmCC\n" } ], "Source" : { "Member" : 1, "Coterie" : 1, "Key" : "B43B89C76A44C45B" }, "Summary" : "Some text to try out JSON", "Func" : "qMsg" }
Request Data Structure
$VAR1 = { 'Detail' => 'A longer bit of text to try out JSON', 'Dest' => { 'Member' => 1, 'Key' => '41246b66383323172736b726d', 'Coterie' => 1 }, 'Adjunct' => 'A freeform field for application data', 'Summary' => 'Some text to try out JSON', 'Source' => { 'Member' => 1, 'Key' => 'B43B89C76A44C45B', 'Coterie' => 1 }, 'Object' => [ { 'Type' => 'png', 'Encoding' => 'base64', 'Data' => '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 ' }, { 'Type' => 'png', 'Encoding' => 'base64', 'Data' => 'iVBORw0KGgoAAAANSUhEUgAAAC4AAAAQCAYAAABpyU3qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAArwAAAK8AFCrDSYAAAAB3RJTUUH3QcQDA0XvyosMAAAA/hJREFUSMft1ktsHtUVB/DfvTPf I7ZTE0xQHBCEEF6JSBRAbdWCqHgUgpIYiNigrCHQRRGbiJ0RUgSLsimoLyTaLiqkrNpKIB4CFghW ICAOAhKMIIoNsh2/PuzvMd8MC4YPg71ALGDDlc5o5n905vzPOfeec/l5/by+1wqrvkcFx1fgRxX0 5KfkV6ytGBVNSEyqqKtYEvXJNXUsantV90clPyo6LtUv+kJuh8yofDXxPWpeca+2++QuEk05y9/9 2r8VZi1b8rvS8OuKHC0DGV2B7VAY7TlfCy/Kyn6l+y5+l2BcNKTqBQ232SLV1NTwgi9WE695UMe9 tnnCVp+ZMeQ9d7rZQ6IJDQtqCplUTdQvN6ULEokoARWFigxURXMl3ic3L9PWtVHQUBElWnLrdGS6 Uom6CqqaBvzfuBG3SsxLfO6oj1eXJjrhcve73QH77TfiJiOus9cue5xvyPWit7EsNeZiB+x1CQoD nsCiYNo5DrvDFSis92QP3+iwvS6xxXUSb2BJ4oSLHLTHxYbdIHoL7RVn6hsZcdtKumnvLXe+C8zI dRQmRWd0dUSZqGvWn23wst0eM+b3TnnUDg+A9fpd649OutS4w3IfggH9fusBJ20z7rBozGlHnOsl u/zNuN0+dsROh0z5k7O97Jcek4iifv/1D7d7HHMYXpt4YtKEC21zTGJR27y6jo4gqMpd6mpH1NXs 9LoX3Y3N4BrHBKnt3nbSBoVN4GpjosR27zhpg2BY5jKTdppc0S0KW2W2usrjqqoKDUG71M4L5jCz NvFf+I8P3CfzF5st+NSwTxxyiwcFicS4Y2620+ve9RtVp0W1cptlOCOY7qXhq2dXYVY0VZJI1U04 zzHbnFLVwbKgrmbCmJvs8qyaBUELbWe0DJmWl/9YRfx6T3vDOh/5g/c9IjFtyD+lNgqWbHHEKaOe d1DVaVf6l1yrtJ5TmBFL4qE8/cGCaIYSjxp2e8q7Dhp3i7wMfMQh2/3Ve+7xnANI7HOjQc96zcMK NfvsW7uP32EIw3Kb5PolgsKywkwpqcQmnKNQE2RYEmSCrMzIHM7CZsG60n5SMCsa1LVRIpWpCQbR V9rP6lpAKurvBV/IsV5Qlyv8zzOrM97UUDcpWJZYL5cKWlILWhbK9tbSMl82uo5OSTxRiJY0NdW1 FJZ0VSQ6osUeHjUUZfvM9Sv0SZFZkmtIRIU+UUWhrdAWVLEOlbW3yq90TFjAslnT35qc5+l4E1s1 dcyplbopXYO9ada1LEdLqqEuasplupZ1DWhisUxSkEkNlP4TXU0dTcGgtOebroZoQCoVf+hd5etp GNaYeN/7jrHCjzX8cNcKbEeJHRdMCV4tBxu+BKaZjL62spWzAAAAAElFTkSuQmCC ' } ], 'Func' => 'qMsg' };
Returns:

The response returned is a standard JSON structure with 1 additional fields:

RespCount:
The number of API call responses being provided. This will always be "1" unless multiple API calls were sent at once.

MsgId:
An alpha numeric representing the message being returned. The string "REQPROC" (for "Request Processed") is the expected response for success.

MsgNum:
An integer value representing the message being returned.

  • Positive numbers indicate success
  • Negative numbers indicate an error has occurred

The number "7" is the expected response for success in this case.

Mesg::
Explanation message tied to the return code.

MsgKey:
An alpha numeric representing the message being returned. This value is a unique within the OCE for the message just sent and can be use to request status or attempt cencelation if the message hasn't already been sent.

Example Return JSON
{ "msgKey" : "Jl2rMzIf3DIikaXiOBNcIgq9Q0XgrwGE1421069391142", "MsgNum" : "1", "MsgId" : "MSGRCVD", "respCount" : 1, "Mesg" : "Message received - See log for details \n" }

Key Operations

The qMsg function is essentially a source and data verification and storage function.

Workflows

The below information describes actions comprising the bulk of work performed by the qMsg API function.

qMsg

The process of accepting data sent from an application.

Decrypt Data
  1. Validate data
  2. Translate tokens
  3. Save data to DB

Seven steps to using the Internet in privacy as a respected Netizen.
  1. Perspective
  2. Search
  3. Email
  4. Social Security
  5. Have Presence
  6. Take Control
  7. Break The Ties

Shoutbox

Steve: Fautore 0.6.0.0 is now released and available to our registered Alpha participants!
Steve: Fautore 5.3.0 is now released and includes dynamically updated stats reporting!
Steve: Fautore 0.5.2.3 FILES.pm patch is up on the site. Thanks for the inputs. Keep it coming. We'll make Fautore a reality together.