Mautic случайно возвращает ошибку при отправке электронной почты контакту через REST API - PullRequest
0 голосов
/ 30 сентября 2019

У меня странная проблема. В основном работает приведенный ниже код:

        function invokeMauticAPI(requestProperties) {
        let caller = saRequest[requestProperties.method.toLowerCase()](requestProperties.url);
        caller = caller.set("Authorization", "Basic " + generateMauticAuthToken());
        if (requestProperties.body !== undefined && requestProperties.body !== null) {
            caller = caller.send(requestProperties.body);
        } else {
            caller = caller.send();
        }
        return new Promise((resolve, reject) => {
           caller.end((err, response) => {
               if (err) {
                   if (response && !err.response) {
                       err.response = response;
                   }
                   return reject(err);
               }
               if (response.ok) {
                   //creepy case made by mautic which is surely NOT very REST-full
                   if (response.body && response.body.success === false) {
                       let errObj = new Error(`Error response from mautic with status ${response.status} `);
                       errObj.details = response.body;
                       reject(errObj);
                   }
                   return resolve(response.body);
               }
               let errObj = new Error(`Error response from mautic with status ${response.status} `);
               errObj.response = response;
               return reject(errObj);
           })
        });
    }

Код вызывается с настройками запроса, такими как (некоторые данные заменены для безопасности):

{
    "method": "POST",
    "url": "https://mautic.example.com/api/emails/31/contact/705/send",
    "body": {
        "tokens": {
            "{userName}": "Kote",
            "{siteUrl}": "https://dev.example.com/staging/",
            "{messageText}": "Hello world",
            "{detailsUrl}": "https://dev-local.example.com/staging/message/1234ABCD"
        }
    }
}

При mautic вместо этого случайным образом возвращается странная ошибкауспеха и когда это происходит, электронное письмо не отправляется:

{"success":false,"failed":[]}

Версия Mautic - 2.15.2. Что может быть причиной такого поведения mautic?

...