export type GetApiReviewsSiteidReviewidArgs = {siteid: number, reviewid: string, token: string, removed?: (0 | 1) | undefined, full_name?: (0 | 1) | undefined, xml?: boolean | undefined}; export type GetApiReviewsSiteidReviewidOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Fetch a single review. * * GET /reviews/{siteid}/{reviewid} */ export const getApiReviewsSiteidReviewid = async (args: GetApiReviewsSiteidReviewidArgs, options?: GetApiReviewsSiteidReviewidOptions) => { const {baseUrl = "https://api.shopperapproved.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args.token != null) query.append("token", String(args.token)) if (args.removed != null) query.append("removed", String(args.removed)) if (args.full_name != null) query.append("full_name", String(args.full_name)) if (args.xml != null) query.append("xml", String(args.xml)) const url = `${baseUrl.replace(/\/+$/, '')}/reviews/${encodeURIComponent(String(args.siteid))}/${encodeURIComponent(String(args.reviewid))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };