migros-api-wrapper
Version:
Making the api of migros more accessible to the public.
47 lines (40 loc) • 1.51 kB
text/typescript
/* eslint-disable @typescript-eslint/naming-convention */
import { postRequest } from "../../utils/requests";
import { migrosApiPaths } from "../apiPaths";
import { ICumulusCookies } from "../interfaces/cookies";
import { retrieveSetCookieFromHeaders } from "../../utils/retrieveSetCookieFromHeaders";
const url =
migrosApiPaths["cumulus"] +
"/service/api/coupon/activate?id=7623186011535&lang=de";
async function activateCumulusCouponRequest(
url: string,
cookies: ICumulusCookies,
): Promise<Record<string, any>> {
const headers = {
accept: "*/*",
"accept-language": "en-US,en;q=0.9",
"sec-ch-ua":
'"Microsoft Edge";v="105", "Not)A;Brand";v="8", "Chromium";v="105"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"x-requested-with": "XMLHttpRequest",
cookie:
"JSESSIONID=; BIGipServerpool_shared_migros.ch_80=; cookie-banner-acceptance-state=",
Referer:
"https://cumulus.migros.ch/de/coupons-und-angebote/digitale-coupons.html",
"Referrer-Policy": "strict-origin-when-cross-origin",
};
const response = await postRequest(url, null, {}, headers, cookies);
return {
body: await response.json(),
["set-cookie"]: retrieveSetCookieFromHeaders(response.headers),
};
}
export async function activateCumulusCoupon(
cookies: ICumulusCookies,
): Promise<any> {
return activateCumulusCouponRequest(url, cookies);
}