après avoir consulte la documentation de API, je voulais savoir est ce que il y a déjà une personne qui a réussi a créé un évènement dans l agenda via l api bien sur.
est ce que si possible que quelque me site les étape a mettre en place puisque la je essai avec les requête j avance pas trop
J’ai trouver la solution presque 4 ans après votre problèmes.
Le soucis que j’ai eu perso est qu’il manqué le « userownerid » dans le array.
$newEvent = [
"userownerid" => '<iduser>', // l'id important
"type_id" => $typeID, // id du type de l'évent
"label" => $label, // titre de l'évent
"datep" => $dateStart, // début de l'évent
"datef" => $dateEnd, // fin de l'évent
];
Ma function entière :
createEventAgenda('50', "eventTestAPI", "Titre de l'event", '2024-03-30 11:00:00', '2024-03-30 13:00:00', $apiUrl);
function createEventAgenda($typeID, $label, $desc, $dateStart, $dateEnd, $apiUrl)
{
$dateStart = convertToTimestamp($dateStart);
$dateEnd = convertToTimestamp($dateEnd);
$newEvent = [
"userownerid" => '<iduser>', // l'id important
"type_id" => $typeID, // id du type de l'évent
"label" => $label, // titre de l'évent
"datep" => $dateStart, // début de l'évent
"datef" => $dateEnd, // fin de l'évent
];
$newEventResult = CallAPI("POST", $apiUrl."agendaevents", json_encode($newEvent));
$newEventResult = json_decode($newEventResult, true);
var_dump($newEventResult);
}
La fonction CallAPI est la même que vous trouverez dans la doc de Dolibarr.
La fonction convertToTimestamp est ci-dessous qui servira à passer de la date que vous rentrer en timestamp.
function convertToTimestamp($date) {
$timestamp = strtotime($date);
return $timestamp;
}
Voila, j’ai fais de mon mieux sur les explications, j’espère que ça débloquera certain.