亲测有效:通过API,把草料二维码问卷数据同步到SQLServer数据库

301 阅读5分钟

本文章教程主要解决一个问题:

不懂技术的小白或业务人员,如果想把在草料二维码上填写的用户问卷数据,自动同步到自己的SQL Server数据库表,但又不想每次都找第三方平台或技术人员改代码,想自己自助、快速、免费完成这个对接工作。涉及的教程、开发文档、资料、工具、推送示例数据、接入过程、推送日记等说明。

图片

准备工作

1、草料二维码-表单,cli.im/form_1

图片

基于目前在草料二维码平台,创建好的表单,让用户进行扫码填写。

图片

2、果创云API接口开发平台,www.yesapi.cn/

技术小白在线自助修改和发布,数据同步到自己SQL Server的数据库表。完整的接口源代码,后面有贴出,可直接复制使用。

图片

3、自己的SQL Server数据库和表

提前创建好自己的表,可以从草料二维码平台同步过来。完整表结构,后面也给贴出,可供参考。

图片

具体接入步骤和教程

第一步、到果创云,创建一个新自定义接口,并且编写好自己的同步接口。

图片

草料回调推送数据接口对接 - 免费接口源码库

open.yesapi.cn/apicode/917…

接口说明:通过草料二维码的数据推送API接口,自动同步写入到自己的SQLServer数据库表或MySQL数据库表。提供完整的步骤、接口源代码、推送示例数据、推送日记和免费接口。亲测有效。

把以下接口PHP源代码,先复制,或在线查看。

<?php
function ($params, $di) {
	// 第一步、获取 草料回调数据
	$postData = json_decode($this->getPHPInputData(), true);
	// 提取 草料 data这一部分的表单数据
	$data = $postData ? $postData['data'] : [];
	if (empty($postData) || empty($data)) {
		die('miss data');
	}
	
	// 草料二维码 文档 https://cli.im/help/65847 集成与连接 数据API Webhook说明文档
	// 草料二维码推送数据示例:{"event":"FORM_DATA_SUBMIT","data":{"ref_data":{"serial_number":"L235","created_at":"2024-12-10 17:52:13","form":{"number":"D214","name":"居民反馈诉求填写"},"submitter":{"name":"黄1213","phone_number":"13800138000"},"fields":{"日期":"2024-12-10 17:51","姓名":"黄1213","手机号":"13800138000","您的诉求类别":"物业","所属街道":"大成街道","燎原街道社区":"","详细地址":"1","您的详细诉求":"测试","图片":{"preview_url":"https://console.cli.im/record/preview?key=DR9tON5ko3xsma4zG7XQ8t+53NY7QRpf&type=1","urls":["https://ncstatic.clewm.net/rsrc/2024/1210/17/b8eb78a560968f0d6f8e790aaf75776b.jpg"]},"本人确认签名":{"urls":["https://ncstatic.clewm.net/rsrc/2024/1210/17/172b65ffd0da404dcaf788b4d2f90fb6.png?x-oss-process=image/rotate,270"]},"回复结果":"","回复人":"","回复日期":""},"web_url":"https://qr61.cn/obKcOm/rB2GgWE0"},"ref_qrcode":{"name":"居民诉求上报","type":"NORMAL","code":"qiKT26I","web_url":"https://qr71.cn/obKcOm/qiKT26I"}},"time":"2024-12-10 17:52:13"}
	
	// 第二步、准备sql server新数据
	$newData = [
		//'record_id' => 0,//$data[''],
		'code_id' => 268003383, //$data['ref_qrcode']['code'],
		'tpl_code_id' => 268003383, //$data[''],
		'码名称' => $data['ref_qrcode']['name'],
		'tpl_id' => 493703, //$data[''],
		'记录单名称' => $data['ref_data']['form']['name'],
		'记录时间' => $data['ref_data']['created_at'],
		'记录人' => $data['ref_data']['submitter']['name'],
		'状态' => '正常', //$data[''],
		//'member_id' => $data[''],
		//'auth_id' => $data[''],
		'记录编号' => $data['ref_data']['serial_number'],
		'处理状态' => '',//$data[''],
		//'创建来源' => $data[''],
		//'来源编号' => $data[''],
		//'提交编号' => $data[''],
		//'处理状态变更时间' => $data[''],
		'日期_3211307' => $data['ref_data']['fields']['日期'],
		'姓名_3211308' => $data['ref_data']['fields']['姓名'],
		'手机号_3211309' => $data['ref_data']['fields']['手机号'],
		'您的诉求类别_3211165' => $data['ref_data']['fields']['您的诉求类别'],
		'所属街道_3211233' => $data['ref_data']['fields']['所属街道'],
		'燎原街道社区_3211166' => $data['ref_data']['fields']['燎原街道社区'],
		'详细地址_3211310' => $data['ref_data']['fields']['详细地址'],
		'您的详细诉求_3211167' => $data['ref_data']['fields']['您的详细诉求'],
		'图片_3211311' => $data['ref_data']['fields']['图片']['urls'][0],
		//'录音_3211312' => $data['ref_data']['fields'][''],
		//'视频_3211313' => $data['ref_data']['fields'][''],
		'本人确认签名_3211314' => $data['ref_data']['fields']['本人确认签名']['urls'][0],
	];
	
	// 第三步、写入到您的sql server 数据库表 table_d214
	// 使用接口 sql server 创建新数据接口[直连版] https://api.yesapi.net/docs-api-App.DB_MsSQL_Data.Create.html
	$insert_rs = $di['odm']->call('App.DB_MsSQL_Data.Create', ['db_mark' => '草料二维码', 'model_name' => 'table_d214', 'data' => $newData]);
	
	// 第四步、记录日记,方便核对。查看日记:https://open.yesapi.cn/?r=Data/CheckLog
	$sync_rs = "记录编号:{$newData['记录编号']},记录人:{$newData['记录人']},同步结果:" . json_encode($insert_rs);
	$di['logger']->record('DEBUG', $sync_rs);

    // 返回你的接口结果
    die('ok');
}

