FAQ > 金融建模 > 第三方交互 > TS-OPI

Q:TSL&OPI方式调用示例:执行语句串    

  • A:通过设置URI:https://opi.tinysoft.com.cn/Service/Run/ 的方式执行语句串;
    【数据规范】json串,{"body":tsl语句段字符串},如:
    {"body":"setsysparam(pn_stock(),'SH000001');return close();"}

    body字段中送入的是需要被天软平台进行执行的代码段。
    在天软中,可以通过ExportJSONString将天软数据类型转换成json串。

    取数demo:实现获取指定代码最近10日价格序列
    //--------平台用户调用tsl语句段:/Service/Run/---------------
    url:='https://opi.tinysoft.com.cn/Service/Run/'; //URL
    //tsl语句段
    tsl:="SetSysParam(pn_stock(),'SZ000002');
    SetSysParam(pn_date(),inttodate(20251231));
    Return Nday(10,'time',DateTimeToStr(sp_time()),'close',close());";

    body:=exportjsonstring(array("body":tsl));//转成json串
    headArr:=array("Connection: keep-alive","Content-Type: application/json","JSON-Encode: gbk","TS-EVENTNAME: auto");
    header:=array2str(headArr,"\r\n");
    sid:=CreateHttpSession();
    tuser:="user"; //用户账号
    tpassw:="password"; //用户密码

    r:=InternetRequest(sid,url,"",header,body,tuser,tpassw,0,res,resp,30000);
    echo "error:",systhreadid(),"->r:",r,"->resp:",resp,"->res:",tostn(Importjsonstring(res)),"->",roundto(length(res)/1024/1024,-2),"\r\n";
    DestroyHttpSession(sid);//销毁该会话
    return ;
    执行结果: