scavio 0.28.1 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +82 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +126 -5
- package/dist/index.d.ts +126 -5
- package/dist/index.js +82 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -4873,8 +4873,14 @@ interface HebSearchOptions {
|
|
|
4873
4873
|
query: string;
|
|
4874
4874
|
/** Results page, 1-based (1-100). */
|
|
4875
4875
|
page?: number;
|
|
4876
|
-
/** Results per page (1-60; server default
|
|
4876
|
+
/** Results per page (1-60; server default 60). */
|
|
4877
4877
|
page_size?: number;
|
|
4878
|
+
/**
|
|
4879
|
+
* HEB store number from stores() (field store_number), e.g. "441". Prices,
|
|
4880
|
+
* stock, aisle location and assortment come from that store, echoed in
|
|
4881
|
+
* data.store. US only. Omit for HEB's default store.
|
|
4882
|
+
*/
|
|
4883
|
+
store_id?: string | number;
|
|
4878
4884
|
[key: string]: unknown;
|
|
4879
4885
|
}
|
|
4880
4886
|
interface HebProductOptions {
|
|
@@ -4884,10 +4890,19 @@ interface HebProductOptions {
|
|
|
4884
4890
|
* Preferred over slug + product_id.
|
|
4885
4891
|
*/
|
|
4886
4892
|
product_url?: string;
|
|
4887
|
-
/**
|
|
4893
|
+
/**
|
|
4894
|
+
* HEB product id (numeric id at the end of a product URL). Requires slug,
|
|
4895
|
+
* unless store_id is set.
|
|
4896
|
+
*/
|
|
4888
4897
|
product_id?: string;
|
|
4889
|
-
/** Product slug (readable part of the URL). Required with product_id. */
|
|
4898
|
+
/** Product slug (readable part of the URL). Required with product_id, unless store_id is set. */
|
|
4890
4899
|
slug?: string;
|
|
4900
|
+
/**
|
|
4901
|
+
* HEB store number from stores() (field store_number), e.g. "441". Price,
|
|
4902
|
+
* stock and aisle location come from that store, echoed in data.store. US
|
|
4903
|
+
* only. Omit for HEB's default store.
|
|
4904
|
+
*/
|
|
4905
|
+
store_id?: string | number;
|
|
4891
4906
|
[key: string]: unknown;
|
|
4892
4907
|
}
|
|
4893
4908
|
interface HebStoresOptions {
|
|
@@ -4903,7 +4918,7 @@ declare class HebNamespace {
|
|
|
4903
4918
|
/**
|
|
4904
4919
|
* Search HEB grocery products by keyword: price (cents), sale status, unit
|
|
4905
4920
|
* price, size, UPC, stock, EBT/SNAP eligibility, aisle location and product
|
|
4906
|
-
* URL.
|
|
4921
|
+
* URL. Pass store_id for one store's prices, stock and assortment.
|
|
4907
4922
|
*
|
|
4908
4923
|
* Costs 2 credits.
|
|
4909
4924
|
*/
|
|
@@ -4911,7 +4926,8 @@ declare class HebNamespace {
|
|
|
4911
4926
|
/**
|
|
4912
4927
|
* Full HEB product detail: nutrition facts, ingredients, description, images,
|
|
4913
4928
|
* similar products, coupons, EBT/SNAP eligibility and breadcrumbs. Pass
|
|
4914
|
-
* product_url (from search()) or slug + product_id
|
|
4929
|
+
* product_url (from search()) or slug + product_id, or product_id alone
|
|
4930
|
+
* with store_id.
|
|
4915
4931
|
*
|
|
4916
4932
|
* Costs 2 credits.
|
|
4917
4933
|
*/
|
|
@@ -5011,6 +5027,109 @@ declare class DecathlonNamespace {
|
|
|
5011
5027
|
product(options: DecathlonProductOptions): Promise<Record<string, unknown>>;
|
|
5012
5028
|
}
|
|
5013
5029
|
|
|
5030
|
+
interface TotalWineSearchOptions {
|
|
5031
|
+
/** Search keywords (1-200 characters). */
|
|
5032
|
+
query: string;
|
|
5033
|
+
/** Total Wine store number from stores(), e.g. "503". */
|
|
5034
|
+
store_id: string;
|
|
5035
|
+
/** Results page, 1-based (1-50). 24 results per page. */
|
|
5036
|
+
page?: number;
|
|
5037
|
+
[key: string]: unknown;
|
|
5038
|
+
}
|
|
5039
|
+
interface TotalWineProductOptions {
|
|
5040
|
+
/** Numeric product id from search() or the URL's /p/<id>, e.g. "96260175". */
|
|
5041
|
+
product_id?: string;
|
|
5042
|
+
/** Total Wine product URL ending in /p/<id>. */
|
|
5043
|
+
product_url?: string;
|
|
5044
|
+
/** Total Wine store number from stores(), e.g. "503". */
|
|
5045
|
+
store_id: string;
|
|
5046
|
+
[key: string]: unknown;
|
|
5047
|
+
}
|
|
5048
|
+
interface TotalWineStoresOptions {
|
|
5049
|
+
/** ZIP code, city, or "city, state", e.g. "78801". */
|
|
5050
|
+
query: string;
|
|
5051
|
+
/** Radius in miles (1-200). Defaults to 50. */
|
|
5052
|
+
radius?: number;
|
|
5053
|
+
[key: string]: unknown;
|
|
5054
|
+
}
|
|
5055
|
+
declare class TotalWineNamespace {
|
|
5056
|
+
private client;
|
|
5057
|
+
constructor(client: Scavio);
|
|
5058
|
+
/**
|
|
5059
|
+
* Search Total Wine at one store: that store's price (cents), units in
|
|
5060
|
+
* stock, purchase limit, aisle, size, rating and pickup/delivery/shipping
|
|
5061
|
+
* availability. When the store carries none of the matches, products is
|
|
5062
|
+
* empty and searched_all_stores is true.
|
|
5063
|
+
*
|
|
5064
|
+
* Costs 2 credits.
|
|
5065
|
+
*/
|
|
5066
|
+
search(options: TotalWineSearchOptions): Promise<Record<string, unknown>>;
|
|
5067
|
+
/**
|
|
5068
|
+
* One Total Wine product at one store: price (cents), units in stock, aisle,
|
|
5069
|
+
* bay, shelf, last restock date, ABV, taste profile, characteristics and
|
|
5070
|
+
* breadcrumbs. Pass product_id or product_url.
|
|
5071
|
+
*
|
|
5072
|
+
* Costs 2 credits.
|
|
5073
|
+
*/
|
|
5074
|
+
product(options: TotalWineProductOptions): Promise<Record<string, unknown>>;
|
|
5075
|
+
/**
|
|
5076
|
+
* Total Wine stores near a ZIP code or city, nearest first: store_id,
|
|
5077
|
+
* address, phone, coordinates, distance in miles and delivery availability.
|
|
5078
|
+
*
|
|
5079
|
+
* Costs 2 credits.
|
|
5080
|
+
*/
|
|
5081
|
+
stores(options: TotalWineStoresOptions): Promise<Record<string, unknown>>;
|
|
5082
|
+
}
|
|
5083
|
+
|
|
5084
|
+
type SpecsRegion = "austin" | "corpus-christi" | "dallas" | "el-paso" | "fort-worth" | "houston" | "san-antonio";
|
|
5085
|
+
interface SpecsSearchOptions {
|
|
5086
|
+
/** Search keywords (1-200 characters). */
|
|
5087
|
+
query: string;
|
|
5088
|
+
/** Results page, 1-based (1-50). 24 results per page. */
|
|
5089
|
+
page?: number;
|
|
5090
|
+
[key: string]: unknown;
|
|
5091
|
+
}
|
|
5092
|
+
interface SpecsProductOptions {
|
|
5093
|
+
/** Product slug from search(), e.g. "titos-texas-vodka-5". */
|
|
5094
|
+
slug?: string;
|
|
5095
|
+
/** Spec's product URL, https://specsonline.com/shop/<type>/<slug>/. */
|
|
5096
|
+
product_url?: string;
|
|
5097
|
+
/** Spec's store number from stores(), e.g. "169". Puts that store's price on top. */
|
|
5098
|
+
store_id?: string;
|
|
5099
|
+
[key: string]: unknown;
|
|
5100
|
+
}
|
|
5101
|
+
interface SpecsStoresOptions {
|
|
5102
|
+
/** Store region. */
|
|
5103
|
+
region: SpecsRegion;
|
|
5104
|
+
[key: string]: unknown;
|
|
5105
|
+
}
|
|
5106
|
+
declare class SpecsNamespace {
|
|
5107
|
+
private client;
|
|
5108
|
+
constructor(client: Scavio);
|
|
5109
|
+
/**
|
|
5110
|
+
* Search Spec's: online price (cents), case price and quantity, promo and
|
|
5111
|
+
* Keyclub flags, stock, size, SKU, UPC and slug.
|
|
5112
|
+
*
|
|
5113
|
+
* Costs 1 credit.
|
|
5114
|
+
*/
|
|
5115
|
+
search(options: SpecsSearchOptions): Promise<Record<string, unknown>>;
|
|
5116
|
+
/**
|
|
5117
|
+
* One Spec's product with every store's price and stock in store_prices,
|
|
5118
|
+
* the online price, and ABV, origin, region, vintage and tasting notes.
|
|
5119
|
+
* Pass slug or product_url.
|
|
5120
|
+
*
|
|
5121
|
+
* Costs 1 credit.
|
|
5122
|
+
*/
|
|
5123
|
+
product(options: SpecsProductOptions): Promise<Record<string, unknown>>;
|
|
5124
|
+
/**
|
|
5125
|
+
* Spec's stores in a Texas region: store_id, name, status, address, phone,
|
|
5126
|
+
* coordinates and opening hours.
|
|
5127
|
+
*
|
|
5128
|
+
* Costs 1 credit.
|
|
5129
|
+
*/
|
|
5130
|
+
stores(options: SpecsStoresOptions): Promise<Record<string, unknown>>;
|
|
5131
|
+
}
|
|
5132
|
+
|
|
5014
5133
|
type TrustpilotReviewsDateRange = "last30days" | "last3months" | "last6months" | "last12months";
|
|
5015
5134
|
type TrustpilotReviewsSort = "recency" | "relevance";
|
|
5016
5135
|
type TrustpilotCategorySort = "most_relevant" | "reviews_count" | "latest_review";
|
|
@@ -6131,6 +6250,8 @@ declare class Scavio extends ScavioCore {
|
|
|
6131
6250
|
readonly heb: HebNamespace;
|
|
6132
6251
|
readonly kroger: KrogerNamespace;
|
|
6133
6252
|
readonly decathlon: DecathlonNamespace;
|
|
6253
|
+
readonly totalwine: TotalWineNamespace;
|
|
6254
|
+
readonly specs: SpecsNamespace;
|
|
6134
6255
|
readonly trustpilot: TrustpilotNamespace;
|
|
6135
6256
|
readonly chatgpt: ChatgptNamespace;
|
|
6136
6257
|
readonly gemini: GeminiNamespace;
|
package/dist/index.d.ts
CHANGED
|
@@ -4873,8 +4873,14 @@ interface HebSearchOptions {
|
|
|
4873
4873
|
query: string;
|
|
4874
4874
|
/** Results page, 1-based (1-100). */
|
|
4875
4875
|
page?: number;
|
|
4876
|
-
/** Results per page (1-60; server default
|
|
4876
|
+
/** Results per page (1-60; server default 60). */
|
|
4877
4877
|
page_size?: number;
|
|
4878
|
+
/**
|
|
4879
|
+
* HEB store number from stores() (field store_number), e.g. "441". Prices,
|
|
4880
|
+
* stock, aisle location and assortment come from that store, echoed in
|
|
4881
|
+
* data.store. US only. Omit for HEB's default store.
|
|
4882
|
+
*/
|
|
4883
|
+
store_id?: string | number;
|
|
4878
4884
|
[key: string]: unknown;
|
|
4879
4885
|
}
|
|
4880
4886
|
interface HebProductOptions {
|
|
@@ -4884,10 +4890,19 @@ interface HebProductOptions {
|
|
|
4884
4890
|
* Preferred over slug + product_id.
|
|
4885
4891
|
*/
|
|
4886
4892
|
product_url?: string;
|
|
4887
|
-
/**
|
|
4893
|
+
/**
|
|
4894
|
+
* HEB product id (numeric id at the end of a product URL). Requires slug,
|
|
4895
|
+
* unless store_id is set.
|
|
4896
|
+
*/
|
|
4888
4897
|
product_id?: string;
|
|
4889
|
-
/** Product slug (readable part of the URL). Required with product_id. */
|
|
4898
|
+
/** Product slug (readable part of the URL). Required with product_id, unless store_id is set. */
|
|
4890
4899
|
slug?: string;
|
|
4900
|
+
/**
|
|
4901
|
+
* HEB store number from stores() (field store_number), e.g. "441". Price,
|
|
4902
|
+
* stock and aisle location come from that store, echoed in data.store. US
|
|
4903
|
+
* only. Omit for HEB's default store.
|
|
4904
|
+
*/
|
|
4905
|
+
store_id?: string | number;
|
|
4891
4906
|
[key: string]: unknown;
|
|
4892
4907
|
}
|
|
4893
4908
|
interface HebStoresOptions {
|
|
@@ -4903,7 +4918,7 @@ declare class HebNamespace {
|
|
|
4903
4918
|
/**
|
|
4904
4919
|
* Search HEB grocery products by keyword: price (cents), sale status, unit
|
|
4905
4920
|
* price, size, UPC, stock, EBT/SNAP eligibility, aisle location and product
|
|
4906
|
-
* URL.
|
|
4921
|
+
* URL. Pass store_id for one store's prices, stock and assortment.
|
|
4907
4922
|
*
|
|
4908
4923
|
* Costs 2 credits.
|
|
4909
4924
|
*/
|
|
@@ -4911,7 +4926,8 @@ declare class HebNamespace {
|
|
|
4911
4926
|
/**
|
|
4912
4927
|
* Full HEB product detail: nutrition facts, ingredients, description, images,
|
|
4913
4928
|
* similar products, coupons, EBT/SNAP eligibility and breadcrumbs. Pass
|
|
4914
|
-
* product_url (from search()) or slug + product_id
|
|
4929
|
+
* product_url (from search()) or slug + product_id, or product_id alone
|
|
4930
|
+
* with store_id.
|
|
4915
4931
|
*
|
|
4916
4932
|
* Costs 2 credits.
|
|
4917
4933
|
*/
|
|
@@ -5011,6 +5027,109 @@ declare class DecathlonNamespace {
|
|
|
5011
5027
|
product(options: DecathlonProductOptions): Promise<Record<string, unknown>>;
|
|
5012
5028
|
}
|
|
5013
5029
|
|
|
5030
|
+
interface TotalWineSearchOptions {
|
|
5031
|
+
/** Search keywords (1-200 characters). */
|
|
5032
|
+
query: string;
|
|
5033
|
+
/** Total Wine store number from stores(), e.g. "503". */
|
|
5034
|
+
store_id: string;
|
|
5035
|
+
/** Results page, 1-based (1-50). 24 results per page. */
|
|
5036
|
+
page?: number;
|
|
5037
|
+
[key: string]: unknown;
|
|
5038
|
+
}
|
|
5039
|
+
interface TotalWineProductOptions {
|
|
5040
|
+
/** Numeric product id from search() or the URL's /p/<id>, e.g. "96260175". */
|
|
5041
|
+
product_id?: string;
|
|
5042
|
+
/** Total Wine product URL ending in /p/<id>. */
|
|
5043
|
+
product_url?: string;
|
|
5044
|
+
/** Total Wine store number from stores(), e.g. "503". */
|
|
5045
|
+
store_id: string;
|
|
5046
|
+
[key: string]: unknown;
|
|
5047
|
+
}
|
|
5048
|
+
interface TotalWineStoresOptions {
|
|
5049
|
+
/** ZIP code, city, or "city, state", e.g. "78801". */
|
|
5050
|
+
query: string;
|
|
5051
|
+
/** Radius in miles (1-200). Defaults to 50. */
|
|
5052
|
+
radius?: number;
|
|
5053
|
+
[key: string]: unknown;
|
|
5054
|
+
}
|
|
5055
|
+
declare class TotalWineNamespace {
|
|
5056
|
+
private client;
|
|
5057
|
+
constructor(client: Scavio);
|
|
5058
|
+
/**
|
|
5059
|
+
* Search Total Wine at one store: that store's price (cents), units in
|
|
5060
|
+
* stock, purchase limit, aisle, size, rating and pickup/delivery/shipping
|
|
5061
|
+
* availability. When the store carries none of the matches, products is
|
|
5062
|
+
* empty and searched_all_stores is true.
|
|
5063
|
+
*
|
|
5064
|
+
* Costs 2 credits.
|
|
5065
|
+
*/
|
|
5066
|
+
search(options: TotalWineSearchOptions): Promise<Record<string, unknown>>;
|
|
5067
|
+
/**
|
|
5068
|
+
* One Total Wine product at one store: price (cents), units in stock, aisle,
|
|
5069
|
+
* bay, shelf, last restock date, ABV, taste profile, characteristics and
|
|
5070
|
+
* breadcrumbs. Pass product_id or product_url.
|
|
5071
|
+
*
|
|
5072
|
+
* Costs 2 credits.
|
|
5073
|
+
*/
|
|
5074
|
+
product(options: TotalWineProductOptions): Promise<Record<string, unknown>>;
|
|
5075
|
+
/**
|
|
5076
|
+
* Total Wine stores near a ZIP code or city, nearest first: store_id,
|
|
5077
|
+
* address, phone, coordinates, distance in miles and delivery availability.
|
|
5078
|
+
*
|
|
5079
|
+
* Costs 2 credits.
|
|
5080
|
+
*/
|
|
5081
|
+
stores(options: TotalWineStoresOptions): Promise<Record<string, unknown>>;
|
|
5082
|
+
}
|
|
5083
|
+
|
|
5084
|
+
type SpecsRegion = "austin" | "corpus-christi" | "dallas" | "el-paso" | "fort-worth" | "houston" | "san-antonio";
|
|
5085
|
+
interface SpecsSearchOptions {
|
|
5086
|
+
/** Search keywords (1-200 characters). */
|
|
5087
|
+
query: string;
|
|
5088
|
+
/** Results page, 1-based (1-50). 24 results per page. */
|
|
5089
|
+
page?: number;
|
|
5090
|
+
[key: string]: unknown;
|
|
5091
|
+
}
|
|
5092
|
+
interface SpecsProductOptions {
|
|
5093
|
+
/** Product slug from search(), e.g. "titos-texas-vodka-5". */
|
|
5094
|
+
slug?: string;
|
|
5095
|
+
/** Spec's product URL, https://specsonline.com/shop/<type>/<slug>/. */
|
|
5096
|
+
product_url?: string;
|
|
5097
|
+
/** Spec's store number from stores(), e.g. "169". Puts that store's price on top. */
|
|
5098
|
+
store_id?: string;
|
|
5099
|
+
[key: string]: unknown;
|
|
5100
|
+
}
|
|
5101
|
+
interface SpecsStoresOptions {
|
|
5102
|
+
/** Store region. */
|
|
5103
|
+
region: SpecsRegion;
|
|
5104
|
+
[key: string]: unknown;
|
|
5105
|
+
}
|
|
5106
|
+
declare class SpecsNamespace {
|
|
5107
|
+
private client;
|
|
5108
|
+
constructor(client: Scavio);
|
|
5109
|
+
/**
|
|
5110
|
+
* Search Spec's: online price (cents), case price and quantity, promo and
|
|
5111
|
+
* Keyclub flags, stock, size, SKU, UPC and slug.
|
|
5112
|
+
*
|
|
5113
|
+
* Costs 1 credit.
|
|
5114
|
+
*/
|
|
5115
|
+
search(options: SpecsSearchOptions): Promise<Record<string, unknown>>;
|
|
5116
|
+
/**
|
|
5117
|
+
* One Spec's product with every store's price and stock in store_prices,
|
|
5118
|
+
* the online price, and ABV, origin, region, vintage and tasting notes.
|
|
5119
|
+
* Pass slug or product_url.
|
|
5120
|
+
*
|
|
5121
|
+
* Costs 1 credit.
|
|
5122
|
+
*/
|
|
5123
|
+
product(options: SpecsProductOptions): Promise<Record<string, unknown>>;
|
|
5124
|
+
/**
|
|
5125
|
+
* Spec's stores in a Texas region: store_id, name, status, address, phone,
|
|
5126
|
+
* coordinates and opening hours.
|
|
5127
|
+
*
|
|
5128
|
+
* Costs 1 credit.
|
|
5129
|
+
*/
|
|
5130
|
+
stores(options: SpecsStoresOptions): Promise<Record<string, unknown>>;
|
|
5131
|
+
}
|
|
5132
|
+
|
|
5014
5133
|
type TrustpilotReviewsDateRange = "last30days" | "last3months" | "last6months" | "last12months";
|
|
5015
5134
|
type TrustpilotReviewsSort = "recency" | "relevance";
|
|
5016
5135
|
type TrustpilotCategorySort = "most_relevant" | "reviews_count" | "latest_review";
|
|
@@ -6131,6 +6250,8 @@ declare class Scavio extends ScavioCore {
|
|
|
6131
6250
|
readonly heb: HebNamespace;
|
|
6132
6251
|
readonly kroger: KrogerNamespace;
|
|
6133
6252
|
readonly decathlon: DecathlonNamespace;
|
|
6253
|
+
readonly totalwine: TotalWineNamespace;
|
|
6254
|
+
readonly specs: SpecsNamespace;
|
|
6134
6255
|
readonly trustpilot: TrustpilotNamespace;
|
|
6135
6256
|
readonly chatgpt: ChatgptNamespace;
|
|
6136
6257
|
readonly gemini: GeminiNamespace;
|
package/dist/index.js
CHANGED
|
@@ -145,7 +145,7 @@ function parseRetryAfter(header) {
|
|
|
145
145
|
var BASE_URL = "https://api.scavio.dev";
|
|
146
146
|
var DEFAULT_TIMEOUT = 3e4;
|
|
147
147
|
var DEFAULT_MAX_RETRIES = 2;
|
|
148
|
-
var SDK_VERSION = true ? "0.
|
|
148
|
+
var SDK_VERSION = true ? "0.29.0" : "0.0.0";
|
|
149
149
|
var USER_AGENT = `scavio-js/${SDK_VERSION}`;
|
|
150
150
|
function isServerRuntime() {
|
|
151
151
|
const g = globalThis;
|
|
@@ -2675,7 +2675,7 @@ var HebNamespace = class {
|
|
|
2675
2675
|
/**
|
|
2676
2676
|
* Search HEB grocery products by keyword: price (cents), sale status, unit
|
|
2677
2677
|
* price, size, UPC, stock, EBT/SNAP eligibility, aisle location and product
|
|
2678
|
-
* URL.
|
|
2678
|
+
* URL. Pass store_id for one store's prices, stock and assortment.
|
|
2679
2679
|
*
|
|
2680
2680
|
* Costs 2 credits.
|
|
2681
2681
|
*/
|
|
@@ -2685,7 +2685,8 @@ var HebNamespace = class {
|
|
|
2685
2685
|
/**
|
|
2686
2686
|
* Full HEB product detail: nutrition facts, ingredients, description, images,
|
|
2687
2687
|
* similar products, coupons, EBT/SNAP eligibility and breadcrumbs. Pass
|
|
2688
|
-
* product_url (from search()) or slug + product_id
|
|
2688
|
+
* product_url (from search()) or slug + product_id, or product_id alone
|
|
2689
|
+
* with store_id.
|
|
2689
2690
|
*
|
|
2690
2691
|
* Costs 2 credits.
|
|
2691
2692
|
*/
|
|
@@ -2762,6 +2763,80 @@ var DecathlonNamespace = class {
|
|
|
2762
2763
|
}
|
|
2763
2764
|
};
|
|
2764
2765
|
|
|
2766
|
+
// src/namespaces/totalwine.ts
|
|
2767
|
+
var TotalWineNamespace = class {
|
|
2768
|
+
constructor(client) {
|
|
2769
|
+
this.client = client;
|
|
2770
|
+
}
|
|
2771
|
+
client;
|
|
2772
|
+
/**
|
|
2773
|
+
* Search Total Wine at one store: that store's price (cents), units in
|
|
2774
|
+
* stock, purchase limit, aisle, size, rating and pickup/delivery/shipping
|
|
2775
|
+
* availability. When the store carries none of the matches, products is
|
|
2776
|
+
* empty and searched_all_stores is true.
|
|
2777
|
+
*
|
|
2778
|
+
* Costs 2 credits.
|
|
2779
|
+
*/
|
|
2780
|
+
async search(options) {
|
|
2781
|
+
return this.client._post("/api/v1/totalwine/search", options);
|
|
2782
|
+
}
|
|
2783
|
+
/**
|
|
2784
|
+
* One Total Wine product at one store: price (cents), units in stock, aisle,
|
|
2785
|
+
* bay, shelf, last restock date, ABV, taste profile, characteristics and
|
|
2786
|
+
* breadcrumbs. Pass product_id or product_url.
|
|
2787
|
+
*
|
|
2788
|
+
* Costs 2 credits.
|
|
2789
|
+
*/
|
|
2790
|
+
async product(options) {
|
|
2791
|
+
return this.client._post("/api/v1/totalwine/product", options);
|
|
2792
|
+
}
|
|
2793
|
+
/**
|
|
2794
|
+
* Total Wine stores near a ZIP code or city, nearest first: store_id,
|
|
2795
|
+
* address, phone, coordinates, distance in miles and delivery availability.
|
|
2796
|
+
*
|
|
2797
|
+
* Costs 2 credits.
|
|
2798
|
+
*/
|
|
2799
|
+
async stores(options) {
|
|
2800
|
+
return this.client._post("/api/v1/totalwine/stores", options);
|
|
2801
|
+
}
|
|
2802
|
+
};
|
|
2803
|
+
|
|
2804
|
+
// src/namespaces/specs.ts
|
|
2805
|
+
var SpecsNamespace = class {
|
|
2806
|
+
constructor(client) {
|
|
2807
|
+
this.client = client;
|
|
2808
|
+
}
|
|
2809
|
+
client;
|
|
2810
|
+
/**
|
|
2811
|
+
* Search Spec's: online price (cents), case price and quantity, promo and
|
|
2812
|
+
* Keyclub flags, stock, size, SKU, UPC and slug.
|
|
2813
|
+
*
|
|
2814
|
+
* Costs 1 credit.
|
|
2815
|
+
*/
|
|
2816
|
+
async search(options) {
|
|
2817
|
+
return this.client._post("/api/v1/specs/search", options);
|
|
2818
|
+
}
|
|
2819
|
+
/**
|
|
2820
|
+
* One Spec's product with every store's price and stock in store_prices,
|
|
2821
|
+
* the online price, and ABV, origin, region, vintage and tasting notes.
|
|
2822
|
+
* Pass slug or product_url.
|
|
2823
|
+
*
|
|
2824
|
+
* Costs 1 credit.
|
|
2825
|
+
*/
|
|
2826
|
+
async product(options) {
|
|
2827
|
+
return this.client._post("/api/v1/specs/product", options);
|
|
2828
|
+
}
|
|
2829
|
+
/**
|
|
2830
|
+
* Spec's stores in a Texas region: store_id, name, status, address, phone,
|
|
2831
|
+
* coordinates and opening hours.
|
|
2832
|
+
*
|
|
2833
|
+
* Costs 1 credit.
|
|
2834
|
+
*/
|
|
2835
|
+
async stores(options) {
|
|
2836
|
+
return this.client._post("/api/v1/specs/stores", options);
|
|
2837
|
+
}
|
|
2838
|
+
};
|
|
2839
|
+
|
|
2765
2840
|
// src/namespaces/trustpilot.ts
|
|
2766
2841
|
var TrustpilotNamespace = class {
|
|
2767
2842
|
constructor(client) {
|
|
@@ -3276,6 +3351,8 @@ var Scavio = class extends ScavioCore {
|
|
|
3276
3351
|
heb;
|
|
3277
3352
|
kroger;
|
|
3278
3353
|
decathlon;
|
|
3354
|
+
totalwine;
|
|
3355
|
+
specs;
|
|
3279
3356
|
trustpilot;
|
|
3280
3357
|
chatgpt;
|
|
3281
3358
|
gemini;
|
|
@@ -3338,6 +3415,8 @@ var Scavio = class extends ScavioCore {
|
|
|
3338
3415
|
this.heb = new HebNamespace(this);
|
|
3339
3416
|
this.kroger = new KrogerNamespace(this);
|
|
3340
3417
|
this.decathlon = new DecathlonNamespace(this);
|
|
3418
|
+
this.totalwine = new TotalWineNamespace(this);
|
|
3419
|
+
this.specs = new SpecsNamespace(this);
|
|
3341
3420
|
this.trustpilot = new TrustpilotNamespace(this);
|
|
3342
3421
|
this.chatgpt = new ChatgptNamespace(this);
|
|
3343
3422
|
this.gemini = new GeminiNamespace(this);
|