Companies

使用此端点来管理和获取 Mautic 中公司的详细信息。

使用 Mautic API 库

您可以使用以下 :xref:`Mautic API 库 与此 API 进行交互,或者使用本文档中描述的各种 HTTP 端点。

<?php
use Mautic\MauticApi;
use Mautic\Auth\ApiAuth;

// ...
$initAuth   = new ApiAuth();
$auth       = $initAuth->newAuth($settings);
$apiUrl     = "https://example.com";
$api        = new MauticApi();
$companyApi = $api->newApi("companies", $auth, $apiUrl);

获取公司

检索单个公司。

<?php

//...
$company = $companyApi->get($id);

HTTP 请求

GET /companies/ID

响应

  • 当请求成功检索到公司时,返回 200 OK


{
“company”: {

“id”: 1, “score”: 150, “fields”: {

“core”: {
“companyaddress1”: {

“id”: “29”, “label”: “Address 1”, “alias”: “companyaddress1”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “123 Main St”, “normalizedValue”: “123 Main St”

}, “companyaddress2”: {

“id”: “30”, “label”: “Address 2”, “alias”: “companyaddress2”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Suite 100”, “normalizedValue”: “Suite 100”

}, “companyemail”: {

“id”: “31”, “label”: “Company Email”, “alias”: “companyemail”, “type”: “email”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “info@acme.com”, “normalizedValue”: “info@acme.com”

}, “companyphone”: {

“id”: “32”, “label”: “Phone”, “alias”: “companyphone”, “type”: “tel”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “+1-555-123-4567”, “normalizedValue”: “+1-555-123-4567”

}, “companycity”: {

“id”: “33”, “label”: “City”, “alias”: “companycity”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Anytown”, “normalizedValue”: “Anytown”

}, “companystate”: {

“id”: “34”, “label”: “State”, “alias”: “companystate”, “type”: “region”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “New York”, “normalizedValue”: “New York”

}, “companyzipcode”: {

“id”: “35”, “label”: “Zip Code”, “alias”: “companyzipcode”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “12345”, “normalizedValue”: “12345”

}, “companycountry”: {

“id”: “36”, “label”: “Country”, “alias”: “companycountry”, “type”: “country”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “United States”, “normalizedValue”: “United States”

}, “companyname”: {

“id”: “37”, “label”: “Company Name”, “alias”: “companyname”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Acme Corporation”, “normalizedValue”: “Acme Corporation”

}, “companywebsite”: {

“id”: “38”, “label”: “Website”, “alias”: “companywebsite”, “type”: “url”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “https://acme.com”, “normalizedValue”: “https://acme.com”

}

}, “professional”: {

“companynumber_of_employees”: {

“id”: “39”, “label”: “Number of Employees”, “alias”: “companynumber_of_employees”, “type”: “number”, “group”: “professional”, “object”: “company”, “is_fixed”: “0”, “properties”: “a:2:{s:9:"roundmode";i:4;s:5:"scale";i:0;}”, “default_value”: null, “value”: 300, “normalizedValue”: 300

}, “companyfax”: {

“id”: “40”, “label”: “Fax”, “alias”: “companyfax”, “type”: “tel”, “group”: “professional”, “object”: “company”, “is_fixed”: “0”, “properties”: “a:0:{}”, “default_value”: null, “value”: “+1-555-123-7890”, “normalizedValue”: “+1-555-123-7890”

}, “companyannual_revenue”: {

“id”: “41”, “label”: “Annual Revenue”, “alias”: “companyannual_revenue”, “type”: “number”, “group”: “professional”, “object”: “company”, “is_fixed”: “0”, “properties”: “a:2:{s:9:"roundmode";i:4;s:5:"scale";i:2;}”, “default_value”: null, “value”: 1000000.0, “normalizedValue”: 1000000.0

}, “companyindustry”: {

“id”: “42”, “label”: “Industry”, “alias”: “companyindustry”, “type”: “select”, “group”: “professional”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:1:{s:4:"list";a:41:{i:0;a:2:{s:5:"label";s:19:"Aerospace & Defense";s:5:"value";s:19:"Aerospace & Defense";}i:1;a:2:{s:5:"label";s:11:"Agriculture";s:5:"value";s:11:"Agriculture";}i:2;a:2:{s:5:"label";s:7:"Apparel";s:5:"value";s:7:"Apparel";}i:3;a:2:{s:5:"label";s:21:"Automotive & Assembly";s:5:"value";s:21:"Automotive & Assembly";}i:4;a:2:{s:5:"label";s:7:"Banking";s:5:"value";s:7:"Banking";}i:5;a:2:{s:5:"label";s:13:"Biotechnology";s:5:"value";s:13:"Biotechnology";}i:6;a:2:{s:5:"label";s:9:"Chemicals";s:5:"value";s:9:"Chemicals";}i:7;a:2:{s:5:"label";s:14:"Communications";s:5:"value";s:14:"Communications";}i:8;a:2:{s:5:"label";s:12:"Construction";s:5:"value";s:12:"Construction";}i:9;a:2:{s:5:"label";s:23:"Consumer Packaged Goods";s:5:"value";s:23:"Consumer Packaged Goods";}i:10;a:2:{s:5:"label";s:9:"Education";s:5:"value";s:9:"Education";}i:11;a:2:{s:5:"label";s:11:"Electronics";s:5:"value";s:11:"Electronics";}i:12;a:2:{s:5:"label";s:6:"Energy";s:5:"value";s:6:"Energy";}i:13;a:2:{s:5:"label";s:11:"Engineering";s:5:"value";s:11:"Engineering";}i:14;a:2:{s:5:"label";s:13:"Entertainment";s:5:"value";s:13:"Entertainment";}i:15;a:2:{s:5:"label";s:13:"Environmental";s:5:"value";s:13:"Environmental";}i:16;a:2:{s:5:"label";s:7:"Finance";s:5:"value";s:7:"Finance";}i:17;a:2:{s:5:"label";s:15:"Food & Beverage";s:5:"value";s:15:"Food & Beverage";}i:18;a:2:{s:5:"label";s:10:"Government";s:5:"value";s:10:"Government";}i:19;a:2:{s:5:"label";s:10:"Healthcare";s:5:"value";s:10:"Healthcare";}i:20;a:2:{s:5:"label";s:11:"Hospitality";s:5:"value";s:11:"Hospitality";}i:21;a:2:{s:5:"label";s:9:"Insurance";s:5:"value";s:9:"Insurance";}i:22;a:2:{s:5:"label";s:9:"Machinery";s:5:"value";s:9:"Machinery";}i:23;a:2:{s:5:"label";s:13:"Manufacturing";s:5:"value";s:13:"Manufacturing";}i:24;a:2:{s:5:"label";s:5:"Media";s:5:"value";s:5:"Media";}i:25;a:2:{s:5:"label";s:15:"Metals & Mining";s:5:"value";s:15:"Metals & Mining";}i:26;a:2:{s:5:"label";s:14:"Not for Profit";s:5:"value";s:14:"Not for Profit";}i:27;a:2:{s:5:"label";s:9:"Oil & Gas";s:5:"value";s:9:"Oil & Gas";}i:28;a:2:{s:5:"label";s:17:"Packaging & Paper";s:5:"value";s:17:"Packaging & Paper";}i:29;a:2:{s:5:"label";s:36:"Private Equity & Principal Investors";s:5:"value";s:36:"Private Equity & Principal Investors";}i:30;a:2:{s:5:"label";s:10:"Recreation";s:5:"value";s:10:"Recreation";}i:31;a:2:{s:5:"label";s:11:"Real Estate";s:5:"value";s:11:"Real Estate";}i:32;a:2:{s:5:"label";s:6:"Retail";s:5:"value";s:6:"Retail";}i:33;a:2:{s:5:"label";s:14:"Semiconductors";s:5:"value";s:14:"Semiconductors";}i:34;a:2:{s:5:"label";s:8:"Shipping";s:5:"value";s:8:"Shipping";}i:35;a:2:{s:5:"label";s:13:"Social Sector";s:5:"value";s:13:"Social Sector";}i:36;a:2:{s:5:"label";s:10:"Technology";s:5:"value";s:10:"Technology";}i:37;a:2:{s:5:"label";s:18:"Telecommunications";s:5:"value";s:18:"Telecommunications";}i:38;a:2:{s:5:"label";s:14:"Transportation";s:5:"value";s:14:"Transportation";}i:39;a:2:{s:5:"label";s:9:"Utilities";s:5:"value";s:9:"Utilities";}i:40;a:2:{s:5:"label";s:5:"Other";s:5:"value";s:5:"Other";}}}”, “default_value”: null, “value”: “Technology”, “normalizedValue”: “Technology”

}, “companydescription”: {

“id”: “43”, “label”: “Description”, “alias”: “companydescription”, “type”: “text”, “group”: “professional”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Leading software company”, “normalizedValue”: “Leading software company”

}

}, “other”: [], “all”: {

“id”: 1, “companyaddress1”: “123 Main St”, “companyaddress2”: “Suite 100”, “companyemail”: “info@acme.com”, “companyphone”: “+1-555-123-4567”, “companycity”: “Anytown”, “companystate”: “New York”, “companyzipcode”: “12345”, “companycountry”: “United States”, “companyname”: “Acme Corporation”, “companywebsite”: “https://acme.com”, “companynumber_of_employees”: 300, “companyfax”: “+1-555-123-7890”, “companyannual_revenue”: 1000000.0, “companyindustry”: “Technology”, “companydescription”: “Leading software company”

}

}

}

}

公司属性

名称

类型

描述

id

integer

公司ID

score

integer

分配给公司的评分

fields

object

包含分组的公司数据:

  • all: 字段别名和值的关联数组。这是访问 公司字段属性 的主要方式。

  • coreprofessional: 这些包含相同的 字段,但带有额外的元数据。

公司字段属性

核心字段

名称

类型

描述

companyaddress1

string

公司的主要地址行,例如街道名称和号码

companyaddress2

string

公司的补充地址详细信息,例如套房、单元、建筑物或楼层

companyemail

string

公司的电子邮件地址

companyphone

string

公司的电话号码

companycity

string

公司的城市名称

companystate

string

公司的州、省或地区

companyzipcode

string

公司的邮政编码

companycountry

string

公司的国家/地区名称

companyname

string

公司名称

companywebsite

string

公司的网站URL

专业字段

名称

类型

描述

companynumber_of_employees

integer

公司中的员工总数

companyfax

string

公司的传真号码

companyannual_revenue

number

公司的年收入,例如:1000000.0

companyindustry

string

公司的业务领域或行业

companydescription

string

对公司的总结

列出公司

检索公司列表。

<?php

//...
$companies = $companyApi->getList($searchFilter, $start, $limit, $orderBy, $orderByDir, $publishedOnly, $minimal);

HTTP 请求

GET /companies

查询参数

    • Name
      • Type

      • Description

      • searchFilter

      • string

      • 用于过滤实体的字符串或搜索命令

      • start

      • integer

      • 返回实体的起始行,默认为 0

      • limit

      • integer

      • 要返回的最大实体数量,默认为 30

      • orderBy

      • string

      • 用于排序的列。响应中的任何列都有效。

        注意: 将 camelCase 属性转换为 snake_case。例如,dateAdded 变为 date_addedwebhookUrl 变为 webhook_url,依此类推。

      • orderByDir

      • string

      • 排序方向,可以是 ascdesc

      • publishedOnly

      • boolean

      • 仅返回当前已发布的实体

      • minimal

      • boolean

      • 仅返回简单的实体映射对象,不包含其他列表

Response

  • 当请求成功检索到公司列表时,返回 200 OK


{

“total”: “2”, “companies”: {

“1”: {

“id”: 1, “score”: 150, “fields”: {

“core”: {
“companyemail”: {

“id”: “31”, “label”: “Company Email”, “alias”: “companyemail”, “type”: “email”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “info@acme.com”, “normalizedValue”: “info@acme.com”

}, “companyaddress1”: {

“id”: “29”, “label”: “Address 1”, “alias”: “companyaddress1”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “123 Main St”, “normalizedValue”: “123 Main St”

}, “companyaddress2”: {

“id”: “30”, “label”: “Address 2”, “alias”: “companyaddress2”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Suite 100”, “normalizedValue”: “Suite 100”

}, “companyphone”: {

“id”: “32”, “label”: “Phone”, “alias”: “companyphone”, “type”: “tel”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “+1-555-123-4567”, “normalizedValue”: “+1-555-123-4567”

}, “companycity”: {

“id”: “33”, “label”: “City”, “alias”: “companycity”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Anytown”, “normalizedValue”: “Anytown”

}, “companystate”: {

“id”: “34”, “label”: “State”, “alias”: “companystate”, “type”: “region”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “New York”, “normalizedValue”: “New York”

}, “companyzipcode”: {

“id”: “35”, “label”: “Zip Code”, “alias”: “companyzipcode”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “12345”, “normalizedValue”: “12345”

}, “companycountry”: {

“id”: “36”, “label”: “Country”, “alias”: “companycountry”, “type”: “country”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “United States”, “normalizedValue”: “United States”

}, “companyname”: {

“id”: “37”, “label”: “Company Name”, “alias”: “companyname”, “type”: “text”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Acme Corporation”, “normalizedValue”: “Acme Corporation”

}, “companywebsite”: {

“id”: “38”, “label”: “Website”, “alias”: “companywebsite”, “type”: “url”, “group”: “core”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “https://acme.com”, “normalizedValue”: “https://acme.com”

}

}, “professional”: {

“companyindustry”: {

“id”: “42”, “label”: “Industry”, “alias”: “companyindustry”, “type”: “select”, “group”: “professional”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:1:{s:4:"list";a:41:{i:0;a:2:{s:5:"label";s:19:"Aerospace & Defense";s:5:"value";s:19:"Aerospace & Defense";}i:1;a:2:{s:5:"label";s:11:"Agriculture";s:5:"value";s:11:"Agriculture";}i:2;a:2:{s:5:"label";s:7:"Apparel";s:5:"value";s:7:"Apparel";}i:3;a:2:{s:5:"label";s:21:"Automotive & Assembly";s:5:"value";s:21:"Automotive & Assembly";}i:4;a:2:{s:5:"label";s:7:"Banking";s:5:"value";s:7:"Banking";}i:5;a:2:{s:5:"label";s:13:"Biotechnology";s:5:"value";s:13:"Biotechnology";}i:6;a:2:{s:5:"label";s:9:"Chemicals";s:5:"value";s:9:"Chemicals";}i:7;a:2:{s:5:"label";s:14:"Communications";s:5:"value";s:14:"Communications";}i:8;a:2:{s:5:"label";s:12:"Construction";s:5:"value";s:12:"Construction";}i:9;a:2:{s:5:"label";s:23:"Consumer Packaged Goods";s:5:"value";s:23:"Consumer Packaged Goods";}i:10;a:2:{s:5:"label";s:9:"Education";s:5:"value";s:9:"Education";}i:11;a:2:{s:5:"label";s:11:"Electronics";s:5:"value";s:11:"Electronics";}i:12;a:2:{s:5:"label";s:6:"Energy";s:5:"value";s:6:"Energy";}i:13;a:2:{s:5:"label";s:11:"Engineering";s:5:"value";s:11:"Engineering";}i:14;a:2:{s:5:"label";s:13:"Entertainment";s:5:"value";s:13:"Entertainment";}i:15;a:2:{s:5:"label";s:13:"Environmental";s:5:"value";s:13:"Environmental";}i:16;a:2:{s:5:"label";s:7:"Finance";s:5:"value";s:7:"Finance";}i:17;a:2:{s:5:"label";s:15:"Food & Beverage";s:5:"value";s:15:"Food & Beverage";}i:18;a:2:{s:5:"label";s:10:"Government";s:5:"value";s:10:"Government";}i:19;a:2:{s:5:"label";s:10:"Healthcare";s:5:"value";s:10:"Healthcare";}i:20;a:2:{s:5:"label";s:11:"Hospitality";s:5:"value";s:11:"Hospitality";}i:21;a:2:{s:5:"label";s:9:"Insurance";s:5:"value";s:9:"Insurance";}i:22;a:2:{s:5:"label";s:9:"Machinery";s:5:"value";s:9:"Machinery";}i:23;a:2:{s:5:"label";s:13:"Manufacturing";s:5:"value";s:13:"Manufacturing";}i:24;a:2:{s:5:"label";s:5:"Media";s:5:"value";s:5:"Media";}i:25;a:2:{s:5:"label";s:15:"Metals & Mining";s:5:"value";s:15:"Metals & Mining";}i:26;a:2:{s:5:"label";s:14:"Not for Profit";s:5:"value";s:14:"Not for Profit";}i:27;a:2:{s:5:"label";s:9:"Oil & Gas";s:5:"value";s:9:"Oil & Gas";}i:28;a:2:{s:5:"label";s:17:"Packaging & Paper";s:5:"value";s:17:"Packaging & Paper";}i:29;a:2:{s:5:"label";s:36:"Private Equity & Principal Investors";s:5:"value";s:36:"Private Equity & Principal Investors";}i:30;a:2:{s:5:"label";s:10:"Recreation";s:5:"value";s:10:"Recreation";}i:31;a:2:{s:5:"label";s:11:"Real Estate";s:5:"value";s:11:"Real Estate";}i:32;a:2:{s:5:"label";s:6:"Retail";s:5:"value";s:6:"Retail";}i:33;a:2:{s:5:"label";s:14:"Semiconductors";s:5:"value";s:14:"Semiconductors";}i:34;a:2:{s:5:"label";s:8:"Shipping";s:5:"value";s:8:"Shipping";}i:35;a:2:{s:5:"label";s:13:"Social Sector";s:5:"value";s:13:"Social Sector";}i:36;a:2:{s:5:"label";s:10:"Technology";s:5:"value";s:10:"Technology";}i:37;a:2:{s:5:"label";s:18:"Telecommunications";s:5:"value";s:18:"Telecommunications";}i:38;a:2:{s:5:"label";s:14:"Transportation";s:5:"value";s:14:"Transportation";}i:39;a:2:{s:5:"label";s:9:"Utilities";s:5:"value";s:9:"Utilities";}i:40;a:2:{s:5:"label";s:5:"Other";s:5:"value";s:5:"Other";}}}”, “default_value”: null, “value”: “Technology”, “normalizedValue”: “Technology”

}, “companydescription”: {

“id”: “43”, “label”: “Description”, “alias”: “companydescription”, “type”: “text”, “group”: “professional”, “object”: “company”, “is_fixed”: “1”, “properties”: “a:0:{}”, “default_value”: null, “value”: “Leading software company”, “normalizedValue”: “Leading software company”

}, “companynumber_of_employees”: {

“id”: “39”, “label”: “Number of Employees”, “alias”: “companynumber_of_employees”, “type”: “number”, “group”: “professional”, “object”: “company”, “is_fixed”: “0”, “properties”: “a:2:{s:9:"roundmode";i:4;s:5:"scale";i:0;}”, “default_value”: null, “value”: 300, “normalizedValue”: 300

}, “companyfax”: {

“id”: “40”, “label”: “Fax”, “alias”: “companyfax”, “type”: “tel”, “group”: “professional”, “object”: “company”, “is_fixed”: “0”, “properties”: “a:0:{}”, “default_value”: null, “value”: “+1-555-123-7890”, “normalizedValue”: “+1-555-123-7890”

}, “companyannual_revenue”: {

“id”: “41”, “label”: “Annual Revenue”, “alias”: “companyannual_revenue”, “type”: “number”, “group”: “professional”, “object”: “company”, “is_fixed”: “0”, “properties”: “a:2:{s:9:"roundmode";i:4;s:5:"scale";i:2;}”, “default_value”: null, “value”: 1000000.0, “normalizedValue”: 1000000.0

}

}, “other”: [], “all”: {

“id”: 1, “companyemail”: “info@acme.com”, “companyaddress1”: “123 Main St”, “companyaddress2”: “Suite 100”, “companyphone”: “+1-555-123-4567”, “companycity”: “Anytown”, “companystate”: “New York”, “companyzipcode”: “12345”, “companycountry”: “United States”, “companyname”: “Acme Corporation”, “companywebsite”: “https://acme.com”, “companyindustry”: “Technology”, “companydescription”: “Leading software company”, “companynumber_of_employees”: 300, “companyfax”: “+1-555-123-7890”, “companyannual_revenue”: 1000000.0

}

}

}, // …

}

}

Properties

Name

Type

Description

total

string

Total count of Companies

companies

object

A mapped collection of Companies indexed by their ID

For the rest of the properties, refer to Company properties.

Create Company

Creates a new Company.

<?php

$data = array(
    'companyname'                => 'Acme Corporation', // Required
    'companyemail'               => 'info@acme.com',
    'companywebsite'             => 'https://acme.com',
    'score'                      => 10,
    'companynumber_of_employees' => 50,
    'companyannual_revenue'      => 1000000.0,
);

$company = $companyApi->create($data);

HTTP request

POST /companies/new

POST parameters

Name

Type

Description

companyname

string

Required.

Company name

companyemail

string

Company Email address

companyphone

string

Company phone number

companywebsite

string

Company website URL

companyaddress1

string

Company primary address line - such as street name and number

companyaddress2

string

Supplemental Company address details - such as suite, unit, building, or floor

companycity

string

Company city name

companystate

string

Company state, province, or region

companyzipcode

string

Company zip or postal code

companycountry

string

Company country name

companynumber_of_employees

integer

Total number of employees in the Company

companyfax

string

Company fax number

companyannual_revenue

number

Annual revenue of the Company - for example, 1000000.0

companyindustry

string

Company business sector or vertical

companydescription

string

Summary of the Company

score

integer

Score assigned to the Company

Response

  • Returns 201 Created when the request successfully creates a Company.

The response is a JSON object similar to Get Company.

Properties

Refer to Company properties.

Edit Company

Edits a Company.

This operation supports PUT or PATCH depending on the desired behavior:

  • PUT: 完全替换。如果 ID 不存在,则请求会创建一个新的公司。如果 ID 存在,则请求会清除所有现有数据并用提供的值进行替换。

  • PATCH: 部分更新。该请求仅根据请求数据更新字段值。当公司 ID 不存在时,请求失败。

<?php

$id   = 1;
$data = array(
    'companyname' => 'Updated Company Name',
    'companyemail' => 'updated@acme.com',
);

// 如果 ID 1 未找到,则创建一个新的公司
$createIfNotFound = true;

$company = $companyApi->edit($id, $data, $createIfNotFound);

HTTP 请求

  • PUT /companies/ID/edit: 更新现有的公司或在 ID 不存在时创建一个新的公司。

  • PATCH /companies/ID/edit: 更新现有的公司。当 ID 不存在时,请求失败。

POST 参数

接受与 创建公司 中描述的相同参数。所有参数都是可选的。

响应

  • PUT: 当请求成功更新公司时返回 200 OK,或者在创建公司时返回 201 Created

  • PATCH: 当请求成功更新公司时返回 200 OK,或者当公司 ID 不存在时返回 404 Not Found 错误。

响应是一个类似于 获取公司 的 JSON 对象。

属性

请参阅 公司属性

删除公司

删除一个公司。

<?php

$company = $companyApi->delete($id);

HTTP 请求

DELETE /companies/ID/delete

响应

  • 当请求成功删除公司时,返回 200 OK

响应是一个包含已删除公司数据的 JSON 对象,类似于 获取公司

属性

请参阅 公司属性

将联系人添加到公司

将一个联系人添加到公司。

<?php

$companyApi->addContact($companyId, $contactId);

HTTP 请求

POST /companies/COMPANY_ID/contact/CONTACT_ID/add

响应

  • 当请求成功将联系人添加到公司时,返回 200 OK

{
    "success": 1
}

从公司中移除联系人

从公司中移除一个联系人。

<?php

$companyApi->removeContact($companyId, $contactId);

HTTP 请求

POST /companies/COMPANY_ID/contact/CONTACT_ID/remove

响应

  • 当请求成功从公司中移除联系人时,返回 200 OK


```json {

“success”: 1

}

```