Model/BlacklistModel.php
public function getRecord($phone, $ageMinutes, $cacheOnly = false)
    {
        /** @var PluginEnhancerBlacklist $record */
        $record = $this->getRepository()->findByPhone($phone);

        if (null === $record || $record->getDateAdded()->getTimestamp() > (time() - ($ageMinutes * 60))) {
            // Do not make the API request if cacheOnly.
            if ($cacheOnly) {
                return false;
            }

            // Blacklist service does not support E164 standard.
            $uri = rtrim($this->endpoint, '/').
                '/Lookup/key/'.trim($this->key).'/response/json/phone/'.
                ltrim($phone, '+');
            $httpClient = new Client();
            $response   = $httpClient->request('GET', $uri, ['timeout' => 3, 'connect_timeout' => 2]);
            $result     = json_decode($response->getBody()->getContents(), true);

            if (null === $record) {
                $record = new PluginEnhancerBlacklist();
                $record->setPhone($phone);
            }
            if ($result['sid']) {
                $record->setSid($result['sid']);
            }
            if ($result['code']) {
                $record->setCode($result['code']);
            }
            if ($result['results']) {
                $record->setResult($result['results']);
            }
            if ($result['wireless']) {
                $record->setWireless($result['wireless']);
            }
            $record->setDateAdded(new \DateTime());
            $this->getRepository()->saveEntity($record);
        }

        return $record;
    }
public function getRecord($phone, $ageMinutes, $cacheOnly = false)
    {
        /** @var PluginEnhancerBlacklist $record */
        $record = $this->getRepository()->findByPhone($phone);

        if (null === $record || $record->getDateAdded()->getTimestamp() > (time() - ($ageMinutes * 60))) {
            // Do not make the API request if cacheOnly.
            if ($cacheOnly) {
                return false;
            }

            // Blacklist service does not support E164 standard.
            $uri = rtrim($this->endpoint, '/').
                '/Lookup/key/'.trim($this->key).'/response/json/phone/'.
                ltrim($phone, '+');
            $httpClient = new Client();
            $response   = $httpClient->request('GET', $uri, ['timeout' => 3, 'connect_timeout' => 2]);
            $result     = json_decode($response->getBody()->getContents(), true);

            if (null === $record) {
                $record = new PluginEnhancerBlacklist();
                $record->setPhone($phone);
            }
            if ($result['sid']) {
                $record->setSid($result['sid']);
            }
            if ($result['code']) {
                $record->setCode($result['code']);
            }
            if ($result['results']) {
                $record->setResult($result['results']);
            }
            if ($result['wireless']) {
                $record->setWireless($result['wireless']);
            }
            $record->setDateAdded(new \DateTime());
            $this->getRepository()->saveEntity($record);
        }

        return $record;
    }
Gets from local cache and/or calls the Blacklist serivice.
See documentation at http://developer.theblacklist.click.

@param string $phone
@param int    $ageMinutes
@param bool   $cacheOnly  only pull cache records

@return string
@return PluginEnhancerBlacklist

@throws \GuzzleHttp\Exception\GuzzleException