In OZmap, a client and their residence are represented by distinct elements. The person who subscribed to an internet service is represented by the "Client" element, and the residence where this client lives and where the internet service is installed is represented by the "Property" element. Therefore, the status of a customer is read and edited in the "Client" element in OZmap. The color of the icon representing the customer in OZmap is defined by their status, with two statuses currently available: "OK" (green icon) and "ERROR" (red icon).
Initial Scenario
For example, consider a scenario where a monitoring or provisioning software needs to read and update client statuses in OZmap.
➡️ Example
A client monitored by the integrator software experiences an optical signal loss, and the software needs to update the client’s status in OZmap to ERROR. In this example, the client in the software is identified in OZmap by the "Code" (code
) attribute, but other attributes can be used, such as the MAC address (mac_address
).
🔗 API
The next step is to figure out how the requests for reading and updating Client statuses should be made. Below is an example:
For this example, let's assume the client’s code is: test-status
. First, we need to identify the client ID to be updated.
With the client’s code being test-status, the client search in OZmap would be done as follows:
curl --location --request GET 'https://sandbox.ozmap.com.br:9994/api/v2/properties/client/test-status' \ --header 'authorization: AUTHORIZATION_TOKEN' \ --header 'Accept: application/json' \
Attention! The authorization token must be created in the OZmap interface. For more information, click here.
The expected return is:
[ { "_id": "643d32bf7112800014c38742", "observation": "", "drop": "643d32bf7112800014c38744", "tags": [], "cables": [], "kind": "Property", "coords": [ -48.52836683392526, -27.576685937919645 ], "address": "", "box": "5da728dd11450e0006947cbb", "pole": "5da728dd11450e0006947cbd", "client": { "_id": "643d32be7112800014c3873f", "certified": false, "status": 0, "observation": "", "tags": [], "implanted": true, "onu": { "user_PPPoE": "", "serial_number": "", "mac_address": "" }, "kind": "ftth", "code": "test-status", "name": "Cliente Teste Status", "creatorData": { "id": "5d9f3fb8200141000647f768", "name": "Support OZmap", "username": "devoz" }, "createdAt": "2023-04-17T11:51:26.981Z", "updatedAt": "2023-04-17T11:51:26.981Z", "__v": 0 }, "project": "5d9f3ff9200141000647f814", "creatorData": { "id": "5d9f3fb8200141000647f768", "name": "Support OZmap", "username": "devoz" }, "history": { "clients": [ { "id": "643d32be7112800014c3873f", "code": "teste-status", "enter_date": "2023-04-17T11:51:27.067Z", "exit_date": null } ] }, "createdAt": "2023-04-17T11:51:27.072Z", "updatedAt": "2023-04-17T11:51:27.493Z", "__v": 0, "connections": [ { "id": "5da728dd11450e0006947cbf", "kind": "Splitter", "port": 6, "name": "Splitter 1", "implanted": true, "fiber": "643d32bf7112800014c38745" } ] } ]
The current status recorded for this customer is indicated by the status
attribute of the "client" object, which returned the value 0
, representing the "OK" status.
To modify this client’s status, the update should be made using the _id
attribute of the "client" object, which in this example has the value 643d32be7112800014c3873f
, and we must pass the status 1
, which represents the "ERROR" status.
With the id 643d32be7112800014c3873f
, the status update in OZmap is done as follows:
curl --location --request PATCH 'https://sandbox.ozmap.com.br:9994/api/v2/ftth-clients/643d32be7112800014c3873f' \ --header 'authorization: AUTHORIZATION_TOKEN' \ --header 'Content-Type: application/json' \ --data-raw '{ "status": 1 }'
Attention! The authorization token must be created in the OZmap interface. For more information, click here.
The expected response for this operation is an empty message with a "204 No Content" status, indicating that the client’s status was successfully updated.
Add Comment