Я работаю с 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;
Это, кажется, только создает людей Имя и фамилия (и связанный кампус). Письмо не создано.
Здесь документация для электронной почты.
Здесь документация для человека.
Есть идеи, что мне здесь не хватает?
Спецификация JSON API v1.0 не поддерживает массовое создание. Если этот конкретный API-интерфейс не реализует дополнительную функциональность, которая не является частью спецификации API-интерфейса JSON, вы не можете создать человека с соответствующим адресом электронной почты только в одном запросе.
Примечание: это, вероятно, будет поддерживаться следующей версией v1.1 через функцию под названием Operations. Вы можете найти более подробную информацию в этот ожидающий запрос.
Короче говоря: насколько я получил их конкретную реализацию, вы должны создать человека с первым запросом, а затем создать адрес электронной почты, связанный с ним с другим запросом.
Других решений пока нет …