Nx Meta Server 6.1: Object Metadata Push Integration Issue with REST API
In ProgressI am working with the Nx Meta Server 6.1 REST API and have implemented the following authentication and metadata push flow:
- First, successfully obtain session token using
/rest/v4/login/sessions
- Then, get authorization ticket using
/rest/v4/login/tickets
- Finally, attempt to push object metadata using
/rest/v4/analytics/engines/{id}/deviceAgents/{deviceId}/metadata/object
The IDs being used are:
- engineId: "eb46f795-9188-e608-6bd3-84b27eaaee3c"
- deviceId: "7dc1ac86-5afb-54b1-2a13-a12cd45a2851"
These IDs have been verified as correct through /ec2/getCamerasEx?extraFormatting
. Additionally, I have implemented functions to query engines (/rest/v4/analytics/engines
) and device agents (/rest/v4/devices
).
While authentication works and I can successfully make other API calls (like createEvent), when pushing metadata I receive:
{"error":"6","errorId":"internalServerError","errorString":"Integration Request data was not found, User id: {99cbc715-539b-4bfe-856f-799b45b69b1e}."}
Despite the error, the metadata JSON structure follows the API specification:
{
"flags": "none",
"timestampUs": [timestamp],
"durationUs": 0,
"objects": [{
"trackId": "[uuid]",
"subtype": "person",
"boundingBox": {
"x": 0.1, "y": 0.1,
"width": 0.2, "height": 0.3
},
"typeId": "human",
"confidence": 0.95,
"attributes": [...]
}]
}
Questions:
- Is there a required server-side integration setup for metadata processing?
- Should the deviceAgent be explicitly activated before pushing metadata?
- Are there any specific engine or device agent configurations needed for metadata integration?
Any insights on resolving this integration error would be appreciated.
-
Hello,
First of all, thank you for trying out our new features and providing valuable feedback! We truly appreciate your engagement.
Let me address your questions one by one:
-
Is there a required server-side integration setup for metadata processing?
From the server side, all that's needed is to allow integration registration requests in the integration settings, which is enabled by default. If you’ve already registered and approved the integration, the server setup and configuration should be complete. -
Should the deviceAgent be explicitly activated before pushing metadata?
Yes, before pushing metadata, the device agent must be created. This happens automatically when you enable the integration in the Device → Integrations tab. -
Are there any specific engine or device agent configurations needed for metadata integration?
API integrations function similarly to plugins from the user’s perspective, so no additional configurations are required.
Additionally, I noticed that you are using only REST endpoints for your integration. Please ensure that the
{"isRestOnly": true}
flag is included in the integration manifest.Currently, we support two types of integrations: REST-only and WebSocket-based. If this flag is not provided, the integration will default to WebSocket-based. In this case, the server will expect specific data to be sent via WebSocket (e.g., a device agent manifest will be requested when enabling the integration in the device settings). Without this data, the device agent won’t be created, and the integration will not function.
If the
isRestOnly
flag is set totrue
, the device agent manifest must be provided along with the integration request, and no requests will be sent to the integration via WebSocket.Also, in current version, after approving the integration request, you need to restart the server.
I hope this clarifies things! We understand that this beta functionality is not yet fully documented, but we are working on creating detailed help topics and open-source examples to support this feature.
If you encounter any further issues or have additional questions, please don’t hesitate to reach out here.
-
Please sign in to leave a comment.
Comments
1 comment