Open dmitrijs-balcers opened 1 month ago
👋 It would definitely be a nice feature to have. I can try taking a look at building out the API sometime soon™️.
The API is located here: https://github.com/brokalys/sls-api
Ok, the API is now ready. https://github.com/brokalys/sls-api/commit/cfbafaadf0e299b64b12bf9aa1630e120e8afc2f
Here's the staging playground you can use: https://h4iamlt72f.execute-api.eu-west-1.amazonaws.com/staging/
Example query:
query {
pingers(
id: "4a9459aa-7eb9-11eb-b2a8-663c33f40218"
unsubscribe_key: "1b27467e016c52b27d53ed06aadf1ef512bdb521"
) {
results {
id
email
category
type
price_min
price_max
price_type
region
rooms_min
rooms_max
area_m2_min
area_m2_max
frequency
comments
marketing
created_at
unsubscribed_at
unsubscribe_key
}
}
}
HTTP headers:
{
"X-Api-Key": "g2G4jwUchM3wH1ozVqr8SaY5m7FZkrjH2AsN9qOY"
}
Provide the pinger ID and the unsubscribe key. The result will contain an array of pingers for this specific user. Nothing will be returned if the ID/key does not match any pingers.
Prod will have the same syntax. API endpoint: https://api.brokalys.com ; key: tbxck3bRYU2ZdZFJi5Jtd7ycKZ4rBgIQ3XEYFDPjHide
--
There is no way to perform UPDATE operations. However, you can run the unsubscribePinger()
and then createPinger()
operations to mimic the same behavior.
That was quick! I got a bit swamped at work, will try to get to this!
All good on staging
thanks!
prod
with id
and unsubscribe_key
with the url parameters I derived from unsubscribe link I received in my email, but received following error:
{
"errors": [
{
"message": "An unexpected error occurred. Please try again later."
}
],
"data": null
}
Could you please check in logs what I'm doing wrong? I did set prod X-Api-Key
you provided, and for:
pingers(
id: "4a9459aa-7eb9-11eb-b2a8-663c33f40218"
unsubscribe_key: "1b27467e016c52b27d53ed06aadf1ef512bdb521"
) { ... }
this returns OK
ish data (not error):
{
"data": {
"pingers": {
"results": []
}
}
}
I suspect that API-Key is Access limited perhaps?
region
value that I could further illustrate on google maps integration?region
can be used for thatYou can use polygonStringToCoords to convert the string to a polygon. And then just draw the polygon on the map.
Thanks, works!
But interestingly now I receive a lot of null values and all of the pingers on prod for my email have null
region:
{
"id": "<id>",
"email": "<email>",
"category": "HOUSE",
"type": "SELL",
"price_min": 1,
"price_max": 300000,
"price_type": "TOTAL",
"region": null,
"rooms_min": null,
"rooms_max": null,
"area_m2_min": null,
"area_m2_max": null,
"frequency": "DAILY",
"comments": null,
"marketing": true,
"created_at": "1679843489000",
"unsubscribed_at": null,
"unsubscribe_key": "<uns_key>"
},
I think in pinger region should be always present right? Unless user somehow selected nothing on the map and we allow that on API validation?
You are correct! It's been a while since I worked with the pinger codebase, so I'm a bit rusty. The region
field is now patched.
@MatissJanis I'm sorry to disturb again 🙈 I just returned to this. it seems that in both staging and prod, I'm receiving every result as duplicate, regions match in every record.
Ha.. that's quite unfortunate. I'm OOO right now. Will try to pick this up again in a few weeeks.
The patch has been deployed. Thanks for the report!
~~@MatissJanis I faced another issue with unsubscribe. It seems to me that unsubscribe here doesn't work:
https://unsubscribe.brokalys.com/ at least I opened one of the Atrakstīties
links, pressed unsbscribe, received unsubscribed successfuly on UI, but pinger still is returned in common list of pingers.~~
{"data":{"unsubscribePinger":true}}
Lol, I brainfarted, BE returns all pingers, even unsubscribed, I can just filter using unsubscribed_at
@MatissJanis plz rev: https://github.com/brokalys/pinger-app/pull/2
Sorry for the slow review. My other side-project - Actual budget - recently got a huge influx of users, so that took much of my attention.
Would it be somehow possible to get API to acquire all scheduled pinger notifications for given user? I am thinking that perhaps it would be possible to send a link in email through which it would be possible to access all the scheduled pinger notificaitons to review, edit and delete through some easy to use interface. If you think it is possible I might be able to help out with coding FullStack solution or only UI if needed.