产品最近动态
最近更新文章
  • 模板列表

    B2B商城模板列表设置请参考B2C商城模板列表。

  • 页面板块样式调整

    模板设置请参考模板列表。 基础样式调整流程 1、下载模板样式包,在模板包的基础上修改; 登录商城后台,【页面管理】-【模板列表】-【编辑模板】,打开模板列表页面,找到【模板操作】,点击【备份】按钮后,会出现【点击下载】按钮,直接下载即可, 以上操作执行完成后,解压文件包你可以看到样式文件夹(css)与图片文件夹(images),基础内容可以在其中完成。 下面以修改搜索框颜色(由红色变成蓝色)为例: 将需要修改的css样式写入mainwebskin.css文件并引用它(注意:important是根据需求加入,非必要可以不写) 2、样式调整完成后,需打包成zip格式,并且上传上去,然后启用。

  • 客户屏蔽货品

    针对不同客户屏蔽不同货品,该功能在B2B商城PC端和手机端都有效。具体操作如下(以启网演示商行客户为例): 1、在客户端,【客户资料】-【客户明细资料】,选中需设置的客户,打开“B2B屏蔽货品”,设置该客户需要屏蔽的货品并保存。 在手机端,以该客户(启网演示商行)登录的情况下,是查不到已屏蔽的货品的。PC端同理。 手机端效果图: PC端效果图:

  • API interface specification

    查看中文版 I. Make a request Character set: utf-8 Headers' Content-Type:"application/json" Obtain or submit specific business data by sending a POST message to the request address.Here's an example of getting order list data: Example request address for this business: http://[Dedicated business domain name]/api/orders. Your company's dedicated business domain name please contact the technical service personnel to obtain. Click here to view the interface debugging demo page. (Note: This page is for demonstration purposes only, if you need to debug your company's interface, please access your dedicated business domain name directly to access the debug page.) Request message: { "app_id": 1000012965, "data": { "page_number": 1, "page_size": 10, "include_details": false, "timestamp": 9876543210123 }, "nonce_str": "ABCDE0123456789ABCDE0123456789", "sign": "123456789ABCDE0123456789ABCDE0" } Field description: Parameter Function app_id The startnet user number used by your company. data About querying the extended data for your business, page_number: page number, page_size: Pagination size, include_details: Indicates whether the returned data also contains detailed data(This refers to the product details of the order), timestamp: timestamp. nonce_str 32-bit random string. sign MD5 signature. Response message("application/json",Only when the Response Code is 200, it means that the server responded successfully, and then it is necessary to continue the subsequent judgment): { "app_id": 1000012965, "result_code": 0, "result_msg": "", "data": { "page_number": 1, "page_size": 1, "total_count": 43, "total_pages": 43, "results": [ { "id": 1, "code": "SD0011611-000001", "create_time": "2016-11-23T11:23:49", "amount": 6, "customer_id": 2, "dept_id": 1, "stock_id": 1, "invoice_type": 3001, "delivery_address": "Guangzhou Startnet Software Co.,Ltd.", "consignee_name": "Startnet Software", "consignee_mobile": "12345678901", "delivery_date": "2016-11-23T11:23:49", "memo": "", "quantity": 1, "approved_amount": 6, "approved_quantity": 1, "modify_time": "2016-11-23T11:23:49", "is_scrap": false "details": null, } ], "include_details": false, "timestamp": 637638692306895600 }, "nonce_str": "89D7E709ED265D977084ECD9D7CD9762", "sign": "B3EF586E690F01D25524EDFA84459CA3" } Field description: Parameter Function app_id The startnet user number used by your company. result_code Error code, 0 indicates that the operation was successful, other values indicate the meaning of the detailed see your company's actual interface debugging page. result_msg wrong description. data The query data returned, page_number: page number, page_size: Pagination size, total_count: Total number of items, total_pages: total pages, results: Represents a list of orders (where field interpretation is detailed on the interface debug page), include_details: Indicate whether the returned data also contains detailed data (here refers to the product details of the order), timestamp: timestamp. nonce_str 32-bit random string. sign MD5 signature. II. Sign The generation algorithm of the field'sign' in the JSON format request message submitted to the server: MD5(app_id + '_' + AppKey + '_' + JSON(data) + '_' + nonce_str), thereinto: Parameter Function AppKey A unique identification code for accessing the startnet API interface, Provided by Startnet Software Company to your company (please contact technical service personnel to obtain). JSON(data) Convert the 'data' field to jSON string form, format: No indentation, no blank formatting characters (that is, minimized compression). For example, Use these methods: JSON.stringify(data) or Newtonsoft.Json.JsonConvert.SerializeObject(data, Newtonsoft.Json.Formatting.None). MD5(params) Use the MD5 algorithm to calculate the hexadecimal hash code of the params value, Among them, params is the string parameter after concatenating all the values with the characters'_' (excluding the quotation marks) in order, and ensure that the string in the parameter is UTF-8 encoded. Comments for other fields: Parameter Function app_id The field 'app_id' of the model class 'ApiRequest' of the request body. data The field 'data' of the model class 'ApiRequest' of the request body. Please strictly follow the field definition of the relevant request body model class: Including name and order, Even if the value is null, it must be included in the JSON request body. If the model class you define does not match the requirements or a field is missing, it will cause signature validation to fail. nonce_str The field 'nonce_str' of the model class 'ApiRequest' of the request body. III. Verification Use the following algorithm to generate signatures for the relevant fields of the JSON format response message returned on the server side. Generate algorithm: MD5(app_id + '_' + AppKey + '_' + JSON(data) + '_' + result_code + '_' + result_msg + '_' + nonce_str), thereinto: Parameter Function AppKey A unique identification code for accessing the startnet API interface, Provided by Startnet Software Company to your company (please contact technical service personnel to obtain). JSON(data) Convert the 'data' field to jSON string form, format: No indentation, no blank formatting characters (that is, minimized compression). For example, Use these methods: JSON.stringify(data) or Newtonsoft.Json.JsonConvert.SerializeObject(data, Newtonsoft.Json.Formatting.None). MD5(params) Use the MD5 algorithm to calculate the hexadecimal hash code of the params value, Among them, params is the string parameter after concatenating all the values with the characters '_' (excluding the quotation marks) in order, and ensure that the string in the parameter is UTF-8 encoded. Then compare the above signature value with the value of the field 'sign' of the response body model class 'ApiResponse'. If the two values are equal, the signature passes, otherwise the returned response data must be discarded. Comments for other fields: Parameter Function app_id The field 'app_id' of the model class'ApiResponse' of the response body. data The field'data' of the model class'ApiResponse' of the response body. Please strictly follow the field definition of the relevant request body model class: Including name and order, Even if the value is null, it must be included in the JSON request body. If the model class you define does not match the requirements or a field is missing, it will cause signature validation to fail. result_code The field 'result_code' of the model class 'ApiResponse' of the response body. result_msg The field 'result_msg' of the model class 'ApiResponse' of the response body. nonce_str The field 'nonce_str' of the model class'ApiResponse' of the response body. IV.The value description of the field 'result_code' of the model class 'ApiResponse' of the response body: Code Function 0 Successful operation. 1 Parameter 'app_id' error (including missing or invalid). 2 The parameter 'nonce_str' error. 3 The parameter 'sign' is wrong. 4 The signature failed. 5 Failed to verify signature. 6 'nonce_str' cannot be reused. 7 Data resource association error. 8 Database access failed. 400 Invalid request (including the following parameters: path, query, or body). 404 The data resource could not be found. V. Other documents: Demo (C#) Download Libraries (.NET Framework) MD5 Signature Demo (C#)

  • API接口规范

    View the English version 一、发起请求 字符集:utf-8 Headers 的 Content-Type:"application/json" 通过发送POST报文到请求地址,以获取或提交特定业务数据。以下以获取订单列表数据为例: 该业务的示例请求地址: http://专用业务域名/api/orders 贵公司的专用业务域名请联系技术服务人员获得。 点击此处可查看接口调试演示页面(注意:该页仅用于演示,如需调试贵公司的接口,请直接访问您的专用业务域名即可进入调试页) 请求报文: { "app_id": 1000012965, "data": { "page_number": 1, "page_size": 10, "include_details": false, "timestamp": 9876543210123 }, "nonce_str": "ABCDE0123456789ABCDE0123456789", "sign": "123456789ABCDE0123456789ABCDE0" } 字段说明: 参数 作用 app_id 贵公司使用的启网用户号 data 关于查询业务的扩展数据, page_number:页码, page_size:分页大小, include_details:指示返回的数据是否同时包含明细数据(这里指的是订单的商品明细), timestamp:时间戳 nonce_str 32位随机字符串 sign MD5签名 响应报文(application/json,仅在Response Code为200时表示服务器成功响应,这时才需继续后续判断): { "app_id": 1000012965, "result_code": 0, "result_msg": "", "data": { "page_number": 1, "page_size": 1, "total_count": 43, "total_pages": 43, "results": [ { "id": 1, "code": "SD0011611-000001", "create_time": "2016-11-23T11:23:49", "amount": 6, "customer_id": 2, "dept_id": 1, "stock_id": 1, "invoice_type": 3001, "delivery_address": "广东省 广州市 启网软件公司", "consignee_name": "启网软件", "consignee_mobile": "12345678901", "delivery_date": "2016-11-23T11:23:49", "memo": "", "quantity": 1, "approved_amount": 6, "approved_quantity": 1, "modify_time": "2016-11-23T11:23:49", "is_scrap": false "details": null, } ], "include_details": false, "timestamp": 637638692306895600 }, "nonce_str": "89D7E709ED265D977084ECD9D7CD9762", "sign": "B3EF586E690F01D25524EDFA84459CA3" } 字段说明: 参数 作用 app_id 贵公司使用的启网用户号 result_code 错误代码,0表示操作成功,其它值表示的意思详见贵公司实际的接口调试页面 result_msg 错误描述 data 返回的查询数据, page_number:页码, page_size:分页大小, total_count:总项数, total_pages:总页数, results:表示订单列表(其中字段解释详见接口调试页), include_details:指示返回的数据是否同时包含明细数据(这里指的是订单的商品明细), timestamp:时间戳 nonce_str: 32位随机字符串 sign MD5签名 二、签名 在提交到服务器的JSON格式请求报文中的字段'sign'的生成算法: MD5(app_id + '_' + AppKey + '_' + JSON(data) + '_' + nonce_str),其中: 参数 作用 AppKey 用于访问启网API接口的唯一标识码,由启网软件公司向贵公司提供(请联系技术服务人员获得) JSON(data) 将'data'字段转换为JSON字符串形式,格式:无缩进,无空白格式字符(即最小化压缩) 例如,使用这些方法: JSON.stringify(data) 或 Newtonsoft.Json.JsonConvert.SerializeObject(data, Newtonsoft.Json.Formatting.None) MD5(params) 使用MD5算法计算params值的十六进制的哈希码, 其中params为将所有值按顺序用字符'_'(不包括引号)连接后的字符串参数,确保参数中的字符串为UTF-8编码。 其他字段的注释: 参数 作用 app_id 请求体的模型类'ApiRequest'的字段'app_id' data 请求体的模型类'ApiRequest'的字段'data' 请严格遵循相关请求体模型类的字段定义:包括名称和顺序,即使值是null也必须包含在JSON请求体中。 如果您定义的模型类与要求的不匹配或某一字段丢失,将会导致签名验证失败。 nonce_str 请求体的模型类'ApiRequest'的字段'nonce_str' 三、验签 使用以下算法为服务器端返回的JSON格式响应报文的相关字段生成签名。 生成算法: MD5(app_id + '_' + AppKey + '_' + JSON(data) + '_' + result_code + '_' + result_msg + '_' + nonce_str),其中: 参数 作用 AppKey 用于访问启网API接口的唯一标识码,由启网软件公司向贵公司提供(请联系技术服务人员获得) JSON(data) 将'data'字段转换为JSON字符串形式,格式:无缩进,无空白格式字符(即最小化压缩) 例如,使用这些方法: JSON.stringify(data) 或 Newtonsoft.Json.JsonConvert.SerializeObject(data, Newtonsoft.Json.Formatting.None) MD5(params) 使用MD5算法计算params值的十六进制的哈希码, 其中params为将所有值按顺序用字符'_'(不包括引号)连接后的字符串参数,确保参数中的字符串为UTF-8编码。 然后将上述签名值与响应体模型类'ApiResponse'的字段'sign'的值进行比较。 如果两个值相等,则签名通过,否则必须丢弃所返回的响应数据。 其他字段的注释: 参数 作用 app_id 响应体的模型类'ApiResponse'的字段'app_id' data 响应体的模型类'ApiResponse'的字段'data' 请严格遵循相关响应体模型类的字段定义:包括名称和顺序,即使值是null也必须包含在JSON响应体中。 如果您定义的模型类与要求的不匹配或某一字段丢失,将会导致签名验证失败。 result_code 响应体的模型类‘ApiResponse’的字段‘result_code’ result_msg 响应体的模型类‘ApiResponse’的字段‘result_msg’ nonce_str 响应体的模型类'ApiResponse'的字段'nonce_str'。 四、响应体的模型类'ApiResponse'的字段'result_code'的值说明: 代码 解析 0 操作成功 1 参数'app_id'错误(包括丢失或无效) 2 参数'nonce_str'错误 3 参数'sign'错误 4 签名失败 5 验证签名失败 6 'nonce_str'不能重复使用 7 数据资源关联错误 8 数据库访问失败 400 无效请求(包括以下参数:path、query或body) 404 找不到数据资源。 五、其它文档: 演示代码(C#) 下载相关类库 (.NET Framework) MD5签名Demo(C#)

  • 多店铺下单

    1、多店铺(多个账套)下单,需在各个账套对应的商城后台【站点配置】-【基本设置】页,设置对应的店铺名称,如下图: 前台效果图: 特点:当2号店铺代客下单选客户编号为001(启网演示账号001)客户时,9号店铺的代客下单也会同步为编号001的客户。 2、操作员启用允许商城登录(具体操作请参考代客下单); 3、操作员绑定(具体操作请参考代客下单); 4、其他操作按正常下单流程。 相关链接: 代客下单 用户绑定设置

  • 代客下单

    由操作员登录商城,可任意切换客户或机构进行下单。 1、操作员启用“允许商城登录”,在客户端后台【系统管理】-【用户管理】,选定某用户双击则可以打开并设置“设置用户”,如下: 2、操作员需进行绑定(详细设置链接见页面底部),如下: 3、以操作员身份登录商城(如用户账号已绑定微信号,且在微信客户端中访问商城,则会自动登录),在“我的”页面,可以看到“代客下单”功能入口,点击后可跳转“代客下单”页面,可以根据需要任意切换欲下单的机构和客户,如下: 4、其他操作按正常下单流程。 相关链接: 多店铺下单 用户绑定设置

  • 报表的核对

    示例一:以资产负债表为例,如下: 打开该公司对于月份的资产负债表(如A处),每项科目对应的数据(②处)都可通过科目余额表(B处)计算得出,计算方法可参考(C处)的公式, 如:?期末 (货币资金)=?期末(1001+1002+1003+1004+1012) =1299.36+39731.03 =41030.39 其他科目数据参考上面方式计算核对,如果A处资产负债表各科目数据和科目余额表B处各科目数据计算结果相同,则核对成功。 示例二:以损益表为例,如下: 打开该公司对应月份的损益表(如B处),每项科目对应的数据(②处)都可通过科目余额表(C处)计算得出,计算方法可参考(A处)的公式, 如:?本月(主业务收入)=?本月(6001) =44939.40 其他科目数据参考上面方式计算核对,如果B处损益表各科目数据和科目余额表C处各科目数据计算结果相同,则核对成功。

  • 报表公式的设置

    1、选中需要设置的报表,点击【模板】,如下图所示: 2、编辑表格,打开【首页】页面,上边一栏可对表格进行修饰,如字体大小、背景颜色、合并单元格等,可根据需求进行调整,如下图所示: 3、设置公式,以“营业收入”的本年累计金额为例,右键,选择【设置取数公式】,如下图: 打开公式设置页面,如下图: 公式的格式: ?函数名称(科目编码) 如下图:?累计(5001) 注:①为函数名称;②科目编码(单个科目编码或者以“+”连接的多个科目编码) 提供多种函数: 1)年初:表示现金科目本年度的年初数,如1月1日的余额; 2)期初:表示取现金科目的指定期间初始,查询开始期间的余额; 3)期末:表示取现金科目的指定期间末数,查询结束期间的余额; 4)本月:表示取现金科目本月借方减贷方的差额;如?本月(5101)表示取主营业务收入科目本月贷方减借方的差额; 5)累计:表示取现金科目在指定期间借方累计减贷方累计的差额;如?本月(5101)表示取主营业务收入科目在指定贷方累计减借方累计的差额; 6)流入:取该科目在指定期间的用于体现现金流量表的流入数;如?流入(1001)表示取现金科目在指定期间的流入数; 7)流出:取该科目在指定期间的用于体现现金流量表的流出数;如?流出(1001)表示取现金科目在指定期间的流出数; 8)借方累计:取该科目在开始期间至结束期间的累计发生数;如?借方累计(1001)表示取现金科目在一段时间的借方累计; 9)贷方累计:取该科目在开始期间至结束期间的累计发生数;如?货方累计(1001)表示取现金科目在一段期间的; 10)期初借余:取该科目的下属科目在指定期间的期初借方数合计(不包括期初贷方数部分);如?期初借余(1131)表示取应收账款科目的下属科目中在指定期间有期初借方数的科目合计; 11)期初贷余:取该科目的下属科目在指定期间的期初贷方数合计(不包括期初借方数部分);如?期初贷余(1131)表示取应收账款科目的下属科目中在指定期间有期初贷方数的科目合计; 12)期末借余:取该科目的下属科目在指定期间的期末借方数合计(不包括期末贷方数部分);如?期末借余(1131)表示取应收账款科目的下属科目中在指定期间有期末借方数的科目合计; 13)期末贷余:取该科目的下属科目在指定期间的期末贷方数合计(不包括期末借方数部分)?期末贷余(1131)表示取应收账款科目的下属科目中在指定期间有期末贷方数的科目合计; 14)年初借余:取该科目的下属科目在年初借方数合计(不包括年初贷方数部分)?年初借余(1131)表示取应收账款科目的下属科目中在年初借方数的科目合计; 15) 年初贷余:取该科目的下属科目在指定期间的年初贷方数合计(不包括年初借方数部分)?年初贷余(1131)表示取应收款科目的下属科目中在指定期间有年初贷方数的科目合计; 16)报表:?报表(报表编号,单元格)或者?报表(报表编号,sheet名称,单元格)取指定报表的指定sheet的指定单元格的值(如果没有指定sheet 名称,默认为为第一个sheet);如?报表(D3,C6)表示取资产负债表(假定该表编号为D3)中第一个sheet的C6单元格的值;?报表(D5,sheet,C6)表示取报表编号为D5中sheet2的C6单元格的值。 示例:?报表(D1,C5) 报表编号(D1)是指“我的报表”列表中的报表编码,D1为利润表。 单元格(C5)指该利润表报表中的单元格编码,如A8、C5等。 在A处修改好报表公式,保存后,在C处报表数据界面点击刷新,即可实时更新数据,如下: 4、复杂公式解析,以?期末(存货)为例,如下: ?期末(存货)= ?期末(1401+1402+1403+1404+1405+1406+1407+1408+1411-1471) =1401~1408科目和1411科目的期末金额数据总和减去1471科目的期末金额数据,得到的结果就是存货的期末余额。 还存在乘除、小括号等复杂公式,如: ?期末(货币资金)=?期末(1001+1002)*2 =1001和1002科目的期末数据总和再乘以2,算出的结果就为货币基金的期末余额。 5、修改公式 当有新增科目模板没更新时,可手动更新数据,具体操作如下(以资产负债表为例): 打开资产负债表设计界面A,在红框处可以修改新增科目的公式,修改完成后保存,在资产负债表查询结果界面B,点击c处刷新按钮,即可实时刷新数据。 6、设置单元格格式,右键——设置单元格格式; 设置单元格格式界面如下图: 如编号日期、文本的对齐、字体的设置、边框的选择等都可以根据需求调整。 下边以设置单元格边框为例:设置好的边框保存后会直接体现在单元上。 7、报表的打印、预览,以及导出EXCEL 报表打印:在‘我的报表’页面的上边工具栏中,可以找到‘打印’按钮(A处),点击后即可打印。如果想要实现快速打印,旁边也提供了‘快速打印’按钮。 报表预览:在‘我的报表’页面的上边工具栏中,可以找到‘打印预览’按钮(B处),点击后即可预览打印效果。 报表导出EXCEL: 在‘我的报表’页面的上边工具栏中,可以找到‘导出’按钮(C处),点击后即可将报表以EXCEL导出。