Warning, Error, and Info Callbacks

onWarning Callback

The onWarning callback returns information about a soft error that doesn’t impact the normal usage of the builder. You can use this callback to track these errors, display a message or change any behavior in your application. The callback manages JSON as the output data format.

Configuration

To handle these warnings, add the onWarning callback to beeConfig:


onWarning: function(errorMessage) { /* Implements function to handle warning responses */ }

Response


{
    "code": alfanumeric,
    "message": string
}

Example


{
    "code": 1000,
    "message": "Cannot call "send" while template is still loading."
}

Warning codes

Code
Message
Detail

1000

bee.save is unavailable

  • Cannot call bee.save() while template is still loading. Use the onLoad callback to determine when it’s safe to use the save method.

  • After onLoad(), if bee.save() is not accessible, it’s due to an expired token.

1610

Unknown module name

[Grouping Content tiles]Unknown module name.

1620

Duplicate module

[Grouping Content tiles]Duplicate module

1630

Invalid modulesGroups configuration

[Grouping Content tiles]Invalid modulesGroups configuration

1701

AMP content detected

The template loaded in the builder contains AMP content, but the builder is not configured with an AMP-compatible workspace. You can react to this warning by loading a workspace, using the loadWorkspace(type) method. Message: AMP content has been loaded

1702

Workspace not available in current plan

The workspace you have configured for the builder is not available for your subscription plan.

Message: Workspaces not available in [${payload}] plan

1703

Action not available when loading template

The action you’re trying to perform on the builder instance is not available during the loading of a template. Message: Cannot execute ${payload} during the template Loading

1704

Feature not available in current plan

The feature you have configured for the builder is not available for your subscription plan. Message: [${featureName}] feature is not available in [${plan}] plan

1730

Content defaults for the Table module is not valid

Your content defaults are not valid for the table module.

2000

Generic Bump Error

[Template validation] Default generic bump error

2050

Generic Bump Error with warnings

[Template validation] Generic bump error, with warnings.

Note: This error is dynamic. Depending on the scenario, you will receive a different error message.

Use case: When the Bumper returns 200, but there are some portions of the JSON that should be corrected (for example unrecognized fields). The SDK triggers the onWarning, passing to the host-application an additional "warnings" array, containing the warning messages.

2100

Invalid Target Version

[Template validation] The target version does not exists

2200

[validation error detail]

[Template validation] The JSON didn’t pass the validation. The cause may be:

  • Missing keys

  • Added unknown keys

Message e.g.: required key not provided @ data[u'page'][u'body'][u'content'][u'style'][u'color']

2250

Bump template validation error

page/rows/0/columns/0/modules/0/descriptor/table/rows: malformed field (each row must contain the same number of cells)

2300

Missing Template Version

[Template validation] There is no template version in the page

2400

Invalid Template Version

[Template validation] There is no template version in the page

2500

Transformation Error

[Template validation] Issues during JSON version migration

2600

Backward Transformation Error

[Template validation] Issues during JSON version migration

3000

Service Error

[Template validation] System failure not related with invalid json files

onError callback

The onError callback returns information about the application errors. You can use this callback to track these errors, display a message or change any behavior in your application. The callback manages JSON as the output data format.

Configuration

To handle these errors, add the onError callback to beeConfig:


onError: function(errorMessage) { /* Implements function to handle error messages */ } // [optional]

Response


{
    "code": alfanumeric,
    "message": string,
    "detail": string
}

Example


{
    "code": 1200,
    "message": "Template cannot be saved."
    "detail": "Type mismatch: scope is undefined"
}

Extend onError

The extendedOnError feedback in Beefree SDK includes API-related failures, giving you additional insights and more control over error handling. With this optional extension, you can improve debugging, frontend error handling, and track issues more effectively.

You can extend onError to report API-related errors.

Take the following steps to extend onError:

  1. Add the onError callback to your beeConfig.

  2. Configure your callback function.

  3. Add extendedOnError to your beeConfig file.

  4. Set the boolean extendedOnError boolean to true.

The following code snippet provides an example of how this looks in the beeConfig:

const beeConfig = {
    ...
    extendedOnError: true // [optional, default/fallback: false]
    ...
};  

Error code and message

This section lists and describes the possible error code and their corresponding codes, messages, and fixes.

Error
Code
Message
Detail

API_GENERIC_ERROR

9900

A generic network error occurred.

A network error occurred while calling service TEST https://beefree.io/test-url

Sample Error Message

{
  code: 9900,
  message: 'A generic network error occurred.',
  detail: 'A network error occurred while calling service TEST https://beefree.io/test-url',
  data: {
    // an extract of Axios HTTP error details
    "message":"Request failed with status code 404",
    "status":404,
    "code":"ERR_BAD_REQUEST",
    "url":"https://beefree.io/test-url",
    "method":"get",
    "headers":{"Accept":"application/json, text/plain, */*"}
  },
}

onInfo Callback

The onInfo callback is specifically designed for the AI Writing Assistant AddOn and provides real-time usage data with each response, without storing or tracking the information. It also notifies your application when a user clicks on Apply for any AI-generated text suggestion.

To configure this in your app, add the onInfo callback to your beeConfig:

onInfo: function (information) { 
  /* Implement function to handle info events such as when AI-generated text is applied */ 
}

Response

{
  code: number,
  message: string,
  detail: object,
}

Example Response on prompt generation

Here’s an example of the data you can expect when the user asks to generate content:


AddOn Information
{
  "code": 1000,
  "message": "Token usage for addon handle: ai-integration",
  "detail": {
    "handle": "ai-integration",
    "promptId": "60bcc837-674c-4226-adad-91ee2a603b57",
    "usage": {
      "prompt_tokens": 50,
      "completion_tokens": 100,
      "total_tokens": 150,
      "uid": "string"
    },
  },
}

Example Response on prompt apply

Here’s an example of the data you can expect when the user applies AI-generated content:

{
    "code": 1001,
    "message": "Prompt '60bcc837-674c-4226-adad-91ee2a603b57' has been applied",
    "detail": {
      "handle": "ai-integration",
      "promptId": "60bcc837-674c-4226-adad-91ee2a603b57",
      "moduleId": "9c2c6e63-f9c3-4e8d-9e3e-f9a658fefe46",
      "content": "Discover the Best Email Editor"
    }
}

Last updated

Was this helpful?