Klien PHP untuk API Ajax internal cex UK.
Klien ini dibuat dari rekayasa balik respons Ajax saat menjelajahi situs web, sehingga mengasumsikan banyak hal.
Berlisensi di bawah MIT - lihat LICENSE.md untuk info lebih lanjut.
composer require liamja/ cex
vendor/bin/phpunit
Buat instance baru dari Klien cex :
$ cex = new cex Client ();
Produk individual disebut sebagai Kotak .
// Specify a new set of search parameters.
$ searchParameters = new SearchParameters ();
$ searchParameters -> setSearchTerm ( ' Super Mario Bros ' );
// Search for boxes that match our parameters.
$ boxes = $ cex -> searchBoxes ( $ searchParameters );
// cex Client::searchBoxes() returns an array of Liamja cex ModelsBox
foreach ( $ boxes as $ box ) {
// Get the box's unique ID.
echo $ box -> boxId ; // 045496901738
// Get the box's name.
echo $ box -> boxName ; // New Super Mario Bros. Wii
// Get the category the box belongs to.
echo $ box -> categoryName ; // Wii Software
// Get the cash price.
echo $ box -> cashPrice ; // 5.00
// Get the trade-in / exchange price.
echo $ box -> exchangePrice ; // 8.00
// Get the sale price.
echo $ box -> salePrice ; // 12.00
}
Untuk mencari stok di dekat suatu lokasi, Anda harus mencari tokonya terlebih dahulu.
API akan mengembalikan sekumpulan penyimpanan yang paling dekat dengan garis lintang dan garis bujur tertentu.
Geocoding tidak termasuk dalam cakupan paket ini, namun Anda dapat mencari perkiraan garis lintang dan bujur suatu lokasi menggunakan layanan geocoding seperti http://geocode.xyz:
// Set up a new Guzzle client solely for geocoding.
$ geocodeClient = new GuzzleHttp Client ([
' base_uri ' => ' https://geocode.xyz/ ' ,
]);
$ response = $ geocodeClient -> get ( ' Manchester, UK ' . ' ?json=1 ' );
$ results = json_decode ( $ response -> getBody ()-> getContent ());
// Use the geocoding results to find stores closest to Manchester.
$ stores = $ cex -> nearestStores ( $ results -> latt , $ results -> longt );
Untuk menemukan toko yang paling dekat dengan garis bujur dan garis lintang:
// First, you'll need the lat/long of the location you want to search.
$ latitude = 52.62343240000001 ;
$ longitude = 1.3077290999999605 ;
// Search for stores closest to a given location.
$ stores = $ cex -> nearestStores ( $ latitude , $ longitude );
// cex Client::nearestStores() returns an array of Liamja cex ModelsNearestStore
foreach ( $ stores as $ store ) {
// Get the store's unique ID.
echo $ store -> storeId ; // 168
// Get the store's name.
echo $ stores -> storeName ; // Norwich
// How far away the store is from the given location, in miles.
echo $ stores -> distance ; // 0.47
// Opening days and times.
echo $ box -> timings [ ' open ' ][ ' monday ' ]; // 9:00
echo $ box -> timings [ ' close ' ][ ' friday ' ]; // 18:00
}
$ stores = $ cex -> getStores ();
// cex Client::getStores() returns an array of Liamja cex ModelsStore
foreach ( $ stores as $ store ) {
// Get the store's unique ID.
echo $ store -> storeId ; // 168
// Get the store's name.
echo $ stores -> storeName ; // Norwich
// Get the store's region.
echo $ stores -> storeName ; // East Anglia
}
// Search for stores closest to a given location.
$ stores = $ cex -> nearestStores ( 52.62343240000001 , 1.3077290999999605 );
// Get the nearest store's ID.
$ storeId = $ stores [ 0 ]->storeId
// Search for stocked Battletoads at our nearest store.
$ searchParameters = new SearchParameters ();
$ searchParameters
-> setSearchTerm ( ' Battletoads ' )
-> setStoreId ( $ storeId )
-> isInStock ();
$ boxes = $ cex -> searchBoxes ( $ searchParameters );
Jika API mengembalikan kesalahan, FailureException akan ditampilkan:
try {
$ boxes = $ cex -> searchBoxes ( $ searchParameters );
} catch ( Liamja cex FailureException $ e ) {
echo $ e -> getMessage (); // "Missing search text"
echo $ e -> getCode (); //
echo $ e -> getMoreInfo (); // []
}
$ cex = new cex Client ();
// Search for 'Battleloads' titles that are in stock.
$ searchParameters = new SearchParameters ();
$ searchParameters
-> setSearchTerm ( ' Battletoads ' )
-> isInStock ();
$ boxes = $ cex -> searchBoxes ( $ searchParameters );
var_dump ( $ boxes );
// Search using their predictive search (seems better at sorting by relevancy.)
$ searchParameters = new SearchParameters ();
$ searchParameters -> setSearchTerm ( ' Super Mario Bros ' );
$ results = $ cex -> predictiveSearch ( $ searchParameters );
var_dump ( $ results );
// Search for stores closest to a given location.
$ stores = $ cex -> nearestStores ( 52.62343240000001 , 1.3077290999999605 );
var_dump ( $ stores );
// Show all stores in the country.
$ stores = $ cex -> getStores ();
var_dump ( $ stores );