精华内容
下载资源
问答
  • SugarCRM

    2008-06-25 16:17:16
    packt_用开源项目快速建站实践丛书之SugarCRM
  • sugarcrm

    2012-10-30 14:11:15
    http://www.lornajane.net/posts/2008/sugarcrm-soap-api-examples
    http://www.lornajane.net/posts/2008/sugarcrm-soap-api-examples
    展开全文
  • sugarcrm_dev:SugarCRM CE源代码
  • 这个用于SugarCRM的Outlook 2010加载项允许从Outlook和同步中创建SugarCRM对象。
  • SugarCRMSugarCRM 的 REST 绑定! 摘要: 通过 REST 与 SugarCRM 交互的一种不那么笨拙的方式。 特点/问题: 适用于所有 v2 API 调用 支持 Rails 2 和 3 ActiveRecord 样式查找器和对象 支持 SugarCRM 特定...
  • sugar crm

    2013-09-22 09:38:00
  • Magento到SugarCRM桥 将Magento客户信息导出到SugarCRM @作者本顿·斯奈德 @ @created 7/23/2015 @更新7/23/2015 工作流程 每当成功下订单时,以下信息就会导出到SugarCRM。 根据指定的公司或客户的名字和姓氏...
  • SugarCrm

    2007-11-08 09:57:08
  • 适用于Gmail的Yathit SugarCRM是适用于Gmail中SugarCRM用户的安全省时工具。 在Gmail中通过SugarCRM查看,搜索和编辑联系人,潜在客户,帐户。功能:★创建,编辑和搜索SugarCRM模块,包括联系人,潜在客户,便笺等...
  • ed_sugarcrm TYPO3 SugarCRM(Extbase 域模型)
  • SugarCRM 7 REST API包装器 使用SugarCRM 7 REST API(v10)的更快捷快捷的选择。 关于 为了节省创建和连接用于SugarCRM 7 REST API的自己的应用程序的时间,此包装器仅几行即可帮助您启动和忙碌。 用法 # Enter ...
  • SugarCRM 的 REST 客户端,基于 PHP。 PHP 版本 >= 5.3 是必需的。 建立连接 Session :: connect ( 'http://link/to/your/sugarcrm/service/v4_1/rest.php' , 'login' , 'password' ); Where子句 要搜索记录,请...
  • Enjay LimeBerry SugarCRM LinkedIn扩展。SugarCRM版本。 Enjay LimeBerry-Sugarcrm LinkedIn扩展。将LinkedIn个人资料压缩到您的可爱CRM中。 *** Enjay LimeBerry功能*** 1.将来自LinkedIn的1级联系人的数据直接...
  • SugarCRM 附加样板 创建 SugarCRM 附加组件的起点。 抓住它并将其用于您自己的附加组件。 这是 Sugar 7 的第一个实现,也适用于 Sugar 6。 当前功能和示例 安装向导 调度器作业安装 默认配置 管理菜单 许可证占位符 ...
  • 2010年2月2日-作者在2010年2月2日增加了关于SugarCRM连接器的资源项目。 什么是REST? 常用缩略语 API:应用程序编程接口 CSS:级联样式表 DOM:文档对象模型 HTML:超文本标记语言 HTTP:超文本...

    sugarcrm

    2010年2月2日-作者在2010年2月2日增加了关于SugarCRM连接器的资源项目。

    什么是REST?

    REST(代表表示状态转移)被设计为一种非常卑鄙的精益Web服务协议。 它是对诸如SOAP和XML-RPC之类的重量级Web服务协议的一种响应,这些协议依赖于预定义的消息传递格式和方法在服务器和客户端之间来回传递它们。 另一方面,REST未指定此类限制。 您可以使用自己喜欢的任何消息格式(无论是JSON,XML,HTML,序列化数据,甚至是纯文本),并以GETDELETEPOST的标准HTTP动词进行操作。 REST客户端/服务器交互存在的规则可以由应用程序需求完全定义。 因此,如果您定义了一个打算供JavaScript客户端使用的REST接口,则您可能希望以JSON格式返回数据,而如果您打算由PHP客户端使用该数据,则可能要序列化数据或XML是更好的选择。

    每个REST Web服务调用都是使用标准HTTP动词之一的简单HTTP请求。 通常,您将使用最适合您执行的动作的动词:

    • GET从服务器检索数据
    • POST从服务器发送数据
    • DELETE以删除服务器上的资源

    清单1显示了如何与Yahoo!交互的示例。 使用PHP搜索REST Web服务是可行的(请参见可下载资源 ,使本文中的所有示例都唾手可得)。

    清单1.与PHP中的REST Web服务进行交互的示例
    <?php 
    // specify the REST web service to interact with 
    $url = 'http://search.yahooapis.com/WebSearchService/V1/
         webSearch?appid=YahooDemo&query=sugarcrm'; 
    // make the web services call; the results are returned in XML format 
    $resultsXml = file_get_contents($url); 
    // convert XML to a SimpleXML object 
    $xmlObject = simplexml_load_string($resultsXml); 
    // iterate over the object to get the title of each search result 
    foreach ( $xmlObject->Result as $result ) 
        echo "{$result->Title}\n";

    对于清单1中的示例,您正在使用Yahoo Web Search Service搜索sugarcrm。 您使用PHP函数file_get_contents() ,该函数使用指定的URL执行GET请求。 默认情况下,它以XML字符串的形式返回查询的结果,并且使用PHP SimpleXML库将其解析为一个PHP对象,您可以对其进行迭代以获取所需的数据。

    现在您已经了解了REST Web服务的工作原理,然后了解如何使用其Web服务界面与SugarCRM进行交互。

    使用REST连接到SugarCRM

    SugarCRM随附的Web服务接口可以立即使用,位于http:// path_to_Sugar_instance /v2/rest.php。 使用对此URL的POST请求进行调用,并将所需的参数作为POST参数传递给Web服务调用。 对于与Web服务的每次交互,客户端首先必须使用login方法调用向服务进行身份验证,如清单2所示

    清单2.通过REST Web服务界面登录到SugarCRM实例
    <?php 
    // specify the REST web service to interact with 
    $url = 'http://localhost/sugar/v2/rest.php'; 
    // Open a curl session for making the call 
    $curl = curl_init($url); 
    // Tell curl to use HTTP POST 
    curl_setopt($curl, CURLOPT_POST, true); 
    // Tell curl not to return headers, but do return the response 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    // Set the POST arguments to pass to the Sugar server 
    $parameters = array( 
        'user_name' => 'user', 
        'password' => 'password', 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=login&input_type=json&
          response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Close the connection 
    curl_close($session);  
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Echo out the session id 
    echo $result['id'];

    由于您需要向Web服务发出POST请求而不是GET请求,因此请使用PHP curl库而不是file_get_contents()来调用Sugar Web服务。 然后,将Web服务调用的参数组装为数组,并编码为JSON字符串。 您可以使用input_type POST参数(可以是jsonserialized )将指定此Web服务调用的参数,方法(此调用的login )以及用于将参数传递给服务的格式。 您还必须指定期望返回结果的格式(如response_type参数(可以是jsonrssserialized参数之一)),然后将Web服务方法的JSON编码参数字符串指定为rest_data 。 然后,您进行实际的调用,并解码从服务器传递来的返回的JSON字符串。 您为此请求关注的主要返回值是id参数,该参数在后续请求中用作参数,以向您的服务器标识您已通过该服务的身份验证。

    建立新纪录

    现在,您可以基于清单2的示例,对Sugar Web服务进行实际更改。 在清单3中 ,您将看到如何使用该界面将新记录添加到Accounts模块。

    清单3.使用REST Web服务界面添加一个新帐户
    <?php 
    // specify the REST web service to interact with 
    $url = 'http://localhost/sugar/v2/rest.php'; 
    // Open a curl session for making the call 
    $curl = curl_init($url); 
    // Tell curl to use HTTP POST 
    curl_setopt($curl, CURLOPT_POST, true); 
    // Tell curl not to return headers, but do return the response 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    // Set the POST arguments to pass to the Sugar server 
    $parameters = array( 
        'user_name' => 'user', 
        'password' => 'password', 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=login&input_type=json&
           response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Close the connection 
    curl_close($session);  
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the session id 
    $sessionId = $result['id']; 
    // Now, let's add a new Accounts record 
    $parameters = array( 
        'session' => $session, 
        'module' => 'Accounts', 
        'name_value_list' => array( 
            array('name' => 'name', 'value' => 'New Account'), 
            array('name' => 'description', 'value' => 'This is an 
    account created from a REST web services call'), 
            ), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_entry&input_type=json&
         response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the newly created record id
    $recordId = $result['id'];

    登录到Web服务之后,您将再次调用Web服务,这次是set_entry Web服务方法。 您可以将login方法返回的会话ID指定为session参数,并将要添加记录的module指定为module参数。 name_value_list参数是您希望为新创建的记录设置的字段值的名称/值对列表。 然后,您进行Web服务调用,该服务返回新创建的记录的记录ID。

    您还可以通过再次调用相同的set_entry方法来更新一条记录,确保在name_value_pair列表中传递您想要更新的记录id,如清单4所示

    清单4.使用REST Web服务界面创建和更新联系人
    <?php 
    // specify the REST web service to interact with 
    $url = 'http://localhost/sugar/v2/rest.php'; 
    // Open a curl session for making the call 
    $curl = curl_init($url); 
    // Tell curl to use HTTP POST 
    curl_setopt($curl, CURLOPT_POST, true); 
    // Tell curl not to return headers, but do return the response 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    // Set the POST arguments to pass to the Sugar server 
    $parameters = array( 
        'user_name' => 'user', 
        'password' => 'password', 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=login&input_type=json&
        response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Close the connection 
    curl_close($session);  
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the session id 
    $sessionId = $result['id']; 
    // Now, let's add a new Contacts record 
    $parameters = array( 
        'session' => $session, 
        'module' => 'Contacts', 
        'name_value_list' => array( 
            array('name' => 'first_name', 'value' => 'John'), 
            array('name' => 'last_name', 'value' => 'Mertic'), 
            ), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_entry&input_type=json&
        response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the newly created record id 
    $recordId = $result['id']; 
    // Now let's update that record we just created 
    $parameters = array( 
        'session' => $session, 
        'module' => 'Contacts', 
        'name_value_list' => array( 
            array('name' => 'id', 'value' => $recordId), 
            array('name' => 'title', 'value' => 'Engineer'), 
            ), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_entry&input_type=json&
         response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the record id of the record we just updated 
    $recordId = $result['id'];

    在这个清单4的示例中,您只需进行第二个set_entry方法调用来更新新创建的记录。 这次您指定要更新的记录的记录ID作为Web服务方法调用的name_value_list参数中的条目,并为要更新的每个字段提供一个条目作为调用的一部分(对于本例,您将正在将title字段更新为值Engineer )。 然后,您发出请求,并查找记录ID以作为Web服务方法调用成功结果的标志返回给您。

    创建多个记录

    如果要在一个模块中创建多个记录,则可以使用Web服务方法set_entries Web服务API的调用次数减少到一个,而不是在循环中调用set_entry清单5显示了如何完成此工作。

    清单5.在一个方法调用中在一个模块中创建多个记录
    <?php 
    // specify the REST web service to interact with 
    $url = 'http://localhost/sugar/v2/rest.php'; 
    // Open a curl session for making the call 
    $curl = curl_init($url); 
    // Tell curl to use HTTP POST 
    curl_setopt($curl, CURLOPT_POST, true); 
    // Tell curl not to return headers, but do return the response 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    // Set the POST arguments to pass to the Sugar server 
    $parameters = array( 
        'user_name' => 'user', 
        'password' => 'password', 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=login&input_type=json&
         response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Close the connection 
    curl_close($session);  
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the session id 
    $sessionId = $result['id']; 
    // Now, let's add a new Contacts record 
    $parameters = array( 
        'session' => $session, 
        'module' => 'Contacts', 
        'name_value_lists' =>  
            array( 
                array('name' => 'first_name', 'value' => 'John'), 
                array('name' => 'last_name', 'value' => 'Mertic'), 
            ), 
            array( 
                array('name' => 'first_name', 'value' => 'Dominic'), 
                array('name' => 'last_name', 'value' => 'Mertic'), 
            ), 
            array( 
                array('name' => 'first_name', 'value' => 'Mallory'), 
                array('name' => 'last_name', 'value' => 'Mertic'), 
            ), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_entry&input_type=json&
         response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the newly created record ids as an array 
    $recordIds = $result['ids'];

    对于参数set_entries是几乎相同set_entry ,除了没有name_value_list ,参数是name_value_lists ,这是您创建使用Web服务API记录的关联数组。 创建的记录的记录id以数组的形式返回到ids参数中,并以它们在参数列表中传递的顺序返回。

    将记录关联在一起

    SugarCRM的一个主要概念是将记录彼此关联的能力。 这种关系的一个例子是客户和联系人之间。 SugarCRM中的每个帐户可以具有一个或多个与其相关的联系人。 您可以完全使用Web服务框架来建立这种关系,如清单6所示

    清单6.使用REST Web服务API将帐户与联系人相关联
    <?php 
    // specify the REST web service to interact with 
    $url = 'http://localhost/sugar/v2/rest.php'; 
    // Open a curl session for making the call 
    $curl = curl_init($url); 
    // Tell curl to use HTTP POST 
    curl_setopt($curl, CURLOPT_POST, true); 
    // Tell curl not to return headers, but do return the response 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    // Set the POST arguments to pass to the Sugar server 
    $parameters = array( 
        'user_name' => 'user', 
        'password' => 'password', 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=login&input_type=json&
          response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Close the connection 
    curl_close($session);  
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the session id 
    $sessionId = $result['id']; 
    // Now, let's add a new Accounts record 
    $parameters = array( 
        'session' => $session, 
        'module' => 'Accounts', 
        'name_value_list' => array( 
            array('name' => 'name', 'value' => 'New Account'), 
            array('name' => 'description', 'value' => 'This is an 
    account created from a REST web services call'), 
            ), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_entry&input_type=json&
        response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the newly created Account record id 
    $accountId = $result['id']; 
    // Now, let's add a new Contacts record 
    $parameters = array( 
        'session' => $session, 
        'module' => 'Contacts', 
        'name_value_list' => array( 
            array('name' => 'first_name', 'value' => 'John'), 
            array('name' => 'last_name', 'value' => 'Mertic'), 
            ), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_entry&input_type=json&
           response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call, returning the result 
    $response = curl_exec($session); 
    // Convert the result from JSON format to a PHP array 
    $result = json_decode($response); 
    // Get the newly created Contact record id 
    $contactId = $result['id']; 
    // Now let's relate the records together 
    $parameters = array( 
        'session' => $session, 
        'module_id' => $accountId 
        'module_name' => 'Accounts', 
        'link_field_name' => 'contacts', 
        'related_ids' => array($contactId), 
        ); 
    $json = json_encode($parameters); 
    $postArgs = 'method=set_relationship&input_type=json&
        response_type=json&rest_data=' . $json; 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs); 
    // Make the REST call 
    $response = curl_exec($session);

    在创建了您希望一起关联的Account和Contact之后,您将构建对set_relationship Web服务方法调用的请求。 然后,您传递以下内容:

    • Web服务会话的会话ID的session参数
    • 该关系的主模块的module_name
    • module_id为该模块中记录的ID,将成为关系的基础
    • link_field_name表示该模块中用于链接到另一个模块的关系的名称(在这种情况下,该关系称为contacts

    最后,然后指定与指定模块记录相关的记录ID列表。 拨打电话后,将建立关系。

    这只是可用的Web服务方法的冰山一角。 请务必查看SugarCRM开发人员文档以获取可用Web服务方法的完整列表。

    摘要

    在本文中,您了解了SugarCRM 5.5中的新功能,它是Sugar Web Services框架的REST接口。 在了解了REST Web服务的工作原理后,您了解了一些利用REST接口到Sugar Web服务框架的示例。 您了解了如何向模块添加新记录,然后如何修改该记录。 您还看到了如何在一个方法调用中添加多个记录,从而节省了连续进行多个远程服务器调用的开销。 最后,您了解了如何使用Web服务框架的set_relationship方法将两个不同的记录关联在一起。


    翻译自: https://www.ibm.com/developerworks/opensource/library/x-sugarcrmrest/index.html

    sugarcrm

    展开全文
  • SugarCRM-REST-API-Wrapper-Class, 用于 SugarCRM REST API的PHP包装类 的SugarCRM REST API 包装类以Kusuma为单位http://www.asakusuma.com/许可证:MIT电子邮件内容关于安装用法示例便笺get_note_attachment() ...
  • SugarCRM For Dummies

    2018-06-13 22:42:07
    I started this book with the intention of bringing a new side of SugarCRM to light. Since I began working at SugarCRM, I saw the flexibility and extensibility that the application could provide. I ...
  • SugarCRM Api包装器 安装 composer require inetprocess/sugarcrm-apiwrapper 用法 基本请求 一个基本类,可启动Guzzle HTTP Client,并为其他类提供进行SugarCRM API调用的主要方法。 您可以直接使用它,但不建议...
  • java开发crm项目源码Sugarcrm-gmail-chrome-extension Gmail 收件箱中用于 SugarCRM 的 Chrome 扩展程序。 试一试:或 设计目标 API 将被设计为安全、易于使用、灵活且功能强大,足以在 Gmail 中的 CRM 应用程序中...
  • SugarCRM-用户-操作 SugarCRM 用户操作模块在您的 SugarCRM 应用程序中记录用户活动。 跟踪的操作包括:登录、注销、详细信息查看、创建、编辑、删除。 您可以查看谁执行了操作、用户 IP、执行操作的日期和时间、...
  • SugarCRM Sales

    2015-08-03 07:48:59
    SugarCRM Sales Function Overview
  • SugarCRM Marketing

    2015-08-03 07:46:40
    SugarCRM Marketing Function Overview
  • SugarCRM介绍.pptx

    2021-09-21 01:44:23
    SugarCRM介绍.pptx
  • sugar CRM 版本

    2011-11-04 11:29:19
    sugar CRM 版本
  • 随着SugarCRM 5.5的引入,整个Web服务框架得到了振兴,不仅增加了REST支持以补充现有的SOAP支持,还使开发人员能够以升级安全的方式自定义Web服务,以帮助支持其业务应用程序。缓解。 现成的,SugarCRM REST Web...
  • SugarCRM安装演示.pptx

    2021-09-21 01:44:29
    SugarCRM安装演示.pptx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,924
精华内容 769
关键字:

sugarcrm