飞鱼CRM接入第三方系统 飞鱼API对接详细教程

场景描述

在白码低代码开发平台中,是支持外部crm系统的线索通过接口流入到白码系统里面,换而言之,只要外部的系统有线索api接口,白码系统可以接收线索并在白码系统上进行后续操作。本文以飞鱼crm系统为例,讲解如何接收飞鱼crm系统传过来的线索

前期准备

准备两个数据表,一个是客户表(基础字段),一个是日志(记录每次回调的事件和返回时间)

实现步骤
1.新建webhook

新增一个webhook,写入以下代码

代码如下:         复制代码

async function hook($req = request, $resp = response, $modules = modules) {
    let req = $req.body;//回调回来的数据
    let now = await $modules.moment().format("YYYY-MM-DD HH:mm:ss");//当前时间
    let logForm = {
        "63ff01a2f725340df45e8f22": "线索回调",//回调类型  string
        "63ff01a2f725340df45e8f23": JSON.stringify(req),//回调事件  string
        "63ff01a2f725340df45e8f24": now,//回调时间  string
    }
    await $modules.data.saveData("63ff004a0ef3f00df536edfd", logForm)

    $resp.body = {
        "code": "0",
        "message": "success"
    }//返回success


     //对回调回来的数据进行处理

}

点击修改icon,将路径后缀改为callback

点击展开基本信息,在路径后面点击复制

2.在飞鱼系统设置api规则

打开飞鱼crm系统,在左侧设置里,找到api设置-线索推送规则(飞鱼帮助文档:帮助中心)

填写规则名字,选择需要回传的字段,点击下一步

填入第二步复制的回调url,点击下一步

此步骤直接点击下一步

此步骤直接点击下一步

点击发送测试数据,默认发送飞鱼自带的demo数据,如果返回结果就是第二步代码中"$resp.body"内写的一样,即代表返回成功,返回成功可以点击保存

若是在飞鱼crm中已有数据,推荐使用线上数据,更好的匹配白码数据表

保存后,把是否启用打开,即可完成设置api规则

3.查看回调数据

在数据集,找到回调日志数据表,点击该条数据,复制,到json美化工具打开,观察数据结构及我们所需的字段

4.把以下代码添加至第一步中webhook里"对回调回来的数据进行处理"注释下面

代码如下:         复制代码

   //对回调回来的数据进行处理
    let map = {
        0: "字节-橙子建站",
        1: "字节-橙子建站",
        2: "其他渠道- 外部导入",
        5: "字节 - 抖音企业号",
        7: "字节 - 巨量线索",
        8: "字节 - 云店",
        9: "字节 - 星图",
        10: "字节 - 获客宝",
        11: "字节 - 住小帮",
    }//渠道map

    let unix = Number(req.create_time)//创建时间
    //数据 客户 63feff350ef3f00df536eac5
    let cusForm = {
        "63ff0191f725340df45e8ebb": req.name || "",//客户名称  string
        "63ff0191f725340df45e8ebd": req.telphone || "",//电话  string
        "63ff0191f725340df45e8ebc": map[req.clue_source],//渠道  string
        "63ff0191f725340df45e8ec0": req.id,//线索id  string
        "63ff0191f725340df45e8ec1": $plugin.moment(unix * 1000).format("YYYY-MM-DD"),//创建日期  date
        "63ff0191f725340df45e8ec2": $plugin.moment(unix * 1000).format("HH:mm:ss"),
        "63ff0191f725340df45e8ebe": req.ad_id,
        "63ff0191f725340df45e8ebf": req.adv_id
    }
    await $modules.data.saveData("63feff350ef3f00df536eac5", cusForm)

效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/317979.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode讲解篇之78. 子集

文章目录 题目描述题解思路题解代码 题目描述 题解思路 初始化一个start变量记录当前从哪里开始遍历搜索nums 搜索过程的数字组合加入结果集 然后从start下标开始遍历nums,更新start,递归搜索 直到搜索完毕,返回结果集 题解代码 class …

Open3D 获取点云坐标最值(17)

Open3D 获取点云坐标最值(17) 一、算法介绍二、算法实现1.代码2.结果人生天地间,忽如远行客 一、算法介绍 快速获取点云块,沿着 x y z 各方向的坐标最值,这些在点云处理中的应用范围是如此广泛,这也是点云最常被用到的关键信息,后续的很多算法都会设置到这一处理方法。…

学习selenium+python使用 XPath 表达式来实现找到目标元素时智能封装等待,执行测试代码启动Chrome浏览器后,地址栏只显示data;

背景 学习使用 XPath 表达式来实现找到目标元素时智能封装等待执行测试代码启动Chrome浏览器后,地址栏只显示data; 代码如下 import unittest from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from …

关于Quartz远程调用服务方法失败如何解决,@Inner详细介绍

