Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

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).

(info) 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.

  • Batch update

Also there is a way to update the status of multiple clients simultaneously, which can be done through a batch update. For example, we’ll use the clients with the following IDs: 643d32be7112800014c3873f, 6400e9c18a21020d261e7df1, and 6400e9e28a21020d261e7e32. Taking these IDs into account, the bulk update of those clients' statuses in OZmap can be performed as follows:

curl --location 'https://sandbox.ozmap.com.br:9994/api/v2/ftth-clients/batch-update' \
--header 'Content-Type: application/json' \
--header 'Authorization: AUTHORIZATION_TOKEN' \
--data '{
    "update": { "status": 1 },
    "filter": [{
        "property": "id",
        "operator": "in",
        "value": ["643d32be7112800014c3873f","6400e9c18a21020d261e7df1","6400e9e28a21020d261e7e32"]
    }]
}'

The expected response for this operation is an empty message with a “204 No Content” status, indicating that the clients’s statuses were successfully updated.

  • No labels