src/XQueue/Maileon/API/Reports/ReportsService.php
private function createQueryParameters($pageIndex, $pageSize, $fromDate, $toDate, $contactIds, $contactEmails, $contactExternalIds, $mailingIds, $source, $embedFieldBackups)
    {
        $queryParameters = array(
            'page_index' => $pageIndex,
            'page_size' => $pageSize
        );

        if (isset ($fromDate))
            $queryParameters ['from_date'] = $fromDate;
        if (isset ($toDate))
            $queryParameters ['to_date'] = $toDate;
        if (isset ($source))
            $queryParameters ['source'] = $source;

        $queryParameters = $this->appendArrayFields($queryParameters, "ids", $contactIds);
        $queryParameters = $this->appendArrayFields($queryParameters, "emails", $contactEmails);
        $queryParameters = $this->appendArrayFields($queryParameters, "eids", $contactExternalIds);

        if (isset ($embedFieldBackups))
            $queryParameters ['embed_field_backups'] = ($embedFieldBackups == true) ? "true" : "false";

        if (isset ($mailingIds)) {
            $queryParameters ['mailing_id'] = array();

            foreach ($mailingIds as $mailingId) {
                $queryParameters ['mailing_id'] [] = $mailingId;
            }
        }
        return $queryParameters;
    }
private function createQueryParameters($pageIndex, $pageSize, $fromDate, $toDate, $contactIds, $contactEmails, $contactExternalIds, $mailingIds, $source, $embedFieldBackups)
    {
        $queryParameters = array(
            'page_index' => $pageIndex,
            'page_size' => $pageSize
        );

        if (isset ($fromDate))
            $queryParameters ['from_date'] = $fromDate;
        if (isset ($toDate))
            $queryParameters ['to_date'] = $toDate;
        if (isset ($source))
            $queryParameters ['source'] = $source;

        $queryParameters = $this->appendArrayFields($queryParameters, "ids", $contactIds);
        $queryParameters = $this->appendArrayFields($queryParameters, "emails", $contactEmails);
        $queryParameters = $this->appendArrayFields($queryParameters, "eids", $contactExternalIds);

        if (isset ($embedFieldBackups))
            $queryParameters ['embed_field_backups'] = ($embedFieldBackups == true) ? "true" : "false";

        if (isset ($mailingIds)) {
            $queryParameters ['mailing_id'] = array();

            foreach ($mailingIds as $mailingId) {
                $queryParameters ['mailing_id'] [] = $mailingId;
            }
        }
        return $queryParameters;
    }
Creates the common query parameters

@param integer $pageIndex
The index of the result page. The index must be greater or equal to 1.
@param integer $pageSize
The maximum count of items in the result page. If provided, the value of page_size must be in the range 1 to 1000.
@param long $fromDate
If provided, only the unsubscriptions after the given date will be returned. The value of from_date must be a numeric value representing a point in time milliseconds afterJanuary 1, 1970 00:00:00
@param long $toDate
If provided, only the unsubscriptions before the given date will be returned. The value of to_date must be a numeric value representing a point in time milliseconds afterJanuary 1, 1970 00:00:00
@param array $contactIds
Multivalued parameter to filter the unsubscriptions by contacts. Each value must correspond to a contact id.
@param array $contactEmails
Multivalued parameter to filter the unsubscriptions by email addresses.
@param array $contactExternalIds
Multivalued parameter to filter the unsubscriptions by external ids. Each value must correspond to a contacts external id.
@param array $mailingIds
Multivalued parameter to filter the unsubscriptions by mailings. Each value must correspond to a mailing id.
@param string $source
Filters the unsubscriptions by their source. The source can be an unsubscription link (link), a reply mail (reply) or other.
@param bool
$embedFieldBackups Supported values: true / false. Field Backups are the values of contact fields that have been backed up for mailings because of a backup instruction. For each unsubscription, the corresponding field backups will be returned if available. Note that this only applies for non anonymizable field backups.

@return array