1.单独在要调用服务的controller写上相关方法(Inner(value true)要走aop,会检测是否有内部调用标识)具体见下述 2. 编写Feign远程调用的接口,注意加上RequestHeader(SecurityConstants.FROM) String from。因为inner(value true…

OpenCV 基于C++图像读取及存储API函数

OpenCV可以从存储介质中读入图像,也可以将摄像头(Camera)抓取的图像载入内存,然后进行处理。而存储图像就是将内存中的图像数据写入存储介质中,如写入硬盘、优盘等。 OpenCV要读入图像、操作图像。首先要用到Mat类,并且需创建Mat对…

飞桨分子动力学模拟-论文复现第六期:复现TorchMD

飞桨分子动力学模拟-论文复现第六期:复现TorchMD Paddle for MD 飞桨分子动力学模拟科学计算 复现论文-TorchMD: A deep learning framework for molecular simulations 本项目可在AIStudio一键运行:飞桨分子动力学模拟PaddleMD-复现TorchMD 【论文复…

【STM32】HAL库的RCC复位状态判断及NVIC系统软件复位

【STM32】HAL库的RCC复位状态判断及NVIC系统软件复位 在实际开发中 有时候会遇到复位状态不同 导致结果不同的情况 比如在上电复位时 电压不稳定 可能导致一些外部芯片无法正常工作 从而导致进行了错误的操作流程 所以 可以在程序运行后 加一个复位状态判断 用来检测是否正常复…

linux 如何创建文件

我们在写一些教程的时候,经常会需要创建一些用于演示的文档,这些文档往往需要填充一些不特定的内容。那么如何快速的创建演示用的文档呢? docfaker.py docfaker.py是一个py脚本,用于创建一个简单的txt文档,docfaker.…

力扣每日一练(24-1-13)

如果用列表生成式,可以满足输出的型式,但是不满足题意: nums[:] [i for i in nums if i ! val]return len(nums) 题意要求是: 你需要原地修改数组,并且只使用O(1)的额外空间。这意味着我们不能创建新的列表&#xff…

vivado 指定顶部模块和重新排序源

指定顶部模块和重新排序源 文件夹默认情况下,Vivado Design Suite会自动确定设计的顶层添加到的源文件的层次结构和细化、合成和模拟的顺序项目这可以通过右键单击中的“层次更新”设置进行控制“源”窗口的菜单。请参阅中的“源”窗口中的“层次更新”命令Vivado …

从AAAI 2024看人工智能研究的最新热点

图 1 由AAAI 2024论文列表生成的词云 AAAI会议作为全球AI领域的顶级学术盛会,被中国计算机学会(CCF)评为A类会议。AAAI2024的会议论文投稿量达到了历史新高,主赛道收到了12100篇投稿论文,9862篇论文经过严格评审后共有…

基于Python的二氧化碳排放量数据分析系统

项目背景: 随着全球气候变化问题日益严重,减少温室气体排放已成为全球共识。我国作为全球最大的碳排放国,承担着重要的国际责任。为了更好地控制和减少碳排放,需要对全国的碳排放情况进行深入研究和分析。本项目旨在构建一个基于P…

腾讯云优惠券(代金券)领取方法及最新优惠活动汇总

腾讯云作为国内领先的云计算服务提供商,一直致力于为用户提供优质、高效、安全可靠的云计算服务。为了回馈广大用户,腾讯云会不定期地推出各种优惠活动,其中包括优惠券的发放。本文将分享腾讯云优惠券的领取方法并汇总最新优惠活动&#xff0…

uniapp小程序当页面内容超出时显示滚动条,不超出时不显示---样式自定义

使用scroll-view中的show-scrollbar属性 注意:需要搭配enhanced使用 否则无效 <scroll-view class"contentshow" scroll-y :show-scrollbartrue :enhancedtrue><view class"content" :show-scrollbartrue><text>{{vehicleCartinfo}}<…

阿里云云服务器u1实例和e实例有什么区别?

阿里云服务器u1和e实例有什么区别&#xff1f;ECS通用算力型u1实例是企业级独享型云服务器&#xff0c;ECS经济型e实例是共享型云服务器&#xff0c;所以相比较e实例&#xff0c;云服务器u1性能更好一些。e实例为共享型云服务器&#xff0c;共享型实例采用非绑定CPU调度模式&am…

【python入门】day26: 模拟高铁售票系统

界面 代码 #-*- coding:utf-8 -*- import prettytable as pt#---------导入漂亮表格 import os.path filename ticket.txt#更新座位状态 def update(row_num):#------更新购票状态with open(filename,w,encodingutf-8) as wfile:for i in range(row_num):lst1 [f{i1},有票,有…

代码随想录算法训练营第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点面试题 02.07. 链表相交、142.环形链表II

文档讲解&#xff1a;虚拟头节点&#xff0c;三指针&#xff0c;快慢指针&#xff0c;链表相交&#xff0c;环形链表&#xff0c; 技巧&#xff1a; 1、对于指针的操作要画图&#xff0c;明确步骤后好做了 2、使用虚拟头节点可以避免对头节点单独讨论&#xff0c;且方便对头节点…

Linux 系统之部署 ZFile 在线网盘服务

一、ZFile 介绍 1&#xff09;ZFile 简介 官网&#xff1a;https://www.zfile.vip/ GitHub&#xff1a;https://github.com/zfile-dev/zfile ZFile 是一款基于 Java 的在线网盘程序&#xff0c;支持对接 S3、OneDrive、SharePoint、又拍云、本地存储、FTP 等存储源&#xff0…

oracle 19c容器数据库data dump数据泵传输数据(3)---完全传输

目录 查看pdb1 创建pdb2 从pdb1 中导出元数据 在pdb2中导入元数据&#xff08;dmp文件&#xff09; Full Transportable Export/Import: Example 只传输除了system&#xff0c;sysaux&#xff0c;temp&#xff0c;undo以外的用户表空间&#xff0c;這種方式傳輸的是用戶自定…

xtu oj 1329 连分式

题目描述 连分式是形如下面的分式&#xff0c;已知a,b和迭代的次数n&#xff0c;求连分式的值。 输入 第一行是一个整数T(1≤T≤1000)&#xff0c;表示样例的个数。 每行一个样例&#xff0c;为a,b,n(1≤a,b,n≤9) 输出 每行输出一个样例的结果&#xff0c;使用x/y分式表达…