Print Preview Reports via REST API?

You can do it entirely with the Business Objects if you’d like.

byte[] reportPDF = null;
string taskNote = Guid.NewGuid().ToString(); //Magic

CallService<Erp.Contracts.SalesOrderAckSvcContract>(soa =>
{

    Erp.Tablesets.SalesOrderAckTableset salesOrderAckTS = soa.GetNewParameters();
    
    Erp.Tablesets.SalesOrderAckParamRow paramRow = salesOrderAckTS.SalesOrderAckParam.First();
    
    paramRow.OrderNum = soNum;
    paramRow.AgentID = "SystemTaskAgent";
    paramRow.AutoAction = "SSRSGENERATE";
    paramRow.ReportStyleNum = reportStyleNum;
    paramRow.TaskNote = taskNote;
    
    soa.RunDirect(salesOrderAckTS);

});

long sysTaskNum = 0;

CallService<Ice.Contracts.SysTaskSvcContract>( st =>
{
    sysTaskNum = st.GetList( $"TaskNote = '{taskNote}'", 0, 0, out _ ).SysTaskList.FirstOrDefault().SysTaskNum;
});


CallService<Ice.Contracts.ReportMonitorSvcContract>( rm =>
{
    var rptSysRowID = rm.GetList( $"SysTaskNum = {sysTaskNum}", 0, 0, out _ ).SysRptLstList.FirstOrDefault().SysRowID;
    
    reportPDF = rm.GetReportBytes(rptSysRowID);
    
});

if(reportPDF != null)
{
    //pdfB64 = Convert.ToBase64String(reportPDF).Substring(0, 50); //Debug only (return 50 characters)
    pdfB64 = Convert.ToBase64String(reportPDF);
}