40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
# Vendor callback: GET or POST
|
|
# Volcengine example (GET):
|
|
# ?bytedToken=xxx&resultCode=10000&algorithmBaseRespCode=0
|
|
# &reqMeasureInfoValue=1&verify_type=real_time
|
|
# Return format depends on vendor requirements.
|
|
|
|
debug("[rl_callback] ===== START =====")
|
|
debug(f"[rl_callback] params_kw: {params_kw}")
|
|
print(f"[rl_callback] params_kw: {params_kw}")
|
|
|
|
# Extract bytedToken and resultCode from query params (GET callback)
|
|
byted_token = (params_kw.get("bytedToken")
|
|
or params_kw.get("BytedToken")
|
|
or params_kw.get("byted_token")
|
|
or "")
|
|
result_code = params_kw.get("resultCode", "")
|
|
|
|
debug(f"[rl_callback] byted_token={byted_token}, resultCode={result_code}")
|
|
print(f"[rl_callback] byted_token={byted_token}, resultCode={result_code}")
|
|
|
|
if not byted_token:
|
|
debug("[rl_callback] ERROR: missing bytedToken")
|
|
return json.dumps({"code": "400", "message": "Missing bytedToken"})
|
|
|
|
# Process callback
|
|
try:
|
|
debug(f"[rl_callback] calling rl_handle_callback")
|
|
result = await rl_handle_callback(byted_token, project_name="default")
|
|
debug(f"[rl_callback] result: {result}")
|
|
print(f"[rl_callback] result: {result}")
|
|
except Exception as e:
|
|
debug(f"[rl_callback] exception: {e}")
|
|
print(f"[rl_callback] exception: {e}")
|
|
return json.dumps({"code": "500", "message": f"Internal error: {str(e)}"})
|
|
|
|
if result.get("success"):
|
|
return json.dumps({"code": "200", "message": "ok"})
|
|
else:
|
|
return json.dumps({"code": "500", "message": result.get("message", "callback error")})
|