Delete upsell campaign
Overview
Use the deleteUpSellCampaign method via JSON-RPC API 6.0 to permanently delete an upsell campaign in any status (active, disabled, expired).
Request parameters
Parameters | Type | Required/Optional | Description |
---|---|---|---|
upSellCampaignCode | String | Required | The identifying code of the upsell campaign. |
Request sample
<?php declare(strict_types=1); class Configuration { public const MERCHANT_CODE = ''; public const MERCHANT_KEY = ''; public const URL = 'http://api.2checkout.com/rpc/6.0'; public const ACTION = 'deleteUpsellCampaign'; public const ADDITIONAL_OPTIONS = null; public const PAYLOAD = "72937a15-1ffd-43b9-90b2-210d03dcd754"; } class Client { private const LOGIN_METHOD = 'login'; private $calls = 1; private $sessionId; private function generateAuth(): array { $merchantCode = Configuration::MERCHANT_CODE; $key = Configuration::MERCHANT_KEY; $date = gmdate('Y-m-d H:i:s'); $string = strlen($merchantCode) . $merchantCode . strlen($date) . $date; $hash = hash_hmac('md5', $string, $key); return compact('merchantCode', 'date', 'hash'); } public function login(string $url) { $payload = $this->generateAuth(); $response = $this->call($url, array_values($payload), self::LOGIN_METHOD); $this->sessionId = $response['result']; } public function call( string $url = Configuration::URL, $payload = Configuration::PAYLOAD, string $action = Configuration::ACTION ): ?array { if (empty($this->sessionId) && $action !== self::LOGIN_METHOD) { $this->login($url); } if (!empty($this->sessionId)) { $payload = [$this->sessionId, $payload, Configuration::ADDITIONAL_OPTIONS]; } $payload = array_filter($payload); $request = json_encode([ 'jsonrpc' => '2.0', 'method' => $action, 'params' => $payload, 'id' => $this->calls++, ]); $curl = curl_init($url); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSLVERSION, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Accept: application/json', 'Cookie: XDEBUG_SESSION=PHPSTORM')); curl_setopt($curl, CURLOPT_POSTFIELDS, $request); $response = curl_exec($curl); if(empty($response)) { die('Server unavailable'); } echo $response . '</br>'; return json_decode($response, true);; } } $client = new Client(); $result = $client->call(); var_dump($result);
Response
- 204 - 'No content' if SUCCESS
- 4xx if FAILED with distinct error messages
Error handling
Error code | Message |
---|---|
UPSELL_CAMPAIGN_NOT_FOUND | Upsell campaign with code test was not found. |
UPSELL_CAMPAIGN_CODE_EMPTY | Code is not set |
UPSELL_CAMPAIGN_CODE_TOO_LONG | Code exceeds allowed max length (255) |