SugarCRM 响应命令 dict key _hash

SugarCRM response ordered dict key _hash

什么是

_hash

与 API 请求一起收到? 我的要求url,

url = "https://" + sugar_instance + "/rest/v10/Leads"

SugarCRM 中的每个 Lead/Employee/Module 是否有唯一的 user_id?如果是,我如何获得正在使用请求。我正在使用 Python.

您的问题中包含几个不同的问题。我会尽力回答所有问题。

什么是_hash?

查看 API 响应的这个子集:

"modified_user_id": "e8b433d5-5d17-456c-8506-fe56452fcce8",
"modified_by_name": "Reisclef",
"modified_user_link": {
    "full_name": "Administrator",
    "id": "1",
    "_acl": {
        "fields": [],
        "delete": "no",
        "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
    }
},
"created_by": "1",
"created_by_name": "Administrator",
"created_by_link": {
    "full_name": "Administrator",
    "id": "1",
    "_acl": {
        "fields": [],
        "delete": "no",
        "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
    }
},

上述响应中的“_hash”是相关acl记录的哈希值,代表用户对相关记录的访问控制限制。

我们可以通过进一步查看我的回复来证明这一点。您会注意到哈希值发生变化,但与具有相同条件的每个对象一致:

"member_of": {
    "name": "",
    "id": "",
    "_acl": {
        "fields": [],
        "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
    }
},
"campaign_id": "",
"campaign_name": "",
"campaign_accounts": {
    "name": "",
    "id": "",
    "_acl": {
        "fields": [],
        "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
    }
},

我们可以从中了解到,_hash 是 _acl 对象的哈希。您可以通过查看 include/MetaDataManager/MetaDataManager.php,第 1035 行来确认这一点。

因此,它不是用户记录的哈希,而是记录的 ACL 设置的哈希。

是否有独一无二的user_id?

严格来说,不,每条记录都不会有唯一的用户 ID(除非一个用户只有 created/edited 一条记录)。

如果您回过头来参考我的第一个区块 JSON,您会看到有两个用户关系:

modified_user_id

created_by

这些表示用户记录的唯一ID是什么,我们可以保证它是唯一的(就GUID而言)。

如何获取?

它在技术上已经在请求中,但如果您只想检索由用户 ID 创建和由用户 ID 修改的,您可以使用此调用:

https://{INSTANCE}/rest/v10/{MODULE}?fields=created_by,modified_user_id