创建、保存并成功发布你的接口后,

图片

复制得到的新接口地址,这一步很重要,并且要在后面加上自己的app_key。例如:

api.yesapi.cn/?s=
SVIP.Sdogstar_MyApi.AJieKouCaoLiaoDataPush&app_key=xxxx你的果创云app_key

图片

第二步,设置草料二维码回调地址

进入草料二维码平台,将上面的果创云新接口地址,填写到上去。例如:

图片

如果找不到在草料二维码哪里配置,可以参考官方的文档和指引。

集成与连接 数据API Webhook说明文档 cli.im/help/65847

图片

第三步,扫码填写测试。

以下SQL Server 表结构,可以从草料二维码数据库,同步过来。

-- ----------------------------
--  Table structure for table_d214
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID('[dbo].[table_d214]') AND type IN ('U'))
	DROP TABLE [dbo].[table_d214]
GO
CREATE TABLE [dbo].[table_d214] (
	[record_id] bigint IDENTITY(1,1) NOT NULL,
	[code_id] bigint NULL,
	[tpl_code_id] bigint NULL,
	[码名称] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[tpl_id] bigint NULL,
	[记录单名称] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[记录时间] datetime2(7) NULL,
	[记录人] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[状态] nvarchar(31) COLLATE Chinese_PRC_CI_AS NULL,
	[member_id] bigint NULL,
	[auth_id] bigint NULL,
	[记录编号] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[处理状态] nvarchar(31) COLLATE Chinese_PRC_CI_AS NULL,
	[创建来源] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[来源编号] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[提交编号] nvarchar(127) COLLATE Chinese_PRC_CI_AS NULL,
	[处理状态变更时间] datetime2(7) NULL,
	[_3211164] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[日期_3211307] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[姓名_3211308] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[手机号_3211309] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[您的诉求类别_3211165] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[所属街道_3211233] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[详细地址_3211310] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[您的详细诉求_3211167] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[图片_3211311] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[录音_3211312] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[视频_3211313] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[本人确认签名_3211314] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[回复结果_3213770] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[回复人_3213771] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[回复时间_3213773] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
	[回复日期_3213802] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL
)
ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO

第四步、查看效果。

首先,查看sql server数据库表已经写入同步了新数据。

其次,在果创云也可以在线查看同步的结果日记,方便核对。open.yesapi.cn/?r=Data/Che…

图片

最后,如果需要连接和配置自己的SQL Server数据库,可以进入到 open.yesapi.cn/?r=App/MSDa… 配置。

图片

 果创云教程和免费接口

果创云,免费注册,www.yesapi.cn/

果创云,在线开发接口教程,
www.yesapi.cn/docs/#/v2.0…

果创云,免费接口源代码-100例,
open.yesapi.cn/apicode.htm…

果创云,免费在线接口,
api.yesapi.cn/docs.php;