Skip to content

nipc-asdf-07

Latest
Compare
Choose a tag to compare
@rohitmohan96 rohitmohan96 released this 17 Jun 20:17
  • Updated API paths to use RESTful resource naming conventions:
    • /{id}/property/{property}/devices/{id}/properties/{propertyName}
    • /{id}/event/{event}/devices/{id}/events/{eventName}
    • /{id}/action/{action}/devices/{id}/actions/{actionName}
    • /{id}/action/connection/devices/{id}/manage/connection
  • Added group operations as a separate endpoint:
    • POST /groups/{id}/events/{eventName} - Enable event on group
    • DELETE /groups/{id}/events/{instanceId} - Disable event on group
    • GET /groups/{id}/events/{instanceId} - Get group event status
    • GET /groups/{id}/events - Get multiple group events status
  • Migrated from custom error format to RFC 9457 Problem Details:
    • Removed nipcStatus field and numeric error codes
    • Added type field with URI-based error identifiers
    • Added title field for brief error summaries
  • Updated status codes for better HTTP compliance:
    • Actions now return 202 Accepted with Location header for status tracking
    • Property writes return 204 No Content instead of echoing the written data
  • Simplified response formats by removing redundant data:
    • Property read responses no longer include id and property fields
    • Event responses use instance-based tracking with Location headers
    • Removed X-Request-ID headers from examples
  • Events now use instance-based management:
    • Event enable operations return 201 Created with Location header
    • Location header contains unique instance ID for tracking
    • Event disable uses instance ID instead of event name
    • Support for multiple instances of the same event type
  • Actions now follow asynchronous pattern:
    • POST /devices/{id}/actions/{actionName} returns 202 Accepted
    • Location header points to action instance for status checking
    • GET /devices/{id}/actions/{instanceId} checks action status
    • Status responses include completion state (e.g., "IN_PROGRESS", "COMPLETED")
  • SDF model registration response format changed:
    • Now returns array format: [{"sdfName": "..."}] instead of single object
  • Multi-property operations now use array format:
    • Request/response bodies are direct arrays instead of objects with properties field
    • Simplified structure: [{"property": "...", "value": "..."}]
  • Moved embedded protocol mapping APIs to extensions:
    • POST /{id}/action/property/write/extensions/{id}/properties/write
    • POST /{id}/action/property/read/extensions/{id}/properties/read
    • POST /{id}/action/broadcast/extensions/{id}/manage/transmit
  • Fixed API path reference in connection management documentation:
    • /{id}/action/connection/devices/{id}/manage/connection