Aldıgım hata json kontrolde
Hata: 1. satırda ayrıştırma hatası: 
<br /> <b> Not 
^ 
'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', 'undefined' bekleniyor
<?php

class Api2Controller extends Controller
{
    /**
     * Construct this object by extending the basic Controller class
     */
    public function __construct()
    {
        parent::__construct();
    }

    public function call()
    {
        header('Content-Type: application/json');
        $action = trim(strip_tags($_REQUEST['action']));
        switch ($action){
            case 'add':
                $key = trim(strip_tags($_REQUEST['key']));
                $service = trim(strip_tags($_REQUEST['service']));
                $link = trim(strip_tags($_REQUEST['link']));
                $quantity = (intval($_REQUEST['quantity']) > 0) ? addslashes(intval($_REQUEST['quantity'])) : 0;
                $scheduled = null;
                if(isset($_REQUEST['scheduled']))
                    $scheduled = trim(strip_tags($_REQUEST['scheduled']));
                if ($scheduled){
                    $_POST['schedule_order'] = true;
                }
                $dripfeed = !empty($_REQUEST['dripfeed_interval_type']) ? trim(strip_tags($_REQUEST['dripfeed_interval_type'])) : null;
                if($dripfeed){
                    $_POST['dripfeed'] = 'on';
                }
                Api2Model::add($key, $service, $link, $quantity, $scheduled, $dripfeed);
                break;
            case 'autoservice':
                $key = trim(strip_tags($_REQUEST['key']));
                $service_id = trim(strip_tags($_REQUEST['service_id']));
                $profile = trim(strip_tags($_REQUEST['profile']));
                $minimum = trim(strip_tags($_REQUEST['minimum']));
                $maximum = trim(strip_tags($_REQUEST['maximum']));
                $posts = trim(strip_tags($_REQUEST['posts']));
                $delay = trim(strip_tags($_REQUEST['delay']));
                Api2Model::autoService($key, $service_id, $profile, $minimum, $maximum, $posts, $delay);
                break;
            case 'status':
                $key = trim(strip_tags($_REQUEST['key']));
                $orderid = trim(strip_tags($_REQUEST['order']));
                Api2Model::status($key, $orderid);
                break;
            case 'autostatus':
                $key = trim(strip_tags($_REQUEST['key']));
                $id = trim(strip_tags($_REQUEST['id']));
                Api2Model::autoStatus($key, $id);
                break;
            case 'services':
                $key = trim(strip_tags($_REQUEST['key']));
                Api2Model::services($key);
                break;
            case 'service':
                $key = trim(strip_tags($_REQUEST['key']));
                $service_id = trim(strip_tags($_REQUEST['service_id']));
                Api2Model::service($key, $service_id);
                break;
            case 'balance':
                $key = trim(strip_tags($_REQUEST['key']));
                Api2Model::balance($key);
                break;
            case 'cancelorder':
                $key = trim(strip_tags($_REQUEST['key']));
                $order = trim(strip_tags($_REQUEST['order']));
                Api2Model::cancelOrder($key, $order);
                break;
            default:
                return json_encode(['error' => Text::get('Invalidrequestpleasechooseanactionmethod')]);
                break;
        }
    }

    }