The get_traffic is used to retrieve information about the traffic spent by a subscription between two dates. The resulting information got for each subscription lists all days between the specified dates and shows the daily traffic spent within a subscription during this day.

Request Packet Structure

A request XML packet getting traffic information for the specified subscriptions includes the get_traffic operation node:

<packet>
    <webspace>
        <get_traffic>
            ...
        </get_traffic>
    </webspace>
</packet>

The get_traffic node does not have a separate data type, it is nested within the complex type (domain_input.xsd). The get_traffic node has the following graphics representation:

image 33930

Note: The interactive schema navigator for all request packets is available here: http://plesk.github.io/api-schemas/1.6.9.1/agent_input.svg.

  • filter, required

    It specifies subscriptions whose traffic information will be got from Plesk. Data type: DomainFilterType (domain_input.xsd). To see the structure of this node, proceed to topic Available Filters.

  • since_date, optional

    It specifies the starting date of the period. If the packet is missing this node, the analyzed days will not be limited below. Data type: date. Format: YYYY-MM-DD.

  • to_date, optional

    It specifies the end date of the period. If the packet is missing this element, the period will be limited by the date of the request execution. Data type: date. Format: YYYY-MM-DD.

If the packet is missing both nodes since_date and to_date, the response packet will show the traffic of the specified subscription day by day since its creation and up to the date of the request execution.

Note: When creating request packets, put nodes and elements in the order they follow in the packet structure.

Response Packet Structure

The get_traffic node of the response packet is structured as follows:

image 33933

Note: The interactive schema navigator for all response packets is available here: http://plesk.github.io/api-schemas/1.6.9.1/agent_output.svg.

  • The result, optional

    It wraps the result of the requested get_traffic operation. It can be missing if some error occurs before the validation starts. Data type: resultFilterType (common.xsd).

  • The status, required

    It returns the execution status of the get_traffic operation. Data type: string. Allowed values: ok | error.

  • The errcode, optional

    It is used to return an error code if the get_traffic operation fails. Data type: unsignedInt.

  • The errtext, optional

    Can be used to return an error message if the get_traffic operation fails. Data type: string.

  • The filter-id, optional

    It is always present and used to return the parameter by which the subscription was filtered by in the request packet. Data type: anySimple.

  • The id, optional

    Returns the identifier of the subscription whose traffic is requested. It is missing if the request packet fails before the validation on the server side. Data type: integer.

  • The traffic, optional

    It contains a collection of traffic data obtained from Plesk server (see below). Data type: trafficType (plesk_domain.xsd).

The traffic, defined by type trafficType (plesk_domain.xsd). It is structured as follows:

image 33934

  • date, required

    It specifies the date for which the traffic is shown. Data type: date. Format: YYYY-MM-DD.

  • http_in, required

    It shows the incoming traffic (in bytes) got via HTTP protocol. Data type: integer.

  • http_out, required

    It shows the outgoing HTTP traffic (in bytes). Data type: integer.

  • ftp_in, required

    It shows the incoming traffic (in bytes) got via FTP protocol. Data type: integer.

  • ftp_out, required

    It shows the outgoing FTP traffic (in bytes). Data type: integer.

  • smtp_in, required

    It shows the incoming traffic (in bytes) got via SMTP protocol. Data type: integer.

  • smtp_out, required

    It shows the outgoing SMTP traffic (in bytes). Data type: integer.

  • pop3_imap_in, required

    It shows the incoming traffic (in bytes) got via POP3 and IMAP protocols. Data type: integer.

  • pop3_imap_out, required

    It shows the outgoing POP3/IMAP traffic (in bytes). Data type: integer.

Samples

This packet requests traffic on a single subscriptions:

<packet>
    <webspace>
        <get_traffic>
            <filter>
                <id>1</id>
            </filter>
            <since_date>2006-10-01</since_date>
        </get_traffic>
    </webspace>
</packet>

Response:

<packet>
    <webspace>
        <get_traffic>
            <result>
                <status>ok</status>
                <filter-id>1</filter-id>
                <id>1</id>
                <traffic>
                    <date>2015-10-05</date>
                    <http_in>0</http_in>
                    <http_out>0</http_out>
                    <ftp_in>0</ftp_in>
                    <ftp_out>0</ftp_out>
                    <smtp_in>3055</smtp_in>
                    <smtp_out>0</smtp_out>
                    <pop3_imap_in>0</pop3_imap_in>
                    <pop3_imap_out>0</pop3_imap_out>
                </traffic>
            </result>
        </get_traffic>
    </webspace>
</packet>

A packet that requests traffic on subscriptions with IDs 1234 and 1235 looks as follows:

<packet>
    <webspace>
        <get_traffic>
            <filter>
                <id>1234</id>
                <id>1235</id>
            </filter>
            <since_date>2006-10-01</since_date>
        </get_traffic>
        <get_traffic>
            <filter>
                <name>technolux.co.uk</name>
                <name>softlux.com</name>
            </filter>
            <since_date>2006-10-01</since_date>
        </get_traffic>
    </webspace>
</packet>

To get traffic information for all subscriptions belonging to a certain customer, use group filtering (see topic Available Filters for details). Customers whose domains are filtered can be specified within one filter either by owner-id or by owner-login.

<packet>
    <webspace>
        <get_traffic>
            <filter>
                <owner-login>technolux</owner-login>
                <owner-login>technologic</owner-login>
            </filter>
            <since_date>2006-10-01</since_date>
        </get_traffic>
        <get_traffic>
            <filter>
                <owner-login>1342</owner-login>
                <owner-login>1452</owner-login>
            </filter>
            <since_date>2006-10-01</since_date>
        </get_traffic>
    </webspace>
</packet>

To get traffic information for all subscriptions available for XML API requester in Plesk, send the following packet:

<packet>
    <webspace>
        <get_traffic>
            <filter/>
            <since_date>2006-10-01</since_date>
        </get_traffic>
    </webspace>
</packet>