aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_call_rpc
Parameters
Name
Type
Mode
api_url
text
IN
access_token
text
IN
params
jsonb
IN
service_name
text
IN (DEFAULT '')
Definition
declare v_status int; v_content TEXT; v_result jsonb; v_headers jsonb; v_message text; BEGIN v_headers := jsonb_build_object('Authorization', 'Bearer '||access_token); select status, content from http_post(api_url::varchar, params, v_headers) into v_status, v_content; raise notice 'Response: %, %', v_status, v_content; if (v_status between 200 and 299) then v_result := v_content::jsonb; if v_result->>'status' = '200' then RETURN fn_result( v_result->'data'->>'result_code', v_result->'data'->>'msg_code', v_result->'data'->>'result_msg', result_data := (v_result->'data'->'result_data')::json ); else v_message := format('Call API failed(%s), %s', v_result->>'status', v_result->>'message'); PERFORM sp_log_error('sp_call_rpc', api_url||E'\n'||v_message); RETURN fn_result_error('99', v_message); end if; else v_message := format('Call API failed(%s), %s', v_result->>'status', v_content); PERFORM sp_log_error('sp_call_rpc', api_url||E'\n'||v_message); RETURN fn_result_error('99', v_message); end if; END