Product Selector

Fusion 5.9
    Fusion 5.9

    JSON Blob Rule API ConfigurationsFusion Query Rewrite APIs

    Table of Contents

    This rule type is used in the Query Rewrite API.

    For a complete list of rule and rewrite types in the Query Rewrite API, see Query Rewrite API Configurations.

    For more information, view the API specification.

    JSON Blob

    The JSON Blob action returns an arbitrary JSON blob to your frontend when a business rule fires. The JSON blob displays outside of the search results.

    General information

    • Endpoint: https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/query-rewrite/schema/RULE_TYPE

    • Required parameters are:

      • name

      • json

      • type

    • The values for the hints parameter include:

      • hidden: Do not display in the Fusion UI, but can be read and written in the schema.

      • readonly: Cannot be set by the user. If attempted, an error is generated and the operation fails.

    Parameter Schema

    type

    type

    string

    properties

    id

        "id": {
          "type": "string",
          "title": "ID",
          "description": "The ID for this Rule. Used in the API to reference this query rewrite rule. Allowed characters: a-z, A-Z, 0-9, dash (-) and underscore (_)",
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9_\\-]+$"
        }

    source

        "source": {
          "type": "string",
          "title": "Source",
          "description": "The source for this query rewrite rule, such as a Spark Job.",
          "hints": [
            "hidden"
          ]
        }

    sourceType

        "sourceType": {
          "type": "string",
          "title": "Source Type",
          "description": "Source type",
          "hints": [
            "hidden"
          ]
        }

    createdOn

        "createdOn": {
          "type": "string",
          "title": "Created Date/Time",
          "description": "Date/Time this rule was created.",
          "format": "date-time"
        }

    updatedOn

        "updatedOn": {
          "type": "string",
          "title": "Updated Date/Time",
          "description": "Date/Time this rule was last updated.",
          "format": "date-time"
        }

    reviewer

        "reviewer": {
          "type": "string",
          "title": "Reviewer",
          "description": "Who reviewed this rewrite rule.",
          "hints": [
            "hidden"
          ]
        }

    reviewedOn

        "reviewedOn": {
          "type": "string",
          "title": "Reviewed Date/Time",
          "description": "Date/Time this rule was last reviewed.",
          "hints": [
            "hidden"
          ],
          "format": "date-time"
        }

    review

        "review": {
          "type": "string",
          "title": "Review",
          "enum": [
            "approved",
            "denied"
          ],
          "default": "approved",
          "hints": [
            "readonly"
          ]
        }

    deployed

        "deployed": {
          "type": "boolean",
          "title": "Deployed Flag",
          "description": "Flag to indicate if this rewrite rule has been deployed.",
          "hints": [
            "hidden"
          ]
        }

    tags

        "tags": {
          "type": "array",
          "title": "Tags",
          "description": "Conditional tags to restrict the triggering of this query rewrite rule.",
          "items": {
            "type": "string"
          }
        }

    name

    Required

        "name": {
          "type": "string",
          "title": "Name",
          "description": "User-friendly name for this rule."
        }

    description

        "description": {
          "type": "string",
          "title": "Description",
          "description": "Short description of what this rule does."
        }

    enabled

        "enabled": {
          "type": "boolean",
          "title": "Enabled",
          "description": "Set to false to disable this rule.",
          "default": true
        }

    matching

        "matching": {
          "type": "string",
          "title": "Match Query Using",
          "description": "Defines how the specified search terms will be compared to the user's query to determine whether this rule applies. 'keywords' means the query must match the keywords of the search terms value exactly. 'phrase' means the search query must contain one of the search terms values as a subphrase. 'text' means that at least one of the search terms values must match the query, but unlike 'phrase', the query only needs to match part of the value.",
          "enum": [
            "keywords",
            "text",
            "phrase"
          ],
          "default": "keywords"
        }

    groups

        "groups": {
          "type": "string",
          "title": "Rule Group",
          "description": "Group for this rule."
        }

    effective_range

        "effective_range": {
          "type": "array",
          "title": "Effective Range",
          "description": "Time range when this rule is in effect.",
          "items": {
            "type": "string"
          }
        }

    priority

        "priority": {
          "type": "integer",
          "title": "Precedence",
          "description": "Used when multiple rules could take effect for a given query - higher number means higher precedence. For example, a rule with precedence of 10 will take effect before a rule with precedence of 3. Ties on precedence are broken based on creation time - the more recently created rule will take effect before the older rule."
        }

    search_terms

        "search_terms": {
          "type": "array",
          "title": "Search Terms",
          "description": "Search terms that trigger this rule.",
          "items": {
            "type": "string"
          }
        }

    filters

        "filters": {
          "type": "array",
          "title": "Filters",
          "description": "Filters used to determine if this rule triggers",
          "items": {
            "type": "object",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "title": "Field Name"
              },
              "value": {
                "type": "string",
                "title": "Field Value"
              }
            }
          }
        }

    response_values

        "response_values": {
          "type": "array",
          "title": "Set Response Values",
          "description": "Key/Value pairs to set in the fusion section of the response.",
          "hints": [
            "hidden"
          ],
          "items": {
            "type": "object",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "title": "Field Name"
              },
              "value": {
                "type": "string",
                "title": "Field Value"
              }
            }
          }
        }

    query_profile_id_ss

        "query_profile_id_ss": {
          "type": "array",
          "title": "Query Profile ID",
          "description": "Query Profile that triggers this rule",
          "items": {
            "type": "string"
          }
        }

    blobType

        "blobType": {
          "type": "string",
          "title": "Blob Type",
          "description": "Indicates what kind of data this blob contains. This only has an effect if your frontend has been developed to utilize this field. Thus, you will need to know what the possible values are and what effect they have on your frontend. This controls where the blob shows up in the Fusion response when triggered in a query - /fusion/jsonBlob/(blobtype). We recommended to use this field if you have different kinds of JSON Blobs, so your frontend can more easily and safely handle them. If no blob type is specified, defaults to 'default'.",
          "default": "default"
        }

    json

    Required

        "json": {
          "type": "string",
          "title": "JSON Blob",
          "description": "Arbitrary JSON blob"
        }

    type

    Required

        "type": {
          "type": "string",
          "title": "Type",
          "enum": [
            "json_blob"
          ],
          "default": "json_blob",
          "hints": [
            "readonly"
          ]
        }

    doc_type

        "doc_type": {
          "type": "string",
          "title": "Doc Type",
          "enum": [
            "rule"
          ],
          "default": "rule",
          "hints": [
            "readonly"
          ]
        }

    display_type

        "display_type": {
          "type": "string",
          "title": "Display Type",
          "enum": [
            "Json Blob"
          ],
          "default": "Json Blob",
          "hints": [
            "readonly"
          ]
        }
      }

    additionalProperties

    additionalProperties

    "additionalProperties": true