wpify/raynet-api-php-sdk

Cloud CRM REST API 是 RAYNET CRM 系统的程序接口,允许从第三方应用程序中操作 CRM 内部数据。通信通过标准 HTTP 协议进行,遵循 [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) 原则。## 连接到 RAYNET CRM

dev-main 2023-08-14 18:49 UTC

This package is auto-updated.

Last update: 2024-09-16 11:26:28 UTC


README

Cloud CRM REST API 是 RAYNET CRM 系统的程序接口,允许从第三方应用程序中操作 CRM 内部数据。通信通过标准 HTTP 协议进行,遵循 REST 原则。

连接到 RAYNET CRM

通信协议是 HTTP,因此可以使用任何支持此协议的应用程序或库。演示中将使用 curl 应用程序。另一种选择是 Google Chrome 浏览器的 Talend API Tester 扩展。通过基本身份验证(用户名和 API 密钥)进行安全访问,并使用 TLSv1.2 及更高版本(HTTPS)协议进行加密,以确保最大安全性。在请求头中需要发送您的实例名称(例如 moje-crm)。

  curl -X GET -u 'uzivatel:api-klic' -H 'X-Instance-Name: moje-crm' 'https://app.raynet.cz/api/v2/company/'

数据类型

RAYNET CRM 系统中各个属性的值由几个基本数据类型组成

  • 字符串 - 文本值。

  • 数字 - 数值。根据上下文,可以是整数或浮点数。浮点数使用小数点。

  • 布尔值 - 是/否值。对于是值,可以使用 true、on、yes 和 1;对于否值,则可以使用 false、off、no 和 0。

  • 日期 - 日期,格式为 yyyy-MM-dd 的字符串。

  • 日期和时间 - 日期和时间,格式为 yyyy-MM-dd HH:mm 的字符串。也接受 ISO8601 格式的日期和时间(例如 2022-01-01T12:00:00.000+01:00)。

  • 引用 - 引用数据类型指向 RAYNET CRM 系统中的另一个记录。在传入的数据中,引用是包含键的映射(JavaScript 对象)

    • id - 被引用记录的标识符。

日期和时间

日期和时间作为字符串,格式为 yyyy-MM-dd HH:mm,位于执行 API 请求的用户的时间区域。对于过滤和写入(PUTPOST),可以使用两种格式(yyyy-MM-dd HH:mm、ISO8601)。

在响应中,默认情况下,日期和时间以 yyyy-MM-dd HH:mm 格式在用户的时间区域进行格式化。通过添加参数 dateFormat=ISO8601 可以影响输出格式,此时值将格式化为 2022-01-01T12:00:00.000+01:00 的格式。例如 https://ww....company/?dateFormat=ISO8601

列表过滤

在属性和值上操作的运算符如下

  • EQ - 值相等测试。

  • EQ_OR_NULL - 值相等或空值测试。

  • NE - 值不相等测试。

  • NE_OR_NULL - 值不相等或空值测试。

  • LT - 数据库中的值小于指定值。

  • LE - 数据库中的值小于或等于指定值。

  • GT - 数据库中的值大于指定值。

  • GE - 数据库中的值大于或等于指定值。

  • LIKE - 测试与表达式匹配的值(例如,过滤器值 ABC% 将找到所有以 ABC 开头的记录)。

  • LIKE_NOCASE - LIKE 的类似物,但忽略大小写。

  • IN - 测试等于(多个)用逗号分隔的值。正确的输入格式例如:1,2,3,4

  • NOT_IN - 测试不等于(多个)用逗号分隔的值。正确的输入格式例如:1,2,3,4

  • CUSTOM - 特殊运算符 - 测试行为在文档中进一步描述。

默认运算符是等于 EQ。运算符写入方括号中,在属性名称之后。这样可以在同一属性上输入多个过滤条件。https://app..../?validFrom[GT]=\"2014-06-01\"&validTill[LT]=\"2014-06-10\" 常见场景是过滤所有具有空或非空属性的记录。为此,可以使用 空字符串 与运算符 EQNE 结合使用。

列表排序

列表排序由参数 sortColumnsortDirection 控制。每个 API 都有一组可以用来排序的值。参数 sortDirection 可以取以下值

  • ASC - 按值升序排序

  • DESC - 按值降序排序

列表分页

可以通过设置参数 offsetlimit 来分页列表。Offset 表示将显示的第一个记录,limit 表示记录数。最大页面大小为 1,000 项。例如 https://app..../?offset=0&limit=2

全文搜索

在大多数列表中,可以使用全文搜索根据输入的文本字符串进行搜索。这是通过参数 fulltext 实现的,例如:https://app..../?fulltext=nejakytext

API 限制

每个 API 响应都包含头信息,描述了针对特定实例的 API 使用情况。

curl -X GET -u 'uzivatel:api-klic' -H 'X-Instance-Name: moje-crm' 'https://app.raynet.cz/api/v2/company/'

HTTP/1.1 200 OK
Status: 200 OK
X-Ratelimit-Limit: 24000
X-Ratelimit-Remaining: 23999
X-Ratelimit-Reset: 1508889600

以下是对各个头信息的说明

如果超过限制,将返回错误消息,HTTP 状态码为 429 Too Many Requests

{
  \"type\": \"RequestLimitReached\",
  \"message\": \"API request limit reached. See the X-RateLimit-* headers and check out the API documentation for more details.\"
}

如果我的限制不够用怎么办

默认情况下,访问限制为每天 24,000 次请求(从 UTC 时区的午夜到下一个午夜)。如果您的集成限制不足,请联系我们的客户支持邮箱 podpora@raynet.cz,我们将一起找到合适的解决方案。

