Warning, Error, and Info Callbacks
onWarning
Callback
onWarning
CallbackThe 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
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
onError
callbackThe 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
:
Add the
onError
callback to your beeConfig.Configure your callback function.
Add
extendedOnError
to yourbeeConfig
file.Set the boolean
extendedOnError
boolean totrue
.
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.
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
onInfo
CallbackThe 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?