Как устранить ошибку Marketo: 711: неверный тип папки для электронной почты

Я пытаюсь отправить электронное письмо с помощью API Marketo. я следую этот учебник и получаю ошибку, которую я не могу понять: {"requestId":"0000000000","success":false,"errors":[{"code":"711","message":"Invalid folder type for email"}]}

Что это значит? Я создал папку, затем внутри этой папки я создал Программу, затем внутри этой программы я создал это электронное письмо. Я не могу создать электронное письмо без Программы — насколько я знаю в любом случае — поэтому я немного растерялся.

Спасибо

РЕДАКТИРОВАТЬ: Добавление моего запроса:

Я строю свой запрос с помощью php:

<?php
$email = new CreateEmail();
$email->name = "MyEmailName";
$email->folder = new stdClass();
$email->folder->id = 3211;
$email->folder->type = "Folder";
$email->template = 0003;
$email->subject = "This email was created with an api call";
print_r($email->postData());

class CreateEmail{
private $host = "mydetails";
private $clientId = "mydetails";
private $clientSecret = "mydetails";
public $name;//name of new email, required - NOCEmai
public $folder;//json object with two members, id and type(Folder or Program), required
public $template;//id of parent template
public $description;//optional description of new
public $subject;//subject line of new email
public $fromName;//from name of new email
public $fromEmail;//from email of new email
public $replyEmail;//reply to address of new email
public $operational;//boolean operational status of email

public function postData(){
$url = $this->host . "/rest/asset/v1/emails.json?access_token=" . $this->getToken();
$ch = curl_init($url);
$requestBody = $this->bodyBuilder();
curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_getinfo($ch);
$response = curl_exec($ch);
return $response;
}

private function getToken(){
$ch = curl_init($this->host . "/identity/oauth/token?grant_type=client_credentials&client_id=" . $this->clientId . "&client_secret=" . $this->clientSecret);
curl_setopt($ch,  CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json',));
$response = json_decode(curl_exec($ch));
curl_close($ch);
$token = $response->access_token;
return $token;
}
private function bodyBuilder(){
$requestBody = "&name=" . $this->name . "&folder=" . json_encode($this->folder) . "&template=" . $this->template;
if (isset($this->description)){
$requestBody .= "&description=" . $this->description;
}
if (isset($this->subject)){
$requestBody .= "&subject=" . $this->subject;
}
if (isset($this->fromName)){
$requestBody .= "&fromName=" . $this->fromName;
}
if (isset($this->fromEmail)){
$requestBody .= "&fromEmail=" . $this->fromEmail;
}
if (isset($this->replyEmail)){
$requestBody .= "&replyEmail" . $this->replyEmail;
}
if (isset($this->operational)){
$requestBody .= "&operational=" . $this->operational;
}
return $requestBody;
}
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]