说明

  • 服务路径:/crm/${appId}。从客户端调用的话appId=0
  • 发送的请求需要用appSecure加密
  • 返回的数据会被appSecure加密
  • 涉及文件类型时,具体定义见消息类型定义

获取联系人列表

  • 参数:
    {
        category:'contact',
        action:'query',
        token:''   ,//appId=0时必须        
        param:{
            current:1, //第几页
            size:10 , //每页数量            
            filter:{  //查询选项可以指定以下多个或者不存在
                namePhone:'',
                deptId:100 ,//部门ID
                userId:'' ,//所属客服
                from:1   , //联系人来源
                createStart:10000,//创建开始日期
                createEnd:10000 ,//创建结束日期 
                crmCompId:1000, //联系人所属客户               
            }
        }
    }
  • 返回值:
    {
        err:0 , //错误码
        data:{
            total:0,
            size:10,
            current:1,
            list:[{
                    id: '', //联系人ID
                    creator: '', //创建者ID
                    owner: '', //所属者
                    createTime: 0, //创建时间  1970年1月1日0时起的毫秒数
                    lastTime: 0, //最后联系时间 1970年1月1日0时起的毫秒数
                    name: '', //姓名
                    phone: '', //电话
                    mobile: '', //手机
                    qq: '', //QQ
                    email: '', //email
                    mainFrom: , //来源类型,如果等于9,表示来自微赚宝
                    subFrom: '', //自定义编辑来源 从自定义来源中选取的来源,文本类型,可能为空
                    gender: 0, //性别:1男 2女 0或者null为未知
                    compName: '', //所属公司(客户)名
                    note: '' //备注
                    crmCompId:0, //联系人所属客户ID
                } 
                ...           
            ]
        }
    }

