我正在使用Planning Center API,它的构建符合JSON API 1.0规范。
我们需要将人员数据发布到计划中心。该API似乎从他们的电话号码和电子邮件中分解了一个人。我是新手,因此不确定是否可以将它们全部发布到同一cURL请求中,或者我是否需要3个请求。我的理解(可能被误导了)是,我可以在POST请求中“包含”电子邮件和电话号码。
这就是我所拥有的:
$person = '{
"data": {
"type": "Person",
"attributes": {
"first_name": "Test",
"last_name": "User"
},
"relationships": {
"primary_campus": {
"data": { "type": "PrimaryCampus", "id": "123" }
}
}
},
"include":{
"data": {
"type": "emails",
"attributes": {"address": "test@test.com"}
}
}
}';
$channel = curl_init();
curl_setopt( $channel, CURLOPT_URL, "https://api.planningcenteronline.com/people/v2/people" );
//curl_setopt( $channel, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $channel, CURLOPT_USERPWD, $application_ID.":".$application_secret );
curl_setopt( $channel, CURLOPT_POST, true);
curl_setopt( $channel, CURLOPT_POSTFIELDS, $person);
curl_exec($channel);
echo $channel;
这似乎只能创建人的名字和姓氏(以及相关的校园)。电子邮件未创建。
这里是documentation for the email. 这是documentation for the person。
有什么想法我在这里想念的吗?
答案 0 :(得分:0)
JSON API Specification v1.0不支持批量创建。如果此特定的API未实现不是JSON API规范所不包含的其他功能,则您将无法仅在一个请求中与其关联的电子邮件创建一个人。
侧面说明:即将推出的v1.1版本可能会通过称为“操作”的功能来支持此功能。您可以在this pending pull request中找到更多详细信息。
简而言之:就我的具体实现而言,您必须创建一个具有第一个请求的人,然后创建一个与另一个请求相关联的电子邮件地址。