首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SugarCRM自定义字段

SugarCRM自定义字段
EN

Stack Overflow用户
提问于 2018-11-22 20:30:27
回答 1查看 434关注 0票数 1

我正在为自定义软件和sugarCRM的数据同步编写一个软件.因此,我需要一个updateOrCreate()函数。我的问题是,定制软件使用的是sugarCRM以外的其他uuid,所以我无法查找uuid来检查uuid或create.So,我想将定制uuid保存在sugarCRM的自定义字段中。但我不知道如何在sugarCRM的其他API上做到这一点。顺便说一下,我写了一个java应用程序。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-23 14:20:52

据我所知,没有更新或创建API (请参阅https://your-sugarsite/rest/v10/help),但是,如果您只想使用API (而不是自定义API),您可以像这样同步数据:

1)通过使用POST /rest/v10/<module>/filter端点和类似于以下内容的有效负载获取具有自定义uuid的所有记录ids:

代码语言:javascript
复制
{
    offset: 0,
    max_num: 1000,
    fields: ["id", "custom_uuid_c"],
    filter: [{"custom_uuid_c": {"$not_empty": ""}}],
    ]
}

或者,如果您一次只需要一个特定的自定义uuid:

代码语言:javascript
复制
{
    offset: 0,
    max_num: 1000,
    fields: ["id"],
    filter: [{"custom_uuid_c": {"$equals": "example-custom-uuid"}}],
    ]
}

反应会是这样:

代码语言:javascript
复制
{
    next_offset: -1,
    records: [
        {"id": "example-sugar-uuid", "custom_uuid_c": "example-custom-uuid"},
        ...
    ],
}

备注:

  • 请确保对next_offset进行评估,因为由于服务器的限制,即使使用高max_num,也不可能同时获得所有记录。只要next_offset不是-1,您就应该在一个新的请求中使用它作为offset的值来获取其余的记录。
  • 您可以提供您需要在fields数组中同步的所有字段名,这样您就可以尽早获得该信息,并检查是否需要更新(也许数据仍然是最新的?)
  • 糖也总是包括在答复中的某些字段,无论它们是否被要求。(例如iddate_modified)。为了简单起见,我没有将它们全部包含在响应片段中。

2)

根据在前一步中收到的信息,您知道哪个糖ID属于哪个自定义UUID,并且您可以检测/准备更新的数据。

如果您需要先同步所有并检索完整的列表,我建议您创建一个自定义查找表-uuid => specific,这样您就不必在查找特定的数字时循环遍历数据数组并比较字段。

不要忘记考虑自定义uuid一次出现在多个糖类记录中的可能性,除非在服务器/数据库端强制它们是唯一的。

3)

现在您已经拥有了所需的所有信息,您可以根据需要更新和创建记录:

  • 更新现有记录:PUT /rest/v10/<module>/<record_id>
  • 创建缺失记录:POST /rest/v10/<module>

如果想在单个请求中发送大量的创建和/或更新,请查看POST /rest/v10/bulk API --如果您的Sugar版本有它。

最后注:

  • /rest/v10/help上的过滤器操作符定义似乎不完整,有关更多信息,您可以查看过滤器文档
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53437664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档