0

Codeigniter 用の SendinBlue API を探していますが、まだ見つかりません。

API がまだ存在しない場合、自分でコーディングするのは難しいですか (HTTP リクエストは既に知っていますが、構成についてはまったくわかりません)。

または、PHP を使用することは可能ですか?

ありがとう

4

1 に答える 1

0

私はこれに対する美しい解決策を持っています。それは私にとってはうまくいきます。あなたにもうまくいくことを願っています. API-v3 を使用しています。

私がしたことは次のとおりです。

  1. ローカル PC の composer を介して API をダウンロードしました。
  2. サーバー上に「sendinblue」という名前のフォルダーを作成し (資産フォルダーがある場所)、このフォルダー内にダウンロードした API からベンダー フォルダーをアップロードします。
  3. 「Sendinblue.php」という名前のライブラリを作成し、必要なすべての機能をここに追加しました。これで、このライブラリを他のライブラリと同じように使用できます。

これは私のライブラリ構造です:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Sendinblue{
    public $config;
    public $apiInstance;
    public function __construct(){      
        require_once('sendinblue/vendor/autoload.php');
        $this->config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', '');
        $this->apiInstance = new SendinBlue\Client\Api\ContactsApi(
            new GuzzleHttp\Client(),
            $this->config
        );      
    }

    public function get_contact_info($data){
        $identifier = $data['email'];
        try {
          return $result = $this->apiInstance->getContactInfo($identifier);
        } catch (Exception $e) {
          return 'Exception when calling ContactsApi->getContactInfo: '.$e->getMessage();
        }
    }
    
    public function create_contact($data){
        $createContact = new \SendinBlue\Client\Model\CreateContact();
        $createContact['email'] = $data['email'];
        $createContact['listIds'] = [2];
        try {
          return $result = $this->apiInstance->createContact($createContact);
        } catch (Exception $e) {
          return $e->getCode();
        }
    }
于 2021-01-28T13:47:26.880 に答える