Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
51–60 of 94 posts
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#52As a SWE at Rewe (at a completely different department), I can say that I find this pretty cool. I wonder if this is going to be a wakeup to management to relax the API restrictions.
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#53Earlier quoted context omitted.
B2B: Look at chefkoch.de They do use the REWE API, and I'm guessing not without their knowledge B2C: Is it really surprising that a busines has no interest in providing more price transparency to their customers?
> B2C: Is it really surprising that a busines has no interest in providing more price transparency to their customers? Might I suggest you remove your tin-foil hat and consider that: - 99% of REWE customers almost certainly have no clue what an API is - 99% of the remaining 1% know what an API is, but their day-job involves messing with APIs, so they don't want to spend their weekend-time messing with the REWE API, t…
First up: Read and follow the rules. No need to insult me. Especially considering what you said shows that you both misunderstood AND misrepresented what I've said.
And frankly, my reasoning was simply saying "Company won't publicize internal info if they don't get an advantage from doing so". It's literally the same reason Google doesn't publish all of their source code. I'm struggling to see what part you are misunderstanding but it has to be something extremely basic to conclude I'm a conspiracy nut for basically stating "Company acts in their interest".
Opening an API to the public allows third parties to develop apps that can then be consumed by end-consumers. Not trying to be offensive here, but do you know what an API is? To conclude I meant every single end-consumers building their own app is at best disingenuously twisting my words.
Opening the API would allow new players like you and me to enter the market and take a piece of the pie. Why would a market, dominated and controlled by a few big players, opt for that? You don't even need to know that the German grocery market is incredibly price competitive, to understand that.
> If you think about it, imagine if REWE officially exposed an API B2C. This would mean they are obligated to provide support. Can you provide a source for that requirement? I'm pretty sure you just made that up.
> Businesses and services differentiating between B2C and B2B is nothing new, that is why the two different terminologies exist ! At this point I'm entirely lost what you read in my comment. Yes I know. I specifically made that distinction.
> What next, you don't want to fill up your car at the petrol station (B2C) but you want to be permitted to buy a barrel crude oil direct from the drill and refine it yourself (B2B) ? Yeah you definitely misunderstood something... What I said/meant:
The question: Why isn't the API open?
My answer: For B2B I gave an example where the API is used by another German firm, providing an example that the API is indeed consumed B2B.
For B2C: They have no reason to do so. They have a well functioning app where you can order stuff. They have one of the bigger recipe pages (at least it does very well SEO-wise) in Germany where you can immediately order ingredients from a recipe. The biggest recipe page in Germany (chefkoch) offers a direct link from recipes to their order page. Maybe you're missing this info? Thinking it's an internal API to data that isn't exposed anywhere at all would somehow explain whatever you tried to say here. But again, if you're that uninformed, don't insult people.
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#54Cool project, but have mixed feelings about publishing ever easier ways to access this API. They've locked down the API a while ago for a reason. Also there already exists this reverse engineered project: https://github.com/ByteSizedMarius/rewerse-engineering/ I do have a suggestion for your app though: Have it compare your basket of goods across different markets in your region to show you the cheapest option. I'm p…
> Compare process across different markets. Check out smhaggle app on Android https://play.google.com/store/apps/details?id=com.smhaggle.a...
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#55Cool project, but have mixed feelings about publishing ever easier ways to access this API. They've locked down the API a while ago for a reason. Also there already exists this reverse engineered project: https://github.com/ByteSizedMarius/rewerse-engineering/ I do have a suggestion for your app though: Have it compare your basket of goods across different markets in your region to show you the cheapest option. I'm p…
> Compare process across different markets. Check out smhaggle app on Android https://play.google.com/store/apps/details?id=com.smhaggle.a...
What I suspect though: They mainly show current discounts. The REWE API exposes those as a separate list for each market. There's around 3.5k markets and each can set their own discounts and has their own product catalogue with their own pricing.
So it would be 3.5k API calls to fetch all offers for all markets. Which is doable.
But fetching all products takes like 100 calls per market. It's quite a bit of data. And I think most supermarket don't publish their catalogue at all since they don't have delivery options.
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#56I wrote a skill some time ago to support me with "agentic groceries" on my own - it's the future of shopping I would say.
My workflow:
- I paste in urls or text for receipts I will cook this week - agent extracts the ingredients, calculates cups to ml and such, replaces meat with vegi ingredients, replaces some other things I prefer always (often also creates a nice markdown receipe at this steo I can put into Obsidian) - check my list of favs, check search cache (so not every time the api is called, I'm a good netizen :D ) - ask me which items I have at home (no need to add to the basket) - search rewe api for multiple candidates and let me choose. - after each recipe I enter /new to start with fresh context - also I have a list of things I buy every week
I still put everything manually in the basket in the end, but this is not the thing which is time intensive.
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#57As a SWE at Rewe (at a completely different department), I can say that I find this pretty cool. I wonder if this is going to be a wakeup to management to relax the API restrictions.
This is the future of doing groceries. Let us login with our credentials and let us do the search/filling the cart with agents.
Totally fine to do the payment only on the web, so everyone can be sure they only order what was wished, and not 300 avocados.
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#58I hope REWE is seeing this and offers an official MCP server. In the end we pay real money there. :D I wrote a skill some time ago to support me with "agentic groceries" on my own - it's the future of shopping I would say. My workflow: - I paste in urls or text for receipts I will cook this week - agent extracts the ingredients, calculates cups to ml and such, replaces meat with vegi ingredients, replaces some other…
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#59Really cool to see things still being built in Haskell! How do you find using it compared to some of the newer languages that have more modern tooling? Did you implement your own OAUTH2 flow in haskell for this?
Does Haskell not have modern tooling? What would be considered modern in this context?
I'm a huge fan of Haskell and I'm really exploring it as my primary language now that AI has gotten so huge, not just because it makes it easier but also because I can really lock down what I allow code to do (through pure functions, type checking etc) and so I feel a lot more confident in AI generated code
Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)
#60Earlier quoted context omitted.
Does Haskell not have modern tooling? What would be considered modern in this context?
it does through cabal and stack but its not as streamlined, quick, and versatile as tooling for languages like Golang or Rust imo. I'm a huge fan of Haskell and I'm really exploring it as my primary language now that AI has gotten so huge, not just because it makes it easier but also because I can really lock down what I allow code to do (through pure functions, type checking etc) and so I feel a lot more confident i…
For context, I've been writing Haskell for quite a long time and I'm maintaining a few packages like Yesod.