Email-сервисы — это сервисы в интернете, которые позволяют вести базу электронных адресов, осуществлять тематические рассылки, и т.д. У большинства современных сервисов есть API интерфейс. С одним из таких сервисов у меня была задача сделать обмен: https://sendpulse.com. Описание API у них есть, но, как оказалось, при попытке интеграции с 1С подводных камней больше, чем абзацев в том описании. Я потратил пару дней, надеюсь, кому-то поможет моя публикация, и время будет сэкономлено.
В обработке реализованы функции:
- получение ключа;
- получение списка адресных книг;
- получение списка адресов из книги;
- добавление адреса в книгу;
- удаление адреса из книги.
Для работы нужна обработка JSON: //infostart.ru/public/119601/ (мои благодарности автору).
Благодарности также //infostart.ru/public/310693/ за решение нескольких неожиданных проблем с POST запросом.
Изменения 13.08.2024 :
добавил версию для 8.3, где используются новые объекты, в частности, для работы с JSON
Изменения 08.11.2024 :
Изменил версию 8.3 так, чтобы обработка работала и с новыми подверсиями.
SMS ки не умеет отправлять из 1С?
(1)
Нет. В API такого нет. И еще много чего нет 🙁
Скачал обработку, что-то не работает, пишет при получении ключа «Код ответа=400». Хотя при выполнении обычной формы html, все работает:
<html>
<form method=»POST» action=»https://api.sendpulse.com/oauth/access_token»>
<input type=text name=»grant_type» value=»client_credentials»>
<input type=text name=»client_id» value=»XXX»>
<input type=text name=»client_secret» value=»XXX»>
<input type=submit>
</form>
</html>
(3)
https://sendpulse.com/ru/integrations/api
Вот их описание API
Там есть коды ошибок , код 400 :
«Не существует такого пользователя SMTP. Вам необходимо создать аккаунт в SMTP сервисе.»
Похоже, неверный client_id
У меня все работает, только что проверил.
Взял из источникаhttp://forum.aeroion.ru/topic446.html
Это работает:
Показать
(5)
Написано то же самое, что и в моей обработке, но другими словами. Если это работает, то моя тоже работает.
Здравствуйте, меня зовут александр, нужна ваша помощь с 1с. Вас порекомендовали. Я с прокопьевска. Можем встретиться?89134051580
(3)Павел свяжитесь пожалуйста со мной по тел 89134051580. Нужна ваша помощь по 1с, платно соответсвенно. Нужно помочь с внедрением на производстве.
(7)
1)Это нужно писать не сюда.
2)Я ответил в чате.
Вылазит ошибка 400.
Писал в тех поддержку sendpulse говорят параметры передаются не правильно для получения токкена не в Body , а в head
(10)
1)Какой версие
(10)
Извините.
1)Какой версией обработки пользуетесь ?
2)Если для 8.2, то первый вариант обработки действительно был с другим порядком авторизации. Потом у них на сервере порядок авторизации сменили, и я заменил обработку. Уже давно в публикации новая версия для 8.2. Для 8.3 с самого начала версия была с новым порядком авторизации
3)Мои клиенты активно работают с sendpulse. Только что проверил обе версии обработки, обе работают.
4)Если новая версия у Вас не работает, давайте спишемся, z по TeamViewer посмотрю, мне любопытно
bulpi@ukr.net
Как оказалось, в новых подверсиях 8.3 нужно явно указывать в методе УстановитьТелоИзСтроки объекта HTTPЗапрос параметр ИспользованиеByteOrderMark.НеИспользовать. Выложил новую версию обработки.
не работает в версии 8.3.12.1616
не работает в версии 8.3.12.1616
+json выдал
(15)
Вы , похоже, пытаетесь использовать версию для 8.2. В версии для 8.3 используются встроенные функции работы с JSON
Взял эту обработку — получение ключа — работает! Спасибо!
Сам дописал блок отправки письма но идет ошибка
Код ответа=400 {«error_code»:10,»message»:»Empty «From» email»}
&email=[
{
«text»: «Hello!»,
«html»: «<p>Hello!</p>»,
«subject»: «Hello!»,
«from»: {
«name»: «****»,
«email»: ****»
},
«to»: [
{
«name»: «***f»,
«email»: «****@yandex.ru»
}
]
}
(17)
https://sendpulse.ua/integrations/api/bulk-email и не нашел метода для отправки одиночного письма без кампании.
А откуда Вы взяли, что такой метод существует ? Я внимательно просмотрел описание API
(18) вот он
https://sendpulse.ua/integrations/api/smtp
(19)
В личном кабинете на закладке Smtp заполнили анкету ? Email отправителя в анкете совпадает с тем, что Вы пишете в методе :
«from»: {
«name»: «****»,
«email»: ****»
},
?