错误的登录

如果在 60 分钟内发送了 20 个以上包含错误登录凭据的请求,则该访问将被阻止。此限制适用于特定 IP 地址。

安装与使用

需求

PHP 7.4 及更高版本。也应在 PHP 8.0 上工作。

Composer

要使用 Composer 安装绑定,请将以下内容添加到 composer.json

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/wpify/raynet-api-php-sdk.git"
    }
  ],
  "require": {
    "wpify/raynet-api-php-sdk": "*@dev"
  }
}

然后运行 composer install

手动安装

下载文件并包含 autoload.php

<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');

入门

请遵循 安装过程,然后运行以下命令

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure API key authorization: instanceName
$config = RaynetApiClient\Configuration::getDefaultConfiguration()->setApiKey('X-Instance-Name', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = RaynetApiClient\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Instance-Name', 'Bearer');

// Configure HTTP basic authorization: basicAuth
$config = RaynetApiClient\Configuration::getDefaultConfiguration()
              ->setUsername('YOUR_USERNAME')
              ->setPassword('YOUR_PASSWORD');


$apiInstance = new RaynetApiClient\Api\AktivityApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$offset = 0; // int | Zobrazeni zaznamu od zacatku
$limit = 100; // int | Maximální počet vrácených událostí je `1000`
$sort_column = id; // string | 
$sort_direction = ASC; // string | 
$fulltext = myText; // string | Fulltextové vyhledání v seznamu. Operátor se v tomto případě nepoužívá.
$id = 3; // int | Filtrování aktivit podle ID. Lze využít operátoru `EQ`, `NE`, `GT`, `GE`, `LT`, `LE`
$title = myTag; // string | Filtrování aktivit podle předmětu. Lze využít operátoru `EQ`, `NE`, `LIKE`, `LIKE_NOCASE`
$scheduled_from = 2022-06-01 10:00; // string | Filtrování aktivit podle data naplánování (\"od\"). Lze využít operátoru `GT`, `GE`, `LT`, `LE`
$scheduled_till = 2022-06-01 10:00; // string | Filtrování aktivit podle data naplánování (\"do\"). Lze využít operátoru `GT`, `GE`, `LT`, `LE`
$completed = 2022-06-01 10:00; // string | Filtrování aktivit podle data realizování. Lze využít operátoru `GT`, `GE`, `LT`, `LE`
$category_id = 3; // int | Filtrování aktivit podle ID kategorie. Lze využít operátoru `EQ`, `NE`, `GT`, `GE`, `LT`, `LE`
$status = SCHEDULED; // string | Filtrování aktivit podle statusu. Lze využít operátoru `EQ`, `NE`, `LIKE`, `LIKE_NOCASE`
$owner_id = 3; // int | Filtrování aktivit podle ID kontaktní osoby, která je vlastníkem aktivity. Lze využít operátoru `EQ`, `NE`, `GT`, `GE`, `LT`, `LE`
$person_filter = 3; // int | Filtrování aktivit podle ID kontaktní osoby, která je participantem. Nelze využít standardních operátorů.
$company_context_filter = 3; // int | Filtrování aktivit podle ID klienta, kterého se aktivity týkají (klient je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
$lead_context_filter = 3; // int | Filtrování aktivit podle ID leadu, kterého se aktivity týkají (lead je napojený v kontextu nebo je participantem). Nelze využít standardních operátorů.
$business_case = 3; // int | Filtrování aktivit podle ID obchodního případu, kterého se události týkají. Lze využít operátoru `EQ`, `NE`, `IN`, `NOT_IN`
$row_info_created_at = 2022-06-01 10:00; // string | Filtrování aktivit podle data vytvoření. Lze využít operátoru `GT`, `GE`, `LT`, `LE`
$row_info_updated_at = 2022-06-01 10:00; // string | Filtrování aktivit podle posledního data upravení. Lze využít operátoru `GT`, `GE`, `LT`, `LE`
$row_info_last_modified_at = 2022-06-01 10:00; // string | Filtrování aktivit podle posledního data modifikace (vytvoření nebo upravení). Lze využít operátoru `GT`, `GE`, `LT`, `LE`. Vhodné pro periodickou detekci změn.
$view = rowInfo; // string | Pokud je hodnota rovna `rowInfo`, jsou vráceny pouze stavové informace o záznamu (data vytvoření, upravení, verze, ...). Vhodné pro periodickou detekci změn.
$tags = tags; // string | Filtrování podle štítku. Je možné hledat podle více štítků oddělených čárkou. Záznam potom musí alespoň jeden obsahovat (`tag1,tag2`).

try {
    $apiInstance->activityGet($offset, $limit, $sort_column, $sort_direction, $fulltext, $id, $title, $scheduled_from, $scheduled_till, $completed, $category_id, $status, $owner_id, $person_filter, $company_context_filter, $lead_context_filter, $business_case, $row_info_created_at, $row_info_updated_at, $row_info_last_modified_at, $view, $tags);
} catch (Exception $e) {
    echo 'Exception when calling AktivityApi->activityGet: ', $e->getMessage(), PHP_EOL;
}

API 端点

所有 URI 都是相对于 https://app.raynet.cz/api/v2

模型

授权

基本认证

  • 类型:HTTP基本认证

实例名称

  • 类型:API密钥
  • API密钥参数名称:X-Instance-Name
  • 位置:HTTP头部

测试

运行测试,请使用

composer install
vendor/bin/phpunit

作者

关于此包

此PHP包由OpenAPI Generator项目自动生成

  • API版本:2.0.0
  • 构建包:org.openapitools.codegen.languages.PhpClientCodegen