Clarify 20-min rental ceiling (verified: SMSPool ignores expiry param)

- sms.py: drop misleading expiry param from /purchase/sms (SMSPool hard-caps
  rentals at 1200s/20min regardless); document MAX_RENTAL_MIN as verified
- surface the ceiling in customer UI + admin panel + feasibility doc
This commit is contained in:
drjones
2026-09-20 20:11:08 -07:00
parent 48305b4ad1
commit d7ce96fba4
3 changed files with 8 additions and 4 deletions

9
sms.py
View File

@@ -77,8 +77,9 @@ class SMSPoolProvider(NumberProvider):
return self._get("service/retrieve_all", {})
def provision_number(self, service, country, expiry_min):
return self._get("purchase/sms", {"service": service, "country": country,
"expiry": int(expiry_min)})
# `expiry` is passed for API compatibility but SMSPool ignores it —
# every rental hard-caps at 20 min (see MAX_RENTAL_MIN).
return self._get("purchase/sms", {"service": service, "country": country})
def check_sms(self, order_id):
return self._get("sms/check", {"orderid": order_id})
@@ -132,7 +133,9 @@ DEFAULT_PRICING = [
{"duration_min": 20, "price_sats": 3000},
]
MAX_RENTAL_MIN = 20 # SMSPool rental window ceiling; longer durations re-rent
MAX_RENTAL_MIN = 20 # VERIFIED 2026-09-20: SMSPool ignores `expiry` param — rental numbers
# hard-cap at 1200s (20 min) regardless of what's requested. Longer
# sessions require a re-rent loop (not yet implemented).
# --------------------------------------------------------------------------
# Schema