Open Source React Native API Reimplementation
This is a reversed engineered API endpoint list from their React Native android app.
Full source code: https://fn.lc/s/dropbike.js
API base: https://dropbike.herokuapp.com
Staging API base: https://dropbike-staging.herokuapp.com
Weirdly enough the Staging API seems to have production data on it.
Basic unauthenticated request:
fetch("" + g + r, {
method: s,
body: n,
headers: babelHelpers.extends({}, e, {
"Content-Type": "application/json",
Accept: "application/json",
"x-dropbike-client-version": "3.1.64",
"x-dropbike-client-type": o.Platform.OS
})
})
GET https://dropbike.herokuapp.com/v3/bikes?lat=49.2606&lng=-123.2460
GET https://dropbike.herokuapp.com/v3/havens?lat=49.2606&lng=-123.2460
GET https://dropbike.herokuapp.com/v3/region_near?lat=49.2606&lng=-123.2460
GET https://dropbike.herokuapp.com/v3/signup_region?lat=49.2606&lng=-123.2460
GET https://dropbike.herokuapp.com/v3/region/ubc
POST https://dropbike.herokuapp.com/v3/authenticate {phone: r}
POST https://dropbike.herokuapp.com/v3/verify {sms_id, uuid: Constants.installationId, code})
POST https://dropbike.herokuapp.com/v3/end_trip ???
This doesn't seem to do anything other than send an SMS to the user.
POST https://dropbike.herokuapp.com/v3/finalize_trip ???
Couldn't get this to work, threw an error every time I tried it.
GET https://dropbike.herokuapp.com/v3/config
GET https://dropbike.herokuapp.com/v3/faqs
GET https://dropbike.herokuapp.com/v3/intro?lat=49.2606&lng=-123.2460&language=en
These methods require a x-dropbike-session-id
header.
There's a huge number of these so not all of them are listed, pretty easy to pull them out of the source code though.
POST https://dropbike.herokuapp.com/v3/avatar
fetch(g + "/v3/avatar", {
method: "POST",
headers: {
"x-dropbike-session-id": e,
"Content-Type": "multipart/form-data"
},
body: r
})
GET https://dropbike.herokuapp.com/v3/user
POST https://dropbike.herokuapp.com/v3/user ???
POST https://dropbike.herokuapp.com/v3/accept_terms_waiver
POST https://dropbike.herokuapp.com/v3/start_trip {lat, lng, plate, scan_type: 'qr'}