Overview
  • Namespace
  • Class

Namespaces

  • APWG
    • API
      • Alerts
      • Groups
      • Index
      • MalIP
      • Phish
      • ReportPhishing

Classes

  • APWG\API\AbstractClient
  • APWG\API\Alerts\AlertsClient
  • APWG\API\Groups\GroupsClient
  • APWG\API\Index\IndexClient
  • APWG\API\MalIP\MalIPClient
  • APWG\API\Phish\PhishClient
  • APWG\API\ReportPhishing\ReportPhishingClient

Interfaces

  • APWG\API\ClientInterface
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 
<?php

namespace APWG\API\MalIP;

use APWG\API\AbstractClient;
use Psr\Http\Message\ResponseInterface;

/**
 * Interact with the Mal_IP API
 *
 * Class MalIPClient
 * @package APWG\API\MalIP
 * @author Andrew Breksa <andrew@apwg.org>
 * @copyright Copyright (c) 2017 The Anti-Phishing Working Group
 */
class MalIPClient extends AbstractClient {

    /**
     * Searches the mal_ip module
     *
     * @param array $options an associative array of query parameters
     *
     * @return ResponseInterface
     */
    public function search($options = []) {
        return $this->_call('get', 'mal_ip', [
            'query' => $options,
        ]);
    }

    /**
     * Gets a specific phish
     *
     * @param int $id the mal_ip id
     * @param array $options an associative array of query parameters
     *
     * @return ResponseInterface
     */
    public function get($id, $options = []) {
        return $this->_call('get', 'mal_ip/' . $id, [
            'query' => $options,
        ]);
    }

    /**
     * Checks that a mal_ip by that ID exists and returns a last-modified header
     *
     * @param int $id the mal_ip id
     *
     * @return ResponseInterface
     */
    public function head($id) {
        return $this->_call('head', 'mal_ip/' . $id);
    }

    /**
     * Submits a new mal_ip entry
     *
     * @param array $data an associative array of mal_ip data
     * @param array $options an associative array of query parameters
     *
     * @return ResponseInterface
     */
    public function create($data, $options = []) {
        return $this->_call('post', 'mal_ip', [
            'json'  => $data,
            'query' => $options,
        ]);
    }

    /**
     * Get a Last-Modified header with the timestamp of the last collaboration activity for a specific entity
     *
     * @param int $id
     *
     * @return ResponseInterface
     */
    public function lastCollaboration($id) {
        return $this->_call('head', 'mal_ip/' . $id . '/collaborate', []);
    }

    /**
     * Return a JSON schema for the mal_ip module's GET:/mal_ip endpoint parameters, useful for validating Alert queries
     *
     * @param int $id the phish id
     * @param array $options an associative array of query parameters
     *
     * @return ResponseInterface
     */
    public function getParamSchema($options = []) {
        return $this->_call('get', 'mal_ip/param_schema', [
            'query' => $options,
        ]);
    }

}
API documentation generated by ApiGen