接上一篇:
手把手教你学会接口自动化系列二-编写一个get接口-CSDN博客
在企业里面,一般都会给到接口文档,对于悟空CRM新建线索的接口文档如下:
线索新增/修改
请求方法:POST/GET
接口地址:/api/CrmLeads/addOrUpdate
内容类型:application/json
授权方法:请求头中携带Admin-Token
示例请求
{"entity": {"leads_name": "线索3","mobile": "18010181267","telephone": "","email": "","address": "","next_time": "","remark": ""}}
| 参数名 | 解释|
| — | — |
|leadsId |线索id,包含线索id时为修改,不包含时为新增 |
|leads_name |线索名称 |
|mobile |手机 |
|email |邮件 |
|address |地址 |
|next_time |下次联系时间 |
|remark |备注 |
示例响应
{"code": 0}
当然,我们也可以操作软件,抓下接口看下,如下:
请求网址:
http://192.168.0.134:8081/CrmLeads/addOrUpdate
请求方法:POST
Content-Type:application/json;charset=UTF-8
Cookie:SECKEY_ABVK=tGLJ4wJkPZVISCtxYoYedIHpbHTvObxWj/D+/6E8eT8%3D; BMAP_SECKEY=tGLJ4wJkPZVISCtxYoYedFdyeM_bSyy1uqvUcwVyNxXmmJrp_yUS-ORL89vVuicbyzS8aKM2I9aC2zzIKE0TotFG21zPTkaBpQOcvFRHFWRYBNfloQ3pWwK3JOa_PHUqsCuwoBhXkjLjyZ_aI1E3Cdhb992ETiGNdZSNv8ycoxXHuWSU7YlExfyTAm3KVjtT
请求体为:
{"entity":{"leads_name":"123","telephone":"11","mobile":"17791901234","address":"1","next_time":"2024-01-08 17:08:26","remark":"111"},"field":[{"fieldId":2,"formType":"select","isNull":0,"name":"线索来源","options":"促销,搜索引擎,广告,转介绍,线上注册,线上询价,预约上门,电话咨询,邮件咨询","isUnique":0,"inputTips":null,"type":3,"value":"促销","fieldType":0,"fieldName":"线索来源","setting":["促销","搜索引擎","广告","转介绍","线上注册","线上询价","预约上门","电话咨询","邮件咨询"]},{"fieldId":5,"formType":"select","isNull":0,"name":"客户行业","options":"IT,金融业,房地产,商业服务,运输/物流,生产,政府,文化传媒","isUnique":0,"inputTips":null,"type":3,"value":"IT","fieldType":0,"fieldName":"客户行业","setting":["IT","金融业","房地产","商业服务","运输/物流","生产","政府","文化传媒"]},{"fieldId":6,"formType":"select","isNull":0,"name":"客户级别","options":"A(重点客户),B(普通客户),C(非优先客户)","isUnique":0,"inputTips":null,"type":3,"value":"A(重点客户)","fieldType":0,"fieldName":"客户级别","setting":["A(重点客户)","B(普通客户)","C(非优先客户)"]}]}
我们可以先用postman手动调下接口试试
下来我们编写对应的接口自动化demo代码
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/01
# @Author : Laopi
import json
import requests
'''
调用登录获取token
'''
url = "http://192.168.0.134:8081/login"
headers={"Content-Type":"application/x-www-form-urlencoded"}
data={"username":"admin","password":"123456"}
response = requests.post(url=url,
headers=headers,
data=data)
cookie = response.json()['Admin-Token']
url = "http://192.168.0.134:8081/CrmLeads/addOrUpdate"
headers={"Content-Type":"application/json","Admin-Token":cookie}
data ={"entity": {
"leads_name": "收到就好2",
"telephone": "15991710522",
"mobile": "15991710522",
"address": "111",
"next_time": "2024-01-08 00:00:00",
"remark": "11111111"
},
"field": [
{
"fieldId": 2,
"formType": "select",
"isNull": 0,
"name": "线索来源",
"options": "促销,搜索引擎,广告,转介绍,线上注册,线上询价,预约上门,电话咨询,邮件咨询",
"isUnique": 0,
"inputTips": "null",
"type": 3,
"value": "搜索引擎",
"fieldType": 0,
"fieldName": "线索来源",
"setting": [
"促销",
"搜索引擎",
"广告",
"转介绍",
"线上注册",
"线上询价",
"预约上门",
"电话咨询",
"邮件咨询"
]
},
{
"fieldId": 5,
"formType": "select",
"isNull": 0,
"name": "客户行业",
"options": "IT,金融业,房地产,商业服务,运输/物流,生产,政府,文化传媒",
"isUnique": 0,
"inputTips": "null",
"type": 3,
"value": "房地产",
"fieldType": 0,
"fieldName": "客户行业",
"setting": [
"IT",
"金融业",
"房地产",
"商业服务",
"运输/物流",
"生产",
"政府",
"文化传媒"
]
},
{
"fieldId": 6,
"formType": "select",
"isNull": 0,
"name": "客户级别",
"options": "A(重点客户),B(普通客户),C(非优先客户)",
"isUnique": 0,
"inputTips": "null",
"type": 3,
"value": "A(重点客户)",
"fieldType": 0,
"fieldName": "客户级别",
"setting": [
"A(重点客户)",
"B(普通客户)",
"C(非优先客户)"
]
}
]
}
response1 = requests.post(url=url,headers=headers,data=json.dumps(data))
print(response1.json())