Skip to content

公司接口 ​

简介 ​

公司接口支持对通讯录公司进行查询、添加、修改等相关操作。

开发前,请仔细阅读 开发指南。

接口调用 ​

1. 获取公司列表 ​

【注意】该接口对非管理员账户仅能获取到企业下拥有访问权限的公司信息,对于管理员账户则能获取到企业下所有公司的信息。

请求地址 ​

http
GET /company?Ids=1,2

参数说明 ​

参数是否必须说明
Ids否可指定要获取的公司Id,支持以逗号分隔的多公司Id
公司查询接口支持丰富的条件过滤参数,请参见支持的查询参数附录 ​

返回结果 ​

json
{
    "offset": 0,
    "total": 0,
    "results": [
        {
            "id": 100,
            "code": "01",
            "name": "北京易点易动科技有限公司",
            "enterpriseId": 1,
            "hierarchy": "1|10|100",
            "disabled": false
        }
    ],
    "meta": {}
}
参数说明
offset当前结果对于首条结果的偏移量,指定分页查询时不为0
total所有符合查询条件的查询结果数量,指定需要结果记录数量时不为0
results符合查询条件的公司详情集合
meta其他信息

2. 创建公司 ​

【注意】使用该接口创建公司将会使创建者自动拥有对其访问的权限。

请求地址 ​

http
POST /company

请求示例 ​

json
{
    "Code":"01",
    "Name":"北京易点易动科技有限公司"
}

参数说明 ​

参数是否必须说明
Code是公司编码
Name是公司名称

返回结果 ​

json
{
    "id": 1
}

结果说明 ​

属性说明
id公司Id
附加信息 ​

1.该接口可能会触发企业可用公司数量上限的检查。超过允许的公司数量上限时,调用者会收到HTTP 403 Forbidden错误,并附加详细的描述信息。

3. 更新公司 ​

【注意】该接口对于非管理员账户仅能更新企业下其拥有访问权限的公司信息,对于管理员账户则能更新企业下所有公司的信息。

请求地址 ​

http
PUT /company
POST /company/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例 ​

json
{
    "Code":"01",
    "Name":"北京易点易动科技有限公司"
}

参数说明 ​

参数是否必须说明
Code是公司编码
Name是公司名称

返回结果 ​

json
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

4. 更新公司编码 ​

【注意】该接口对于非管理员账户仅能更新企业下其拥有访问权限的公司信息,对于管理员账户则能更新企业下所有公司的信息。

请求地址 ​

http
PUT /company/code
POST /company/code/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例 ​

json
{
    "CurrentCode":"01",
    "NewCode":"01_new"
}

参数说明 ​

参数是否必须说明
CurrentCode是当前使用中的公司编码
NewCode是预更新的公司编码

返回结果 ​

json
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

5. 删除公司 ​

【注意】该接口对于非管理员账户仅能删除企业下其拥有访问权限的公司,对于管理员账户则能删除企业下所有公司。

请求地址 ​

http
DELETE /company
POST /company/delete

对于不支持DELETE请求的网络环境,请尝试使用备份的POST请求地址

请求示例 ​

json
{
    "Code":"01"
}

参数说明 ​

参数是否必须说明
Code是公司编码

返回结果 ​

json
{}

对于成功删除的请求,该接口仅返回HTTP 200 OK

附加信息 ​

下列条件之一成立时,无法对指定的公司进行删除操作

  1. 该公司下存在子公司信息
  2. 该公司下存在部门信息
  3. 该公司下存在资产信息
  4. 该公司下存在领用单据
  5. 该公司下存在调拨单据
  6. 该公司下存在实物信息变更单据
  7. 该公司下存在财务变更单据
  8. 该公司下存在员工信息

6. 设置公司的可用性状态 ​

【注意】该接口对于非管理员账户仅能更新企业下其拥有访问权限的公司信息,对于管理员账户则能更新企业下所有公司的信息。

请求地址 ​

http
PUT /company/{code}/availability
POST /company/{code}/availability/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例 ​

json
{
    "Enabled":1
}

参数说明 ​

参数是否必须说明
Code是公司编码
Enabled是公司的可用性状态,0和1分别表示禁用和启用

返回结果 ​

json
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

附加信息 ​

1.该接口可能会触发企业可用公司数量上限的检查。超过允许的公司数量上限时,调用者会收到HTTP 403 Forbidden错误,并附加详细的描述信息。

7. 设置公司的上级公司 ​

【注意】该接口对于非管理员账户仅能更新企业下其拥有访问权限的公司信息,对于管理员账户则能更新企业下所有公司的信息。

请求地址 ​

http
PUT /company/{code}/superior
POST /company/{code}/superior/put

对于不支持PUT请求的网络环境,请尝试使用备份的POST请求地址

请求示例 ​

json
{
    "SuperiorCompanyCode":1
}

参数说明 ​

参数是否必须说明
Code是公司编码
SuperiorCompanyCode是上级公司编码(将此参数设置为空,即表示将公司设置为最上级机构)

返回结果 ​

json
{}

对于成功更新的请求,该接口仅返回HTTP 200 OK

附录 ​

1. 支持的查询参数 ​

如无特别说明,下列操作对于查询实体对象中的任意属性均适用。使用时只需将其追加至请求的querystring中即可。对实体对象中不存在的属性进行操作将会得到不可预期的结果。

  • 分页
    • skip={数字} 跳过指定条数的记录数
    • take={数字}取出指定条数的记录数(注:最大值为1500,即单页最多返回1500条数据)
    • include=total 需要返回记录总数
  • 排序
    • orderBy=[-]{属性名称},[-]{属性名称} 返回结果按指定属性排序,在名称前加”-“表示按倒序排序。多个属性的排序可使用逗号分隔。如:orderBy=-Id,Name,-Age
  • 条件过滤
    • 不等于

      • {属性名称}!={值} 如:Id!=1
    • 大于等于

      • >{属性名称}={值} 如:>Id=1
    • 大于

      • {属性名称}>={值} 如:Id>=1
    • 小于

      • <{属性名称}={值} 如:<Id=1
    • 小于等于

      • {属性名称}<={值} 如:Id<=1
    • In

      • {属性名称}In={值,值,值} 属性的值需包含在指定的集合中,如:IdIn=1,2,3
    • Between

      • {属性名称}Between={值,值} 属性的值需处于指定的区间之间,仅支持数字,如: IdBetween=1,3
    • 字符串包含指定字符

      • {属性名称}Contains={值} 如:nameContains=abc
    • 字符串以指定字符开头

      • {属性名称}StartsWith={值} 如:nameStartsWith=abc
    • 字符串以指定字符结尾

      • {属性名称}EndsWith={值} 如:nameEndsWith=abc

2. 数据实体格式 ​

1. 公司数据对象格式 ​
属性名称说明
id公司Id
code公司编码
name公司名称
enterpriseId所属企业Id
superiorCompanyId上级公司Id
hierarchy以竖线分割的公司Id,表示公司层级关系
disabled是否已禁用