From 27c1d1bea4a9ff4f33827597de7bd7dcd8c0fa84 Mon Sep 17 00:00:00 2001 From: Borja Gimeno <borja.gimeno@somconnexio.coop> Date: Fri, 31 Jan 2025 18:54:12 +0100 Subject: [PATCH] [ADD] is_company param to search ProductCatalog --- .../resources/product_catalog.py | 25 +- ...TariffTests.test_get_by_product_code.yaml} | 20 +- ...ffTests.test_search_catalog_with_lang.yaml | 573 +++++++++++------- .../TariffTests.test_search_code.yaml | 318 +++++----- ...test_search_code_with_category_filter.yaml | 179 +++++- ...riffTests.test_search_company_catalog.yaml | 387 ++++++++++++ ...ffTests.test_search_non_existant_code.yaml | 4 +- tests/resources/test_product_catalog.py | 39 +- 8 files changed, 1109 insertions(+), 436 deletions(-) rename tests/resources/cassettes/test_product_catalog/{TariffTests.test_search_available_products_for_product_code.yaml => TariffTests.test_get_by_product_code.yaml} (51%) create mode 100644 tests/resources/cassettes/test_product_catalog/TariffTests.test_search_company_catalog.yaml diff --git a/odoo_somconnexio_python_client/resources/product_catalog.py b/odoo_somconnexio_python_client/resources/product_catalog.py index b48a24a..5064801 100644 --- a/odoo_somconnexio_python_client/resources/product_catalog.py +++ b/odoo_somconnexio_python_client/resources/product_catalog.py @@ -72,11 +72,32 @@ class ProductCatalog: self.packs = [Pack(**pack) for pack in packs] @classmethod - def search(cls, code="", category="", lang="ca", product_code=""): + def search(cls, code="", category="", lang="ca", is_company="false"): + return cls._get_product_catalog( + { + "code": code, + "categ": category, + "is_company": is_company, + }, + lang, + ) + + @classmethod + def get_by_product_code(cls, code="", lang="ca", product_code=""): + return cls._get_product_catalog( + { + "code": code, + "product_code": product_code, + }, + lang, + ) + + @classmethod + def _get_product_catalog(cls, params, lang): headers = {"Accept-Language": lang} response_data = Client().get( cls._url_path, - params={"code": code, "categ": category, "product_code": product_code}, + params={**params}, extra_headers=headers, ) diff --git a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_available_products_for_product_code.yaml b/tests/resources/cassettes/test_product_catalog/TariffTests.test_get_by_product_code.yaml similarity index 51% rename from tests/resources/cassettes/test_product_catalog/TariffTests.test_search_available_products_for_product_code.yaml rename to tests/resources/cassettes/test_product_catalog/TariffTests.test_get_by_product_code.yaml index c16fd04..e649def 100644 --- a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_available_products_for_product_code.yaml +++ b/tests/resources/cassettes/test_product_catalog/TariffTests.test_get_by_product_code.yaml @@ -15,28 +15,28 @@ interactions: User-Agent: - python-requests/2.27.1 method: GET - uri: http://odoo-sc.local:8069/api/product-catalog?code=&categ=&product_code=SE_SC_REC_BA_F_100 + uri: http://odoo-sc.local:8069/api/product-catalog?code=&product_code=SE_SC_REC_BA_F_100 response: body: - string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_BA_F_1024", - "name": "Fibra 1Gb", "price": 47.93, "category": "fiber", "minutes": null, - "data": null, "bandwidth": 1024, "available_for": ["member", "sponsored"], - "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra - 600Mb", "price": 35.54, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 600, "available_for": ["member", "sponsored"], "has_landline_phone": - true}],"packs":[]}]}' + string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_BA_F_100_SF", + "name": "Fibra 100Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 100, "available_for": ["member"], "has_landline_phone": + false}], "packs": []}, {"code": "0IVA", "products": [{"code": "SE_SC_REC_BA_F_100_SF", + "name": "Fibra 100Mb Sense Fix", "price": 26.03, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 100, "available_for": ["member"], "has_landline_phone": + false}], "packs": []}]}' headers: Access-Control-Allow-Methods: - GET Access-Control-Allow-Origin: - None Content-Length: - - '471' + - '530' Content-Type: - application/json Cookie: '****' Date: - - Fri, 01 Jul 2022 17:22:38 GMT + - Mon, 03 Feb 2025 10:38:39 GMT Server: - Werkzeug/0.11.15 Python/3.7.7 Set-Cookie: '****' diff --git a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_catalog_with_lang.yaml b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_catalog_with_lang.yaml index 6a01493..6fa97d1 100644 --- a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_catalog_with_lang.yaml +++ b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_catalog_with_lang.yaml @@ -15,142 +15,195 @@ interactions: User-Agent: - python-requests/2.27.1 method: GET - uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=&product_code= + uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=&is_company=false response: body: string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_BA_ADSL_100", - "name": "ADSL 100 min a fix o m\u00f2bil", "price": 29.75, "category": "adsl", - "minutes": null, "data": null, "bandwidth": 20, "available_for": ["member", - "coop_agreement", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", - "name": "ADSL 1000 min a fix", "price": 29.75, "category": "adsl", "minutes": - null, "data": null, "bandwidth": 20, "available_for": ["member", "coop_agreement", - "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", - "name": "ADSL sense fix", "price": 26.03, "category": "adsl", "minutes": null, - "data": null, "bandwidth": 20, "available_for": ["member", "coop_agreement", - "sponsored"], "has_landline_phone": false}, {"code": "SE_SC_REC_BA_BORDA", - "name": "La Borda servei fibra", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_BORDA_LOCAL", "name": "La Borda servei fibra - local", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_BORDA_MANTENIMENT", "name": "La Borda quota manteniment - fibra", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 29.75, "category": - "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": - ["member", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_100_SF", - "name": "Fibra 100Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 100, "available_for": ["member", "sponsored"], - "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": "Fibra - 1Gb", "price": 47.93, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 1024, "available_for": ["member", "sponsored"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 35.54, + "name": "ADSL 100 min a fix o m\u00f2bil", "price": 36.0, "category": "adsl", + "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member", + "coop_agreement"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", + "name": "ADSL 1000 min a fix", "price": 1.0, "category": "adsl", "minutes": + null, "data": null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], + "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", "name": "ADSL + sense fix", "price": 31.5, "category": "adsl", "minutes": null, "data": null, + "bandwidth": 0, "available_for": ["member", "coop_agreement"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "available_for": ["member"], "has_landline_phone": + true}, {"code": "SE_SC_REC_BA_F_300", "name": "Fibra 300Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 300, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "available_for": ["member"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": null, "bandwidth": 600, "available_for": - ["member", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_GRETA_600", - "name": "Fibra GRETA 600Mb", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_GRETA_600_A", "name": "Fibra GRETA 600Mb amb - aportaci\u00f3 a la infrastructura", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_GRETA_600_SF", "name": "Fibra GRETA 600Mb - sense fix", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_F_GRETA_600_SF_A", "name": "Fibra GRETA 600Mb sense - fix amb aportaci\u00f3 a la infrastructura", "price": 1.0, "category": "fiber", - "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member"], - "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_BA_IP_fix", "name": - "La Borda IP fixa", "price": 1.0, "category": "fiber", "minutes": null, "data": - null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_MOBILE_T_0_0", "name": "0 min 0 MB", "price": 1.6500000000000001, - "category": "mobile", "minutes": 0, "data": 0, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_1024", - "name": "0 min 1 GB", "price": 3.72, "category": "mobile", "minutes": 0, "data": - 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_0_10240", "name": "0 min 10 GB", "price": 9.09, - "category": "mobile", "minutes": 0, "data": 10240, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_200", - "name": "0 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 0, - "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_T_0_0", + "name": "0 min 0 MB", "price": 2.0, "category": "mobile", "minutes": 0, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_0_1024", "name": "0 min 1 GB", "price": 4.5, + "category": "mobile", "minutes": 0, "data": 1024, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_10240", + "name": "0 min 10 GB", "price": 11.0, "category": "mobile", "minutes": 0, + "data": 10240, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", "name": "0 min 2 GB", - "price": 5.79, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_0_3072", "name": "0 min 3 GB", "price": 1.0, "category": - "mobile", "minutes": 0, "data": 3072, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_500", - "name": "0 min 500 MB", "price": 2.89, "category": "mobile", "minutes": 0, - "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_5120", "name": "0 min 5 GB", - "price": 1.0, "category": "mobile", "minutes": 0, "data": 5120, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_100_0", "name": "100 min 0 MB", "price": 1.0, "category": - "mobile", "minutes": 100, "data": 0, "bandwidth": null, "available_for": ["member", - "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_200", "name": - "100 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": - 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_150_0", "name": "150 min 0 MB", "price": 3.72, - "category": "mobile", "minutes": 150, "data": 0, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", - "name": "150 min 1 GB", "price": 6.61, "category": "mobile", "minutes": 150, - "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 - GB", "price": 9.92, "category": "mobile", "minutes": 150, "data": 10240, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_150_2048", "name": "150 min 2 GB", "price": 8.26, "category": - "mobile", "minutes": 150, "data": 2048, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", - "name": "150 min 500 MB", "price": 6.2, "category": "mobile", "minutes": 150, - "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", - "price": 1.0, "category": "mobile", "minutes": 200, "data": 0, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_200_1024", "name": "200 min 1 GB", "price": 1.0, "category": - "mobile", "minutes": 200, "data": 1024, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", - "name": "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, - "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_2048", "name": "200 min 2 - GB", "price": 1.0, "category": "mobile", "minutes": 200, "data": 2048, "bandwidth": + "price": 7.0, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_200_500", "name": "200 min 500 MB", "price": 1.0, "category": - "mobile", "minutes": 200, "data": 500, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_0", - "name": "Il\u00b7limitades 0 MB", "price": 7.44, "category": "mobile", "minutes": - 99999, "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_1024", "name": "Il\u00b7limitades - 1 GB", "price": 9.09, "category": "mobile", "minutes": 99999, "data": 1024, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_10240", "name": "Il\u00b7limitades 10 GB", - "price": 11.57, "category": "mobile", "minutes": 99999, "data": 10240, "bandwidth": + "SE_SC_REC_MOBILE_T_0_500", "name": "0 min 500 MB", "price": 3.5, "category": + "mobile", "minutes": 0, "data": 500, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_0", "name": + "100 min 0 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_100_200", "name": "100 min 200 MB", "price": + 1.0, "category": "mobile", "minutes": 100, "data": 200, "bandwidth": null, + "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_0", + "name": "150 min 0 MB", "price": 4.5, "category": "mobile", "minutes": 150, + "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", "name": "150 min 1 + GB", "price": 7.0, "category": "mobile", "minutes": 150, "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_2048", "name": "Il\u00b7limitades 2 GB", "price": - 9.92, "category": "mobile", "minutes": 99999, "data": 2048, "bandwidth": null, - "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_23552", - "name": "Il\u00b7limitades 23 GB", "price": 14.88, "category": "mobile", "minutes": - 99999, "data": 23552, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades - 30 GB", "price": 18.18, "category": "mobile", "minutes": 99999, "data": 30720, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_500", "name": "Il\u00b7limitades 500 MB", - "price": 8.26, "category": "mobile", "minutes": 99999, "data": 500, "bandwidth": + "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 GB", "price": 12.0, "category": + "mobile", "minutes": 150, "data": 10240, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_2048", + "name": "150 min 2 GB", "price": 10.0, "category": "mobile", "minutes": 150, + "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", "name": "150 min 500 + MB", "price": 7.5, "category": "mobile", "minutes": 150, "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_5120", "name": "Il\u00b7limitades 5 GB", "price": - 1.0, "category": "mobile", "minutes": 99999, "data": 5120, "bandwidth": null, - "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_51200", - "name": "Il\u00b7limitades 50 GB", "price": 22.31, "category": "mobile", "minutes": - 99999, "data": 51200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}],"packs":[]}]}' + "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", "price": 1.0, "category": + "mobile", "minutes": 200, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", "name": + "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, "data": + 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades 30 GB", + "price": 19.0, "category": "mobile", "minutes": 99999, "data": 30720, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"], "offer": + {"code": "SE_SC_REC_MOBILE_PACK_UNL_30720", "price": 1.0, "name": "Il\u00b7limitades + 30 GB (Pack)"}}], "packs": [{"code": "SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 73.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1000_3_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 77.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", "name": "Fibra 100Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_100_SF", "name": "Fibra 100Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 100, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_100_UNL_20480", + "name": "Fibra 100 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_100", "name": + "Fibra 100Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1024_UNL_20480", + "name": "Fibra 1 Gb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 1024, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_2_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 49.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_3_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 53.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_300_SF_UNL_20480", "name": "Fibra 300Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_UNL_20480", + "name": "Fibra 300 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_600_UNL_20480", + "name": "Fibra 600 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 600, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_600", "name": + "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 600, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_SF_300_2_MOBILES_50", + "name": "Fibra 300Mb + 50 GB compartides 2 m\u00f2bils", "price": 46.5, "category": + "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": 2, "fiber_bandwidth": + 300, "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": + "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades 50 GB compartides + entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", "minutes": 99999, + "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_SF_300_3_MOBILES_50", "name": "Fibra 300Mb + + 50 GB compartides 3 m\u00f2bils", "price": 51.0, "category": "mobile_shared_data", + "available_for": ["member"], "mobiles_in_pack": 3, "fiber_bandwidth": 300, + "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": + "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}]}]}' headers: Access-Control-Allow-Methods: - GET Access-Control-Allow-Origin: - None Content-Length: - - '9586' + - '14326' Content-Type: - application/json Cookie: '****' Date: - - Fri, 01 Jul 2022 17:22:39 GMT + - Mon, 03 Feb 2025 10:38:40 GMT Server: - Werkzeug/0.11.15 Python/3.7.7 Set-Cookie: '****' @@ -173,141 +226,195 @@ interactions: User-Agent: - python-requests/2.27.1 method: GET - uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=&product_code= + uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=&is_company=false response: body: string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_BA_ADSL_100", - "name": "ADSL 100 min a fijo o m\u00f3vil", "price": 29.75, "category": "adsl", - "minutes": null, "data": null, "bandwidth": 20, "available_for": ["member", - "coop_agreement", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", - "name": "ADSL 1000 min a fijo", "price": 29.75, "category": "adsl", "minutes": - null, "data": null, "bandwidth": 20, "available_for": ["member", "coop_agreement", - "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", - "name": "ADSL 20Mb sin tel\u00e9fono fijo", "price": 26.03, "category": "adsl", - "minutes": null, "data": null, "bandwidth": 20, "available_for": ["member", - "coop_agreement", "sponsored"], "has_landline_phone": false}, {"code": "SE_SC_REC_BA_BORDA", - "name": "Servicio fibra La Borda", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_BORDA_LOCAL", "name": "Servicio fibra La Borda - bajos", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_BORDA_MANTENIMENT", "name": "Cuota mantenimento fibra - La Borda (OPEX)", "price": 1.0, "category": "fiber", "minutes": null, "data": - null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 29.75, "category": - "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": - ["member", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_100_SF", - "name": "Fibra 100Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 100, "available_for": ["member", "sponsored"], - "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": "Fibra - 1Gb", "price": 47.93, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 1024, "available_for": ["member", "sponsored"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 35.54, - "category": "fiber", "minutes": null, "data": null, "bandwidth": 600, "available_for": - ["member", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_GRETA_600", - "name": "Fibra GRETA 600Mb", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_GRETA_600_A", "name": "Fibra GRETA 600Mb amb - aportaci\u00f3 a la infrastructura", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_GRETA_600_SF", "name": "Fibra GRETA 600Mb - sense fix", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_F_GRETA_600_SF_A", "name": "Fibra GRETA 600Mb sense - fix amb aportaci\u00f3 a la infrastructura", "price": 1.0, "category": "fiber", - "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member"], - "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_BA_IP_fix", "name": - "La Borda IP fija", "price": 1.0, "category": "fiber", "minutes": null, "data": - null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_MOBILE_T_0_0", "name": "0 min 0 MB", "price": 1.6500000000000001, + "name": "ADSL 100 min a fijo o m\u00f3vil", "price": 36.0, "category": "adsl", + "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member", + "coop_agreement"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", + "name": "ADSL 1000 min a fijo", "price": 1.0, "category": "adsl", "minutes": + null, "data": null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], + "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", "name": "ADSL + 20Mb sin tel\u00e9fono fijo", "price": 31.5, "category": "adsl", "minutes": + null, "data": null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], + "has_landline_phone": false}, {"code": "SE_SC_REC_BA_F_100", "name": "Fibra + 100Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 100, "available_for": ["member"], "has_landline_phone": true}, + {"code": "SE_SC_REC_BA_F_1024", "name": "Fibra 1Gb", "price": 58.0, "category": + "fiber", "minutes": null, "data": null, "bandwidth": 1024, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "available_for": ["member"], "has_landline_phone": + true}, {"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb Sense Fix", + "price": 31.5, "category": "fiber", "minutes": null, "data": null, "bandwidth": + 300, "available_for": ["member"], "has_landline_phone": false}, {"code": "SE_SC_REC_BA_F_600", + "name": "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 600, "available_for": ["member"], "has_landline_phone": + true}, {"code": "SE_SC_REC_MOBILE_T_0_0", "name": "0 min 0 MB", "price": 2.0, "category": "mobile", "minutes": 0, "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_1024", - "name": "0 min 1 GB", "price": 3.72, "category": "mobile", "minutes": 0, "data": + "name": "0 min 1 GB", "price": 4.5, "category": "mobile", "minutes": 0, "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_0_10240", "name": "0 min 10 GB", "price": 9.09, + {"code": "SE_SC_REC_MOBILE_T_0_10240", "name": "0 min 10 GB", "price": 11.0, "category": "mobile", "minutes": 0, "data": 10240, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_200", - "name": "0 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 0, - "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", "name": "0 min 2 GB", - "price": 5.79, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", + "name": "0 min 2 GB", "price": 7.0, "category": "mobile", "minutes": 0, "data": + 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_0_500", "name": "0 min 500 MB", "price": 3.5, + "category": "mobile", "minutes": 0, "data": 500, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_0", + "name": "100 min 0 MB", "price": 1.0, "category": "mobile", "minutes": 100, + "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_200", "name": "100 min 200 + MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_0_3072", "name": "0 min 3 GB", "price": 1.0, "category": - "mobile", "minutes": 0, "data": 3072, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_500", - "name": "0 min 500 MB", "price": 2.89, "category": "mobile", "minutes": 0, - "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_5120", "name": "0 min 5 GB", - "price": 1.0, "category": "mobile", "minutes": 0, "data": 5120, "bandwidth": + "SE_SC_REC_MOBILE_T_150_0", "name": "150 min 0 MB", "price": 4.5, "category": + "mobile", "minutes": 150, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", "name": + "150 min 1 GB", "price": 7.0, "category": "mobile", "minutes": 150, "data": + 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 GB", "price": + 12.0, "category": "mobile", "minutes": 150, "data": 10240, "bandwidth": null, + "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_2048", + "name": "150 min 2 GB", "price": 10.0, "category": "mobile", "minutes": 150, + "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", "name": "150 min 500 + MB", "price": 7.5, "category": "mobile", "minutes": 150, "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_100_0", "name": "100 min 0 MB", "price": 1.0, "category": - "mobile", "minutes": 100, "data": 0, "bandwidth": null, "available_for": ["member", - "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_200", "name": - "100 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": + "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", "price": 1.0, "category": + "mobile", "minutes": 200, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", "name": + "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_150_0", "name": "150 min 0 MB", "price": 3.72, - "category": "mobile", "minutes": 150, "data": 0, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", - "name": "150 min 1 GB", "price": 6.61, "category": "mobile", "minutes": 150, - "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 - GB", "price": 9.92, "category": "mobile", "minutes": 150, "data": 10240, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_150_2048", "name": "150 min 2 GB", "price": 8.26, "category": - "mobile", "minutes": 150, "data": 2048, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", - "name": "150 min 500 MB", "price": 6.2, "category": "mobile", "minutes": 150, - "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", - "price": 1.0, "category": "mobile", "minutes": 200, "data": 0, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_200_1024", "name": "200 min 1 GB", "price": 1.0, "category": - "mobile", "minutes": 200, "data": 1024, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", - "name": "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, - "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_2048", "name": "200 min 2 - GB", "price": 1.0, "category": "mobile", "minutes": 200, "data": 2048, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_200_500", "name": "200 min 500 MB", "price": 1.0, "category": - "mobile", "minutes": 200, "data": 500, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_0", - "name": "Ilimitadas 0 MB", "price": 7.44, "category": "mobile", "minutes": - 99999, "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_1024", "name": "Ilimitadas - 1 GB", "price": 9.09, "category": "mobile", "minutes": 99999, "data": 1024, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_10240", "name": "Ilimitadas 10 GB", "price": - 11.57, "category": "mobile", "minutes": 99999, "data": 10240, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_2048", "name": "Ilimitadas 2 GB", "price": 9.92, "category": - "mobile", "minutes": 99999, "data": 2048, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_23552", - "name": "Ilimitadas 23 GB", "price": 14.88, "category": "mobile", "minutes": - 99999, "data": 23552, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Ilimitadas - 30 GB", "price": 18.18, "category": "mobile", "minutes": 99999, "data": 30720, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_500", "name": "Ilimitadas 500 MB", "price": - 8.26, "category": "mobile", "minutes": 99999, "data": 500, "bandwidth": null, - "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_5120", - "name": "Ilimitadas 5 GB", "price": 1.0, "category": "mobile", "minutes": - 99999, "data": 5120, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_51200", "name": "Ilimitadas - 50 GB", "price": 22.31, "category": "mobile", "minutes": 99999, "data": 51200, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}],"packs":[]}]}' + {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Ilimitadas 30 GB", "price": + 19.0, "category": "mobile", "minutes": 99999, "data": 30720, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"], "offer": + {"code": "SE_SC_REC_MOBILE_PACK_UNL_30720", "price": 1.0, "name": "Il\u00b7limitades + 30 GB (Pack)"}}], "packs": [{"code": "SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 73.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 2 m\u00f3viles", "price": 7.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Ilimitadas 50 GB + compartidas entre 2 m\u00f3viles", "price": 7.5, "category": "mobile", "minutes": + 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1000_3_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 77.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 3 m\u00f3viles", "price": 6.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Ilimitadas 50 GB + compartidas entre 3 m\u00f3viles", "price": 6.5, "category": "mobile", "minutes": + 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 3 m\u00f3viles", "price": 6.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", "name": "Fibra 100Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_100_SF", "name": "Fibra 100Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 100, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_100_UNL_20480", + "name": "Fibra 100 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_100", "name": + "Fibra 100Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1024_UNL_20480", + "name": "Fibra 1 Gb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 1024, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_2_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 49.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 2 m\u00f3viles", "price": 7.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Ilimitadas 50 GB + compartidas entre 2 m\u00f3viles", "price": 7.5, "category": "mobile", "minutes": + 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_3_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 53.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 3 m\u00f3viles", "price": 6.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Ilimitadas 50 GB + compartidas entre 3 m\u00f3viles", "price": 6.5, "category": "mobile", "minutes": + 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 3 m\u00f3viles", "price": 6.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_300_SF_UNL_20480", "name": "Fibra 300Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_UNL_20480", + "name": "Fibra 300 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_600_UNL_20480", + "name": "Fibra 600 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 600, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_600", "name": + "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 600, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_SF_300_2_MOBILES_50", + "name": "Fibra 300Mb + 50 GB compartides 2 m\u00f2bils", "price": 46.5, "category": + "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": 2, "fiber_bandwidth": + 300, "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": + "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Ilimitadas 50 GB compartidas + entre 2 m\u00f3viles", "price": 7.5, "category": "mobile", "minutes": 99999, + "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 2 m\u00f3viles", "price": 7.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_SF_300_3_MOBILES_50", "name": "Fibra 300Mb + + 50 GB compartides 3 m\u00f2bils", "price": 51.0, "category": "mobile_shared_data", + "available_for": ["member"], "mobiles_in_pack": 3, "fiber_bandwidth": 300, + "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": + "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 3 m\u00f3viles", "price": 6.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Ilimitadas 50 GB + compartidas entre 3 m\u00f3viles", "price": 6.5, "category": "mobile", "minutes": + 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Ilimitadas 50 GB compartidas entre 3 m\u00f3viles", "price": 6.5, + "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}]}]}' headers: Access-Control-Allow-Methods: - GET Access-Control-Allow-Origin: - None Content-Length: - - '9555' + - '14249' Content-Type: - application/json Cookie: '****' Date: - - Fri, 01 Jul 2022 17:22:39 GMT + - Mon, 03 Feb 2025 10:38:41 GMT Server: - Werkzeug/0.11.15 Python/3.7.7 Set-Cookie: '****' diff --git a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code.yaml b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code.yaml index e2d288b..f4aad4f 100644 --- a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code.yaml +++ b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code.yaml @@ -15,171 +15,195 @@ interactions: User-Agent: - python-requests/2.27.1 method: GET - uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=&product_code= + uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=&is_company=false response: body: string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_BA_ADSL_100", - "name": "ADSL 100 min a fix o m\u00f2bil", "price": 29.75, "category": "adsl", - "minutes": null, "data": null, "bandwidth": 20, "available_for": ["member", - "coop_agreement", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", - "name": "ADSL 1000 min a fix", "price": 29.75, "category": "adsl", "minutes": - null, "data": null, "bandwidth": 20, "available_for": ["member", "coop_agreement", - "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", - "name": "ADSL sense fix", "price": 26.03, "category": "adsl", "minutes": null, - "data": null, "bandwidth": 20, "available_for": ["member", "coop_agreement", - "sponsored"], "has_landline_phone": false}, {"code": "SE_SC_REC_BA_BORDA", - "name": "La Borda servei fibra", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_BORDA_LOCAL", "name": "La Borda servei fibra - local", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_BORDA_MANTENIMENT", "name": "La Borda quota manteniment - fibra", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 29.75, "category": - "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": - ["member", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_100_SF", - "name": "Fibra 100Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 100, "available_for": ["member", "sponsored"], - "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": "Fibra - 1Gb", "price": 47.93, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 1024, "available_for": ["member", "sponsored"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 35.54, + "name": "ADSL 100 min a fix o m\u00f2bil", "price": 36.0, "category": "adsl", + "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member", + "coop_agreement"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", + "name": "ADSL 1000 min a fix", "price": 1.0, "category": "adsl", "minutes": + null, "data": null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], + "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", "name": "ADSL + sense fix", "price": 31.5, "category": "adsl", "minutes": null, "data": null, + "bandwidth": 0, "available_for": ["member", "coop_agreement"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "available_for": ["member"], "has_landline_phone": + true}, {"code": "SE_SC_REC_BA_F_300", "name": "Fibra 300Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 300, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "available_for": ["member"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": null, "bandwidth": 600, "available_for": - ["member", "sponsored"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_GRETA_600", - "name": "Fibra GRETA 600Mb", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_GRETA_600_A", "name": "Fibra GRETA 600Mb amb - aportaci\u00f3 a la infrastructura", "price": 1.0, "category": "fiber", "minutes": - null, "data": null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": - true}, {"code": "SE_SC_REC_BA_F_GRETA_600_SF", "name": "Fibra GRETA 600Mb - sense fix", "price": 1.0, "category": "fiber", "minutes": null, "data": null, - "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_BA_F_GRETA_600_SF_A", "name": "Fibra GRETA 600Mb sense - fix amb aportaci\u00f3 a la infrastructura", "price": 1.0, "category": "fiber", - "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member"], - "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_BA_IP_fix", "name": - "La Borda IP fixa", "price": 1.0, "category": "fiber", "minutes": null, "data": - null, "bandwidth": 0, "available_for": ["member"], "has_landline_phone": true}, - {"code": "SE_SC_REC_MOBILE_T_0_0", "name": "0 min 0 MB", "price": 1.6500000000000001, - "category": "mobile", "minutes": 0, "data": 0, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_1024", - "name": "0 min 1 GB", "price": 3.72, "category": "mobile", "minutes": 0, "data": - 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_0_10240", "name": "0 min 10 GB", "price": 9.09, - "category": "mobile", "minutes": 0, "data": 10240, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_200", - "name": "0 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 0, - "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_T_0_0", + "name": "0 min 0 MB", "price": 2.0, "category": "mobile", "minutes": 0, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_0_1024", "name": "0 min 1 GB", "price": 4.5, + "category": "mobile", "minutes": 0, "data": 1024, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_10240", + "name": "0 min 10 GB", "price": 11.0, "category": "mobile", "minutes": 0, + "data": 10240, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", "name": "0 min 2 GB", - "price": 5.79, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": + "price": 7.0, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_0_3072", "name": "0 min 3 GB", "price": 1.0, "category": - "mobile", "minutes": 0, "data": 3072, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_500", - "name": "0 min 500 MB", "price": 2.89, "category": "mobile", "minutes": 0, - "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_5120", "name": "0 min 5 GB", - "price": 1.0, "category": "mobile", "minutes": 0, "data": 5120, "bandwidth": + "SE_SC_REC_MOBILE_T_0_500", "name": "0 min 500 MB", "price": 3.5, "category": + "mobile", "minutes": 0, "data": 500, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_0", "name": + "100 min 0 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_100_200", "name": "100 min 200 MB", "price": + 1.0, "category": "mobile", "minutes": 100, "data": 200, "bandwidth": null, + "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_0", + "name": "150 min 0 MB", "price": 4.5, "category": "mobile", "minutes": 150, + "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", "name": "150 min 1 + GB", "price": 7.0, "category": "mobile", "minutes": 150, "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_100_0", "name": "100 min 0 MB", "price": 1.0, "category": - "mobile", "minutes": 100, "data": 0, "bandwidth": null, "available_for": ["member", - "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_200", "name": - "100 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": - 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_150_0", "name": "150 min 0 MB", "price": 3.72, - "category": "mobile", "minutes": 150, "data": 0, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", - "name": "150 min 1 GB", "price": 6.61, "category": "mobile", "minutes": 150, - "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 - GB", "price": 9.92, "category": "mobile", "minutes": 150, "data": 10240, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_150_2048", "name": "150 min 2 GB", "price": 8.26, "category": - "mobile", "minutes": 150, "data": 2048, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", - "name": "150 min 500 MB", "price": 6.2, "category": "mobile", "minutes": 150, - "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", - "price": 1.0, "category": "mobile", "minutes": 200, "data": 0, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_200_1024", "name": "200 min 1 GB", "price": 1.0, "category": - "mobile", "minutes": 200, "data": 1024, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", - "name": "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, - "data": 200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_2048", "name": "200 min 2 - GB", "price": 1.0, "category": "mobile", "minutes": 200, "data": 2048, "bandwidth": + "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 GB", "price": 12.0, "category": + "mobile", "minutes": 150, "data": 10240, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_2048", + "name": "150 min 2 GB", "price": 10.0, "category": "mobile", "minutes": 150, + "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", "name": "150 min 500 + MB", "price": 7.5, "category": "mobile", "minutes": 150, "data": 500, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_200_500", "name": "200 min 500 MB", "price": 1.0, "category": - "mobile", "minutes": 200, "data": 500, "bandwidth": null, "available_for": - ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_0", - "name": "Il\u00b7limitades 0 MB", "price": 7.44, "category": "mobile", "minutes": - 99999, "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_1024", "name": "Il\u00b7limitades - 1 GB", "price": 9.09, "category": "mobile", "minutes": 99999, "data": 1024, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_10240", "name": "Il\u00b7limitades 10 GB", - "price": 11.57, "category": "mobile", "minutes": 99999, "data": 10240, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_2048", "name": "Il\u00b7limitades 2 GB", "price": - 9.92, "category": "mobile", "minutes": 99999, "data": 2048, "bandwidth": null, - "available_for": ["member", "coop_agreement", "sponsored"], "offer": - {"code": "SE_SC_REC_MOBILE_PACK_UNL_2048", "price": 8, "name": "Il·limitades 2 GB associat a fibra"}}, - {"code": "SE_SC_REC_MOBILE_T_UNL_23552","name": "Il\u00b7limitades 23 GB", "price": 14.88, "category": "mobile", "minutes": - 99999, "data": 23552, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades - 30 GB", "price": 18.18, "category": "mobile", "minutes": 99999, "data": 30720, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_500", "name": "Il\u00b7limitades 500 MB", - "price": 8.26, "category": "mobile", "minutes": 99999, "data": 500, "bandwidth": - null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_5120", "name": "Il\u00b7limitades 5 GB", "price": - 1.0, "category": "mobile", "minutes": 99999, "data": 5120, "bandwidth": null, - "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_51200", - "name": "Il\u00b7limitades 50 GB", "price": 22.31, "category": "mobile", "minutes": - 99999, "data": 51200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}],"packs": [{"code":"SE_SC_REC_PACK_FIBER_100_UNL_20480","mobiles_in_pack":"1","fiber_bandwidth":"100", - "has_land_line":"true","name":"Fibra 100 amb fix + 1 M\u00f2bil","price":42,"category":"pack", - "available_for":["member","coop_agreement","sponsored"], - "products":[{"code":"SE_SC_REC_BA_F_100","name":"Fibra 100Mb amb fix", - "has_landline_phone":true,"price":34,"category":"fiber","minutes":null, - "data":null,"bandwidth":100,"available_for":["member","coop_agreement","sponsored"]}, - {"code":"SE_SC_REC_MOBILE_PACK_UNL_20480", - "name":"Ilimitadas 20 GB","price":8,"category":"mobile","minutes":99999,"data":20480, - "bandwidth":null,"available_for":["member","coop_agreement","sponsored"]}]}, - {"code":"SE_SC_REC_PACK_FIBER_100_2_MBL","name":"Fibra 100 amb fix+ 2 M\u00f2bils","price":51, - "category":"pack","available_for":["member","coop_agreement","sponsored"],"mobiles_in_pack":"2","fiber_bandwidth":"100", - "has_land_line":"true","products":[{"code":"SE_SC_REC_BA_F_100","name":"Fibra 100Mb amb fix","has_landline_phone":true, - "price":34,"category":"fiber","minutes":null,"data":null,"bandwidth":100},{"code":"SE_SC_REC_MOBILE_PACK_UNL_20480", - "name":"Ilimitadas 20 GB","price":8,"category":"mobile","minutes":99999,"data":20480, - "bandwidth":null},{"code":"SE_SC_REC_MOBILE_T_UNL_5120","name":"Ilimitadas 5 GB","price":9, - "category":"mobile","minutes":99999,"data":5120,"bandwidth":null}]},{"code":"SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", - "name":"Fibra 100 + 1 M\u00f2bil","price":39.5,"category":"pack","available_for":["member","coop_agreement","sponsored"], - "mobiles_in_pack":"1","fiber_bandwidth":"100","has_land_line":"false", - "products":[{"code":"SE_SC_REC_BA_F_100","name":"Fibra 100Mb", - "has_landline_phone":false,"price":31.5,"category":"fiber","minutes":null,"data":null,"bandwidth":100}, - {"code":"SE_SC_REC_MOBILE_PACK_UNL_20480","name":"Ilimitadas 20 GB", - "price":8,"category":"mobile","minutes":99999,"data":20480,"bandwidth":null}]}, - {"code":"SE_SC_REC_PACK_FIBER_100_SF_2_MBL","name":"Fibra 100 + 2 M\u00f2bils","price":48.5,"category":"pack","mobiles_in_pack":"2","fiber_bandwidth":"100", - "has_land_line":"false","available_for":["member","coop_agreement","sponsored"],"products":[{"code":"SE_SC_REC_BA_F_100", - "name":"Fibra 100Mb","has_landline_phone":false,"price":31.5,"category":"fiber", - "minutes":null,"data":null,"bandwidth":100},{"code":"SE_SC_REC_MOBILE_PACK_UNL_20480", - "name":"Ilimitadas 20 GB","price":8,"category":"mobile","minutes":99999,"data":20480,"bandwidth":null}, - {"code":"SE_SC_REC_MOBILE_T_UNL_5120","name":"Ilimitadas 5 GB","price":9, - "category":"mobile","minutes":99999,"data":5120,"bandwidth":null}]}]}]}' + "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", "price": 1.0, "category": + "mobile", "minutes": 200, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", "name": + "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, "data": + 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades 30 GB", + "price": 19.0, "category": "mobile", "minutes": 99999, "data": 30720, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"], "offer": + {"code": "SE_SC_REC_MOBILE_PACK_UNL_30720", "price": 1.0, "name": "Il\u00b7limitades + 30 GB (Pack)"}}], "packs": [{"code": "SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 73.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1000_3_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 77.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", "name": "Fibra 100Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_100_SF", "name": "Fibra 100Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 100, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_100_UNL_20480", + "name": "Fibra 100 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_100", "name": + "Fibra 100Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1024_UNL_20480", + "name": "Fibra 1 Gb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 1024, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_2_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 49.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_3_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 53.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_300_SF_UNL_20480", "name": "Fibra 300Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_UNL_20480", + "name": "Fibra 300 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_600_UNL_20480", + "name": "Fibra 600 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 600, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_600", "name": + "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 600, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_SF_300_2_MOBILES_50", + "name": "Fibra 300Mb + 50 GB compartides 2 m\u00f2bils", "price": 46.5, "category": + "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": 2, "fiber_bandwidth": + 300, "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": + "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades 50 GB compartides + entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", "minutes": 99999, + "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_SF_300_3_MOBILES_50", "name": "Fibra 300Mb + + 50 GB compartides 3 m\u00f2bils", "price": 51.0, "category": "mobile_shared_data", + "available_for": ["member"], "mobiles_in_pack": 3, "fiber_bandwidth": 300, + "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": + "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}]}]}' headers: Access-Control-Allow-Methods: - GET Access-Control-Allow-Origin: - None Content-Length: - - '9586' + - '14326' Content-Type: - application/json Cookie: '****' Date: - - Fri, 01 Jul 2022 17:22:39 GMT + - Mon, 03 Feb 2025 10:38:41 GMT Server: - Werkzeug/0.11.15 Python/3.7.7 Set-Cookie: '****' diff --git a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code_with_category_filter.yaml b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code_with_category_filter.yaml index b3c3ede..347d467 100644 --- a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code_with_category_filter.yaml +++ b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_code_with_category_filter.yaml @@ -15,49 +15,174 @@ interactions: User-Agent: - python-requests/2.27.1 method: GET - uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=mobile + uri: http://odoo-sc.local:8069/api/product-catalog?code=21IVA&categ=mobile&is_company=false response: body: string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_MOBILE_T_0_0", "name": "0 min 0 MB", "price": 2.0, "category": "mobile", "minutes": 0, "data": - 0, "bandwidth": null, "available_for": ["member", "coop_agreement"]}, {"code": - "SE_SC_REC_MOBILE_T_0_1024", "name": "0 min 1 GB", "price": 4.5, "category": - "mobile", "minutes": 0, "data": 1024, "bandwidth": null, "available_for": - ["member", "coop_agreement"]}, {"code": "SE_SC_REC_MOBILE_T_150_0", "name": - "150 min 0 MB", "price": 4.5, "category": "mobile", "minutes": 150, "data": - 0, "bandwidth": null, "available_for": ["member", "coop_agreement"]}, {"code": - "SE_SC_REC_MOBILE_T_150_1024", "name": "150 min 1 GB", "price": 7.0, "category": - "mobile", "minutes": 150, "data": 1024, "bandwidth": null, "available_for": - ["member", "coop_agreement"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_10240", "name": - "Il\u00b7limitades 10 GB", "price": 12.0, "category": "mobile", "minutes": - 99999, "data": 10240, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_102400", "name": "Il\u00b7limitades - 100 GB", "price": 31.5, "category": "mobile", "minutes": 99999, "data": 102400, - "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, - {"code": "SE_SC_REC_MOBILE_T_UNL_20480", "name": "Il\u00b7limitades 20 GB", - "price": 15.5, "category": "mobile", "minutes": 99999, "data": 20480, "bandwidth": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_0_1024", "name": "0 min 1 GB", "price": 4.5, + "category": "mobile", "minutes": 0, "data": 1024, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_10240", + "name": "0 min 10 GB", "price": 11.0, "category": "mobile", "minutes": 0, + "data": 10240, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", "name": "0 min 2 GB", + "price": 7.0, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades 30 GB", "price": - 19.0, "category": "mobile", "minutes": 99999, "data": 30720, "bandwidth": + "SE_SC_REC_MOBILE_T_0_500", "name": "0 min 500 MB", "price": 3.5, "category": + "mobile", "minutes": 0, "data": 500, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_0", "name": + "100 min 0 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_100_200", "name": "100 min 200 MB", "price": + 1.0, "category": "mobile", "minutes": 100, "data": 200, "bandwidth": null, + "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_0", + "name": "150 min 0 MB", "price": 4.5, "category": "mobile", "minutes": 150, + "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", "name": "150 min 1 + GB", "price": 7.0, "category": "mobile", "minutes": 150, "data": 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": - "SE_SC_REC_MOBILE_T_UNL_5120", "name": "Il\u00b7limitades 5 GB", "price": - 9.0, "category": "mobile", "minutes": 99999, "data": 5120, "bandwidth": null, - "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_UNL_51200", - "name": "Il\u00b7limitades 50 GB", "price": 24.0, "category": "mobile", "minutes": - 99999, "data": 51200, "bandwidth": null, "available_for": ["member", "coop_agreement", - "sponsored"]}],"packs":[]}]}' + "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 GB", "price": 12.0, "category": + "mobile", "minutes": 150, "data": 10240, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_2048", + "name": "150 min 2 GB", "price": 10.0, "category": "mobile", "minutes": 150, + "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", "name": "150 min 500 + MB", "price": 7.5, "category": "mobile", "minutes": 150, "data": 500, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", "price": 1.0, "category": + "mobile", "minutes": 200, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", "name": + "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, "data": + 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades 30 GB", + "price": 19.0, "category": "mobile", "minutes": 99999, "data": 30720, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"], "offer": + {"code": "SE_SC_REC_MOBILE_PACK_UNL_30720", "price": 1.0, "name": "Il\u00b7limitades + 30 GB (Pack)"}}], "packs": [{"code": "SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 73.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1000_3_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 77.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", "name": "Fibra 100Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_100_SF", "name": "Fibra 100Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 100, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_100_UNL_20480", + "name": "Fibra 100 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_100", "name": + "Fibra 100Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1024_UNL_20480", + "name": "Fibra 1 Gb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 1024, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_2_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 49.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_3_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 53.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_300_SF_UNL_20480", "name": "Fibra 300Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_UNL_20480", + "name": "Fibra 300 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_600_UNL_20480", + "name": "Fibra 600 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 600, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_600", "name": + "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 600, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_SF_300_2_MOBILES_50", + "name": "Fibra 300Mb + 50 GB compartides 2 m\u00f2bils", "price": 46.5, "category": + "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": 2, "fiber_bandwidth": + 300, "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": + "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades 50 GB compartides + entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", "minutes": 99999, + "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_SF_300_3_MOBILES_50", "name": "Fibra 300Mb + + 50 GB compartides 3 m\u00f2bils", "price": 51.0, "category": "mobile_shared_data", + "available_for": ["member"], "mobiles_in_pack": 3, "fiber_bandwidth": 300, + "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": + "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}]}]}' headers: Access-Control-Allow-Methods: - GET Access-Control-Allow-Origin: - None Content-Length: - - '2168' + - '12651' Content-Type: - application/json Cookie: '****' Date: - - Tue, 22 Mar 2022 10:48:50 GMT + - Mon, 03 Feb 2025 10:38:42 GMT Server: - Werkzeug/0.11.15 Python/3.7.7 Set-Cookie: '****' diff --git a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_company_catalog.yaml b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_company_catalog.yaml new file mode 100644 index 0000000..bc93d29 --- /dev/null +++ b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_company_catalog.yaml @@ -0,0 +1,387 @@ +interactions: +- request: + body: null + headers: + API-KEY: + - '****' + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Accept-Language: + - ca + Connection: + - keep-alive + User-Agent: + - python-requests/2.27.1 + method: GET + uri: http://odoo-sc.local:8069/api/product-catalog?code=&categ=&is_company=true + response: + body: + string: '{"pricelists": [{"code": "21IVA", "products": [{"code": "SE_SC_REC_BA_ADSL_100", + "name": "ADSL 100 min a fix o m\u00f2bil", "price": 36.0, "category": "adsl", + "minutes": null, "data": null, "bandwidth": 0, "available_for": ["member", + "coop_agreement"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", + "name": "ADSL 1000 min a fix", "price": 1.0, "category": "adsl", "minutes": + null, "data": null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], + "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_SF", "name": "ADSL + sense fix", "price": 31.5, "category": "adsl", "minutes": null, "data": null, + "bandwidth": 0, "available_for": ["member", "coop_agreement"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "available_for": ["member"], "has_landline_phone": + true}, {"code": "SE_SC_REC_BA_F_300", "name": "Fibra 300Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 300, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "available_for": ["member"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 43.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 600, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_T_0_0", + "name": "0 min 0 MB", "price": 2.0, "category": "mobile", "minutes": 0, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_0_1024", "name": "0 min 1 GB", "price": 4.5, + "category": "mobile", "minutes": 0, "data": 1024, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_10240", + "name": "0 min 10 GB", "price": 11.0, "category": "mobile", "minutes": 0, + "data": 10240, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", "name": "0 min 2 GB", + "price": 7.0, "category": "mobile", "minutes": 0, "data": 2048, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_0_500", "name": "0 min 500 MB", "price": 3.5, "category": + "mobile", "minutes": 0, "data": 500, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_0", "name": + "100 min 0 MB", "price": 1.0, "category": "mobile", "minutes": 100, "data": + 0, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_100_200", "name": "100 min 200 MB", "price": + 1.0, "category": "mobile", "minutes": 100, "data": 200, "bandwidth": null, + "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_0", + "name": "150 min 0 MB", "price": 4.5, "category": "mobile", "minutes": 150, + "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", "name": "150 min 1 + GB", "price": 7.0, "category": "mobile", "minutes": 150, "data": 1024, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 GB", "price": 12.0, "category": + "mobile", "minutes": 150, "data": 10240, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_2048", + "name": "150 min 2 GB", "price": 10.0, "category": "mobile", "minutes": 150, + "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", "name": "150 min 500 + MB", "price": 7.5, "category": "mobile", "minutes": 150, "data": 500, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", "price": 1.0, "category": + "mobile", "minutes": 200, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", "name": + "200 min 200 MB", "price": 1.0, "category": "mobile", "minutes": 200, "data": + 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades 30 GB", + "price": 19.0, "category": "mobile", "minutes": 99999, "data": 30720, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"], "offer": + {"code": "SE_SC_REC_MOBILE_PACK_UNL_30720", "price": 1.0, "name": "Il\u00b7limitades + 30 GB (Pack)"}}], "packs": [{"code": "SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 73.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1000_3_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 77.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", "name": "Fibra 100Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_100_SF", "name": "Fibra 100Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 100, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_100_UNL_20480", + "name": "Fibra 100 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_100", "name": + "Fibra 100Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1024_UNL_20480", + "name": "Fibra 1 Gb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 1024, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 58.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_2_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 49.0, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_3_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 53.5, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_300_SF_UNL_20480", "name": "Fibra 300Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_UNL_20480", + "name": "Fibra 300 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_600_UNL_20480", + "name": "Fibra 600 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 600, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_600", "name": + "Fibra 600Mb", "price": 43.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 600, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_SF_300_2_MOBILES_50", + "name": "Fibra 300Mb + 50 GB compartides 2 m\u00f2bils", "price": 46.5, "category": + "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": 2, "fiber_bandwidth": + 300, "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": + "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades 50 GB compartides + entre 2 m\u00f2bils", "price": 7.5, "category": "mobile", "minutes": 99999, + "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 7.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_SF_300_3_MOBILES_50", "name": "Fibra 300Mb + + 50 GB compartides 3 m\u00f2bils", "price": 51.0, "category": "mobile_shared_data", + "available_for": ["member"], "mobiles_in_pack": 3, "fiber_bandwidth": 300, + "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": + "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 6.5, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 6.5, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}]}, + {"code": "0IVA", "products": [{"code": "SE_SC_REC_BA_ADSL_100", "name": "ADSL + 100 min a fix o m\u00f2bil", "price": 26.03, "category": "adsl", "minutes": + null, "data": null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], + "has_landline_phone": true}, {"code": "SE_SC_REC_BA_ADSL_1000", "name": "ADSL + 1000 min a fix", "price": 28.09, "category": "adsl", "minutes": null, "data": + null, "bandwidth": 0, "available_for": ["member", "coop_agreement"], "has_landline_phone": + true}, {"code": "SE_SC_REC_BA_ADSL_SF", "name": "ADSL sense fix", "price": + 26.03, "category": "adsl", "minutes": null, "data": null, "bandwidth": 0, + "available_for": ["member", "coop_agreement"], "has_landline_phone": false}, + {"code": "SE_SC_REC_BA_F_100", "name": "Fibra 100Mb", "price": 28.1, "category": + "fiber", "minutes": null, "data": null, "bandwidth": 100, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 47.93, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "available_for": ["member"], "has_landline_phone": + true}, {"code": "SE_SC_REC_BA_F_300", "name": "Fibra 300Mb", "price": 34.0, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 300, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "available_for": ["member"], "has_landline_phone": + false}, {"code": "SE_SC_REC_BA_F_600", "name": "Fibra 600Mb", "price": 35.54, + "category": "fiber", "minutes": null, "data": null, "bandwidth": 600, "available_for": + ["member"], "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_T_0_0", + "name": "0 min 0 MB", "price": 1.6500000000000001, "category": "mobile", "minutes": + 0, "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_1024", "name": "0 min 1 GB", + "price": 3.72, "category": "mobile", "minutes": 0, "data": 1024, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_0_10240", "name": "0 min 10 GB", "price": 9.09, "category": + "mobile", "minutes": 0, "data": 10240, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_0_2048", + "name": "0 min 2 GB", "price": 5.79, "category": "mobile", "minutes": 0, "data": + 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_0_500", "name": "0 min 500 MB", "price": 2.89, + "category": "mobile", "minutes": 0, "data": 500, "bandwidth": null, "available_for": + ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_0", + "name": "100 min 0 MB", "price": 2.89, "category": "mobile", "minutes": 100, + "data": 0, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_100_200", "name": "100 min 200 + MB", "price": 4.96, "category": "mobile", "minutes": 100, "data": 200, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_150_0", "name": "150 min 0 MB", "price": 3.72, "category": + "mobile", "minutes": 150, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_1024", "name": + "150 min 1 GB", "price": 5.79, "category": "mobile", "minutes": 150, "data": + 1024, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_150_10240", "name": "150 min 10 GB", "price": + 9.92, "category": "mobile", "minutes": 150, "data": 10240, "bandwidth": null, + "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_2048", + "name": "150 min 2 GB", "price": 8.26, "category": "mobile", "minutes": 150, + "data": 2048, "bandwidth": null, "available_for": ["member", "coop_agreement", + "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_150_500", "name": "150 min 500 + MB", "price": 6.2, "category": "mobile", "minutes": 150, "data": 500, "bandwidth": + null, "available_for": ["member", "coop_agreement", "sponsored"]}, {"code": + "SE_SC_REC_MOBILE_T_200_0", "name": "200 min 0 MB", "price": 4.55, "category": + "mobile", "minutes": 200, "data": 0, "bandwidth": null, "available_for": ["member", + "coop_agreement", "sponsored"]}, {"code": "SE_SC_REC_MOBILE_T_200_200", "name": + "200 min 200 MB", "price": 6.61, "category": "mobile", "minutes": 200, "data": + 200, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"]}, + {"code": "SE_SC_REC_MOBILE_T_UNL_30720", "name": "Il\u00b7limitades 30 GB", + "price": 15.700000000000001, "category": "mobile", "minutes": 99999, "data": + 30720, "bandwidth": null, "available_for": ["member", "coop_agreement", "sponsored"], + "offer": {"code": "SE_SC_REC_MOBILE_PACK_UNL_30720", "price": 1.0, "name": + "Il\u00b7limitades 30 GB (Pack)"}}], "packs": [{"code": "SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 60.33, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 47.93, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 6.2, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 6.2, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1000_3_MOBILES_50", + "name": "Fibra 1Gb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 64.13, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 1024, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", + "name": "Fibra 1Gb", "price": 47.93, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 5.4, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 5.4, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 5.4, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_100_SF_UNL_20480", "name": "Fibra 100Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_100_SF", "name": "Fibra 100Mb + Sense Fix", "price": 26.03, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_100_UNL_20480", + "name": "Fibra 100 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 100, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_100", "name": + "Fibra 100Mb", "price": 28.1, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 100, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_1024_UNL_20480", + "name": "Fibra 1 Gb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 1024, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_1024", "name": + "Fibra 1Gb", "price": 47.93, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 1024, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_2_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 2 m\u00f2bils", "price": 46.4, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 2, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 6.2, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 2 m\u00f2bils", "price": 6.2, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_3_MOBILES_50", + "name": "Fibra 300Mb + Fix + 50 GB compartides 3 m\u00f2bils", "price": 50.2, + "category": "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": + 3, "fiber_bandwidth": 300, "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", + "name": "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 5.4, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 5.4, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 5.4, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_300_SF_UNL_20480", "name": "Fibra 300Mb Sense + Fix + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", "available_for": + ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, "has_land_line": + false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": "Fibra 300Mb + Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, "data": null, + "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_300_UNL_20480", + "name": "Fibra 300 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 300, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_300", "name": + "Fibra 300Mb", "price": 34.0, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 300, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_600_UNL_20480", + "name": "Fibra 600 Mb + m\u00f2bil IL 20 GB", "price": 1.0, "category": "bonified_mobile", + "available_for": ["member"], "mobiles_in_pack": 1, "fiber_bandwidth": 600, + "has_land_line": true, "products": [{"code": "SE_SC_REC_BA_F_600", "name": + "Fibra 600Mb", "price": 35.54, "category": "fiber", "minutes": null, "data": + null, "bandwidth": 600, "has_landline_phone": true}, {"code": "SE_SC_REC_MOBILE_PACK_UNL_20480", + "name": "Il\u00b7limitades 20 GB (Pack)", "price": 8.0, "category": "mobile", + "minutes": 99999, "data": 20480, "bandwidth": null}]}, {"code": "SE_SC_REC_PACK_FIBER_SF_300_2_MOBILES_50", + "name": "Fibra 300Mb + 50 GB compartides 2 m\u00f2bils", "price": 43.9, "category": + "mobile_shared_data", "available_for": ["member"], "mobiles_in_pack": 2, "fiber_bandwidth": + 300, "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", + "name": "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": + null, "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": + "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", "name": "Il\u00b7limitades 50 GB compartides + entre 2 m\u00f2bils", "price": 6.2, "category": "mobile", "minutes": 99999, + "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_2_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 2 m\u00f2bils", "price": + 6.2, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}, + {"code": "SE_SC_REC_PACK_FIBER_SF_300_3_MOBILES_50", "name": "Fibra 300Mb + + 50 GB compartides 3 m\u00f2bils", "price": 47.7, "category": "mobile_shared_data", + "available_for": ["member"], "mobiles_in_pack": 3, "fiber_bandwidth": 300, + "has_land_line": false, "products": [{"code": "SE_SC_REC_BA_F_300_SF", "name": + "Fibra 300Mb Sense Fix", "price": 31.5, "category": "fiber", "minutes": null, + "data": null, "bandwidth": 300, "has_landline_phone": false}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 5.4, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}, + {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", "name": "Il\u00b7limitades + 50 GB compartides entre 3 m\u00f2bils", "price": 5.4, "category": "mobile", + "minutes": 99999, "data": 51200, "bandwidth": null}, {"code": "SE_SC_REC_MOBILE_3_SHARED_UNL_51200", + "name": "Il\u00b7limitades 50 GB compartides entre 3 m\u00f2bils", "price": + 5.4, "category": "mobile", "minutes": 99999, "data": 51200, "bandwidth": null}]}]}]}' + headers: + Access-Control-Allow-Methods: + - GET + Access-Control-Allow-Origin: + - None + Content-Length: + - '28686' + Content-Type: + - application/json + Cookie: '****' + Date: + - Mon, 03 Feb 2025 10:38:43 GMT + Server: + - Werkzeug/0.11.15 Python/3.7.7 + Set-Cookie: '****' + status: + code: 200 + message: OK +version: 1 diff --git a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_non_existant_code.yaml b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_non_existant_code.yaml index 5b2da85..79ff1e4 100644 --- a/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_non_existant_code.yaml +++ b/tests/resources/cassettes/test_product_catalog/TariffTests.test_search_non_existant_code.yaml @@ -15,7 +15,7 @@ interactions: User-Agent: - python-requests/2.27.1 method: GET - uri: http://odoo-sc.local:8069/api/product-catalog?code=BBBB&categ=&product_code= + uri: http://odoo-sc.local:8069/api/product-catalog?code=BBBB&categ=&is_company=false response: body: string: '{"pricelists": []}' @@ -30,7 +30,7 @@ interactions: - application/json Cookie: '****' Date: - - Fri, 01 Jul 2022 17:22:40 GMT + - Mon, 03 Feb 2025 10:38:43 GMT Server: - Werkzeug/0.11.15 Python/3.7.7 Set-Cookie: '****' diff --git a/tests/resources/test_product_catalog.py b/tests/resources/test_product_catalog.py index ff5f57f..7176a6e 100644 --- a/tests/resources/test_product_catalog.py +++ b/tests/resources/test_product_catalog.py @@ -28,7 +28,7 @@ class TariffTests(unittest.TestCase): tariff_names.append(product.name) tariff_codes.append(product.code) tariff_available_for.append(product.available_for) - if product.code == "SE_SC_REC_MOBILE_T_UNL_2048": + if product.code == "SE_SC_REC_MOBILE_T_UNL_30720": tariff_offer = product.offer self.assertIn("ADSL sense fix", tariff_names) @@ -36,9 +36,9 @@ class TariffTests(unittest.TestCase): self.assertIn(["member"], tariff_available_for) self.assertIsInstance(tariff_offer, Offer) - self.assertIn("SE_SC_REC_MOBILE_PACK_UNL_2048", tariff_offer.code) - self.assertIn("Il·limitades 2 GB associat a fibra", tariff_offer.name) - self.assertEqual(8, tariff_offer.price) + self.assertIn("SE_SC_REC_MOBILE_PACK_UNL_30720", tariff_offer.code) + self.assertIn("Il·limitades 30 GB (Pack)", tariff_offer.name) + self.assertEqual(1.0, tariff_offer.price) adsl_wo_fix_product = list( filter(lambda p: p.code == "SE_SC_REC_BA_ADSL_SF", pricelist_21IVA.products) @@ -73,11 +73,11 @@ class TariffTests(unittest.TestCase): pack_tariff_codes.append(product.code) self.assertIn("SE_SC_REC_PACK_FIBER_100_UNL_20480", pack_codes) - self.assertIn("Fibra 100 amb fix+ 2 M\u00f2bils", pack_names) - self.assertIn("Fibra 100Mb amb fix", pack_tariff_names) + self.assertIn("Fibra 1Gb + Fix + 50 GB compartides 2 mòbils", pack_names) + self.assertIn("Fibra 300Mb Sense Fix", pack_tariff_names) self.assertIn("SE_SC_REC_MOBILE_PACK_UNL_20480", pack_tariff_codes) - self.assertIn("2", pack_mobiles_in_pack) - self.assertIn("100", pack_fiber_bandwidth) + self.assertIn(2, pack_mobiles_in_pack) + self.assertIn(100, pack_fiber_bandwidth) @pytest.mark.vcr() def test_search_non_existant_code(self): @@ -104,15 +104,24 @@ class TariffTests(unittest.TestCase): ca_product_names = [p.name for p in ca_pricelists[0].products] es_product_names = [p.name for p in es_pricelists[0].products] - self.assertIn("Il·limitades 10 GB", ca_product_names) - self.assertIn("Ilimitadas 10 GB", es_product_names) + self.assertIn("Il·limitades 30 GB", ca_product_names) + self.assertIn("Ilimitadas 30 GB", es_product_names) @pytest.mark.vcr() - def test_search_available_products_for_product_code(self): + def test_get_by_product_code(self): """For product fibra 100Mb only are available other Fiber products.""" - pricelists = ProductCatalog.search(product_code="SE_SC_REC_BA_F_100") + pricelists = ProductCatalog.get_by_product_code( + product_code="SE_SC_REC_BA_F_100" + ) + product_codes = [p.code for p in pricelists[0].products] + + self.assertIn("SE_SC_REC_BA_F_100_SF", product_codes) + + @pytest.mark.vcr() + def test_search_company_catalog(self): + pricelists = ProductCatalog.search(is_company="true") product_codes = [p.code for p in pricelists[0].products] + pack_codes = [p.code for p in pricelists[0].packs] - self.assertIn("SE_SC_REC_BA_F_1024", product_codes) - self.assertIn("SE_SC_REC_BA_F_600", product_codes) - self.assertNotIn("SE_SC_REC_BA_ADSL_SF", product_codes) + self.assertIn("SE_SC_REC_MOBILE_T_UNL_30720", product_codes) + self.assertIn("SE_SC_REC_PACK_FIBER_1000_2_MOBILES_50", pack_codes) -- GitLab