获取单个联系人信息

  • 参数:
    {
        category:'contact',
        action:'detail',
        token:''   ,//appId=0时必须        
        param:{
            id:1000 ,//联系人ID
        }
    }
  • 返回值:
{
    err: 0, 
    data: {
        id: 10000, //联系人ID
        creator: '', //创建者ID
        owner: '', //所属者
        authentic: 0, //有效性
        createTime: 0, //创建时间 1970年1月1日0时起的毫秒数
        lastTime: 0, //最后联系时间 1970年1月1日0时起的毫秒数
        name: '', //姓名
        phone: '', //电话
        mobile: '', //手机
        qq: '', //QQ
        email: '', //email
        mainFrom: 0, //来源类型,如果等于9,表示来自微赚宝
        subFrom: 0, //自定义编辑来源 从自定义来源中选取的来源,文本类型,如果sourceType有值,这个字段为空
        gender: 0, //性别:1男 2女 0或者null为未知    
        note: '' , //备注
        age: 0 , //年龄
        birthday: 111, //生日
        ip: '', //ip
        country: '中国', // 国
        province: "北京市", //省市
        city: "大兴区", //区
        keyword: '', //关键词
        referDomain: '', //来源
        refer: '', //详细来源
        column1: '',
        ...             //自定义字段
        column19: '',
        page0: '', //最初访问
        shares:[
            {
                userId:'',共享客服
                mode:0 ,是否可写
            }
            ...
        ]
        comp: {
            id: 11,  //联系人所属公司ID
            name: '',       //公司名称
            website: '',    //公司网址
            address: '',    //公司地址
            phone: '',  //公司电话
            fax: '',    //公司传真
            note: '',   //公司备注
            postCode: '',   //公司邮编
            createTime: '', //创建时间
            creator: '',    //创建人
            owner: '',  //所属人
            compFrom: ''    //
        },
        crmCompId: 111, //联系人所属公司ID
    }

获取自定义来源配置

  • 参数:
    {
        category:'contactFrom',
        action:'query',
        token:''   ,//appId=0时必须   
        param:{
            status:1 //1:仅查询可用的来源。
        }           
    }
  • 返回值
{
    err: 0,
    data: [
        {
            name: '',
            id:100,
            note:'',
            status:0 //0:不可用,1:可用
        },
        ...
    ]
}

新增与更新联系人

  • 参数:
    {
        category:'contact',
        action:'update',
        token:''   ,//appId=0时必须       
        param:{
            id: 1000, //ID,更新时指定
            name: '', //姓名
            authentic: 0, //有效性 0无效   1有效   2未知
            mainFrom: 0, //来源类型,如果等于9,表示来自微赚宝
            subFrom: ,//自定义编辑来源,从自定义来源中选取的来源,文本类型
                // 说明,如果在编辑的时候soruceType已经有值,则这个联系人为 系统指定了来源类型,
                //      就不允许再自定义编辑来源类型,前端可控制这个元素显示与否
            country: '',    //国
            province: '',   //省
            city: '',   //区
            note: '', //备注
            referDomain: '', //简要来源
            keyword: '', //关键词
            refer: '', //详细来源
            firstPage: '',  //首次访问
            column0: '',
            column1: '',
            ...             //自定义字段,根据配置选择
            column19: '',            
            crmComp: {
                id: 1000, //公司ID,如果新增该ID为空 
                name: '', //公司名
                website: '', //公司网址
                phone: '', //电话
                fax: '', //传真
                address: '', //地址
                postCode: '', //邮编
                note: '' //备注   
            }
        }       
    }
  • 返回值
{
    err: 0   
}

删除联系人

  • 参数:
    {
        category:'contact',
        action:'delete',
        token:''   ,//appId=0时必须
        param:{            
            ids:'' //多个联系人ID之间以逗号(,)分隔
        }              
    }
  • 返回值
{
    err: 0, 
}

共享联系人

  • 参数:
    {
        category:'contact',
        action:'share',
        token:''   ,//appId=0时必须
        param:{      
           id:1000, //联系人Id      
           targets:[
                {
                    userId:'', //目标客服
                    mode:0    //是否可写
                }...
           ],
           option:0, //0:仅仅该联系人,1:同时共享联系人所属客户和客户下其他联系人
           notifyMode:0 ,//发送通知方式
        }              
    }
  • 返回值
{
    err: 0, 
}

取消共享

  • 参数:
    {
        category:'contact',
        action:'cancelShare',
        token:''   ,//appId=0时必须
        param:{      
           id:1000, //联系人Id      
           targets:[
               'alex' ... //取消某个客服共享
           ],
           option:0, //0:仅仅该联系人,1:同时取消共享联系人所属客户和客户下其他联系人
        }              
    }
  • 返回值
{
    err: 0, 
}

分配联系人

  • 参数:
    {
        category:'contact',
        action:'assign',
        token:''   ,//appId=0时必须
        param:{      
           id:1000, //联系人Id      
           userId:'',//目标客服
           notifyMode:0 ,//发送通知方式
           option:0, //0:仅仅该联系人,1:同时分配联系人所属客户和客户下其他联系人
        }              
    }
  • 返回值
{
    err: 0, 
}

回收联系人

  • 参数:
    {
        category:'contact',
        action:'release',
        token:''   ,//appId=0时必须
        param:{      
           id:1000, //联系人Id   
            option:0 //0:仅该联系人,1:同客户下的其他联系人 
        }              
    }
  • 返回值
{
    err: 0, 
}

拾取联系人

  • 参数:
    {
        category:'contact',
        action:'pickup',
        token:''   ,//appId=0时必须
        param:{      
           id:1000, //联系人Id    
           option:0 //0:仅该联系人,1:同客户下的其他公海联系人
        }              
    }
  • 返回值
{
    err: 0, 
}

放弃联系人

  • 参数:
    {
        category:'contact',
        action:'giveup',
        token:''   ,//appId=0时必须
        param:{      
           id:1000, //联系人Id    
           option:0 //0:仅该联系人,1:同客户下的联系人
        }              
    }
  • 返回值
{
    err: 0, 
}

查询联系记录

  • 参数:
    {
        category:'contactRecord',
        action:'query',
        token:''   ,//appId=0时必须
        param:{      
           filter:{
                crmCompId:100,//客户ID
                contactId:1000,//联系人ID
                creator:'' //创建人ID
           }
        }              
    }
  • 返回值
{
    err: 0, 
    data: [
        {
            id: '', //联系记录ID
            creator: '', //创建者
            createTime: , //创建时间
            mode: 10
            note: '', //内容
            files: [ //附件
                {
                    id: '', //上传后的路径
                    name: '',   //文件原名称
                    category: 0,    // 文件类型
                    path:'' //下载路径
                }
            ],
            crmCompId: , //联系人所属公司id
        }...
    ]
}

新增联系记录

  • 参数:
    {
        category:'contactRecord',
        action:'update',
        token:''   ,//appId=0时必须
        param:{      
            id:1000,//新增为空
            crmCompId:100,//所属客户iD 
            note:'' //备注
            mode:0 //联系方式
            files:[{
               id: '', //上传后的路径
               name: '',    //文件原名称 
            }...
            ]

        }              
    }
  • 返回值
{
    err: 0, 

}

查询日程

  • 参数:
    {
        category:'schedule',
        action:'query',
        token:''   ,//appId=0时必须
        param:{      
           filter:{
                crmCompId:100,//客户ID
                contactId:1000,//联系人ID
                creator:'' //创建人ID
                status:0 //0:未执行,1:已执行
           }
        }              
    }
  • 返回值:
{
    err: 0,

    data: [
        {
            id:100 , //日程ID
            crmCompId:1000,//客户ID
            status:0 //是否已经执行
            note:'' //备注
            createTime:10000,//创建日期
            executeTime:10000,//执行日期
            notifyBefore:100 //多少分钟前提醒
            notifyMode:0 //提醒方式
            record:{ //如果已经执行,此处为执行时的记录
            }           
        }
    ]
}

新增日程

  • 参数:
    {
        category:'schedule',
        action:'update',
        token:''   ,//appId=0时必须
        param:{                 
            crmCompId:1000,//客户ID 
            note:'' //备注 
            executeTime:10000,//执行日期
            notifyBefore:100 //多少分钟前提醒
            notifyMode:0 //提醒方式
        }              
    }
  • 返回值:
{
    err: 0,
}

执行日程

  • 参数:
    {
        category:'schedule',
        action:'execute',
        token:''   ,//appId=0时必须
        param:{      
             id:100 , //日程ID
             note:'' //备注
             crmCompId:100 ,//客户公司ID
             mode:0 //联系方式             
             files: [ //附件
                 {
                     id: '', //上传后的路径,一般为:crm/ssss.jpg格式
                     originalName: '',  //文件原名称
                     category: 0,   // 文件类型
                 }
             ],
        }              
    }
  • 返回值:
{
    err: 0,
}