timurrodya/enkod-laravel

Enkod module for Laravel

dev-main 2025-05-14 05:19 UTC

This package is auto-updated.

Last update: 2025-08-14 05:49:10 UTC


README

Требования

  • Версии PHP: ^8.1
  • Версии Guzzle": ^7.2

Установка

Вы можете установить пакет через composer:

composer require timurrodya/enkod-laravel

Публикация конфигурационного файла. Выполните artisan команду

php artisan vendor:publish --provider='Timurrodya\Enkod\EnkodServiceProvider' --tag=config

Настройка проекта осществляется через .env вашего проекта. Вам необходимо указать три параметра

  • ENKOD_API_KEY - apiKey для раоты с API Enkod
  • ENKOD_BASE_URL - адрес Api Enkod по умолчанию https://api.enkod.ru/
  • ENKOD_VERSION - версия api, по умолчанию v1

mail - Отправка сообщения единственному получателю

/**
 * @param SendEmailDto|array{
 *     messageId: int,
 *     email: string,
 *     snippets?: array,
 *     attachments?: array
 * } $data
 * @return bool
 * @throws Exception
 */
public function mail(SendEmailDto|array $data): bool
// Через DTO объект
$enkod->mail(new SendEmailDto(
    messageId: 123,
    email: 'user@example.com',
    snippets: ['name' => 'John'],
    attachments : [
        [
            'fileName' => 'test.pdf',
            'mimeType' => 'application/pdf',
            'content' => 'JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu...'
        ]
));

// Через массив (legacy поддержка)
$enkod->mail([
    'messageId' => 123,
    'email' => 'user@example.com',
    'snippets' => ['name' => 'John'],
    'attachments' => [
        [
            'fileName' => 'test.pdf',
            'mimeType' => 'application/pdf',
            'content' => 'JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu...'
        ]
]);