Skip to main content
07399 456 959 [email protected]

Product Deals Object
Last updated: January 05 2022 11:19 PM

The deals object can ONLY be returned when you request an individual product and filtered for new or refurbished using a similar endpoint below:

E.g. products/{product id}/?expand=products(deals)&filter[condition]=eq{new}

optional attributes in the product deals object may be not returned, so please check for their existance

Product Deals Object

Attribute Type Description
deals array[object] An array containing product deal contract allowances and associated information.
deals.upfrontCost decimal The upfront cost of the product for the deal

E.g. 19.99
deals.contractPrice decimal The monthly contract price for the deal

E.g. 55.00
deals.totalCost decimal The total cost of the contract over the full contract length

E.g. 912.00
deals.dealType string The type of deal either

Consumer, Existing Customer or Upgrade will be returned
deals.contractLength number The length of the contract for the deal

E.g. 24
deals.friendlyContractLength string The friendly length of the contract for the deal

E.g. 24 months contract
deals.networkName string The name of the network the deal is on

E.g. EE or Vodafone
deals.networkLogo string A url for the network logo 'image/png' (50 X 50)
deals.supplierName string The name of the supplier of the deal

E.g. Affordablemobiles.co.uk
deals.supplierLogo string A url for the supplier logo 'image/png' (100 X 50)
deals.purchaseLink string A link to purchase the deal
deals.dataAllowance number The monthly data allowance for the deal

E.g. 50000 or 999999 (means unlimited)
deals.friendlyDataAllowance string The monthly data allowance for the deal

E.g. 50GB or 500MB or Unlimited
deals.callAllowance
optional
number The monthly call allowance for the deal

E.g. 5000 or 999999 (means unlimited)
deals.friendlyCallAllowance
optional
string The monthly call allowance for the deal

E.g. Unlimited or 5000 mins
deals.textAllowance
optional
string The monthly text allowance for the deal

E.g. 300 or 999999 (means unlimited)
deals.friendlyTextAllowance
optional
string The monthly text allowance for the deal

E.g. Unlimited or 3000 texts
deals.cashbackValue
optional
decimal The cash back value

E.g 144.00
deals.cashbackType
optional
string The cash back type

Cashback by Redemption or Guaranteed/Automatic Cashback will be returned
deals.giftName
optional
string The gift name

E.g. LG 32-inch LED Smart TV
deals.giftImage
optional
string A url for a gift image 'image/png' (250 X 230)
deals.contractName array[object] The name of the contract

E.g. EE 4G Essential Plan

Product Expand Deals Request Example

GET
https://api.uconvert.co.uk/deals/v1/products/2203/?expand=products(deals)&filter[condition]=eq{new}
{
  "products" : [
    {
      "id": "2203",
      "name": "Apple iPhone 8 256GB Silver",
      "slug": "apple-iphone-8-256gb-silver",
    }
  ],
  "deals": [
    {
      "contractName": "Virgin Mobile Pay Monthly Plan",
      "contractLength": "24",
      "contractSupplierId": "12",
      "contractSupplierName": "Virgin Mobile",
      "friendlyContractLength": "24 Month Contract",
      "dataAllowance": "1000",
      "friendlyDataAllowance": "1GB",
      "callAllowance": "1000",
      "friendlyCallAllowance": "1000 mins",
      "textAllowance": "999999",
      "friendlyTextAllowance": "Unlimited",
      "dealLink": "https://deals.uconvert.co.uk/deal_redirect/5/209496741/",
      "totalDealCost": "1188.00",
      "supplierId": "12",
      "supplierName": "Virgin Mobile",
      "productUpfrontCost": "0.00",
      "supplierContractPrice": "60.00",
      "productImg": "https://static.uconvert.co.uk/img/ . . .",
      "productName": "Apple iPhone 8 256GB Silver"
    }
    {},
    {},
    {},
  ]
}
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.uconvert.co.uk/deals/v1/products/2203/?expand=products(deals)&filter[condition]=eq{new}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "x-api-key: 123456"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
curl --request GET \
  --url 'https://api.uconvert.co.uk/deals/v1/products/2203/?expand=products(deals)&filter[condition]=eq{new}' \
  --header 'x-api-key: 123456'
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://api.uconvert.co.uk/deals/v1/products/2203/?expand=products(deals)&filter[condition]=eq{new}",
  "method": "GET",
  "headers": {
    "x-api-key": "123456"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});
require 'uri'
require 'net/http'

url = URI("https://api.uconvert.co.uk/deals/v1/products/2203/?expand=products(deals)&filter[condition]=eq{new}")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '123456'

response = http.request(request)
puts response.read_body