mautic - хочу добавить контакт в mautic через api - PullRequest
0 голосов
/ 10 июня 2018

Я хочу добавить контакт в mautic через API.Ниже у меня есть код, но он не добавляет контакт в mautic.

Я установил mautic в localhost.Изучил форму API в mautic документации и пытался сделать это не менее 2 дней, но я не получаю никаких результатов.

<code>            // Bootup the Composer autoloader
            include __DIR__ . '/vendor/autoload.php';  

            use Mautic\Auth\ApiAuth;

            session_start();

            $publicKey = '';
            $secretKey = '';
            $callback  = '';

            // ApiAuth->newAuth() will accept an array of Auth settings
            $settings = array(
                'baseUrl'          => 'http://localhost/mautic',       // Base URL of the Mautic instance
                'version'          => 'OAuth2', // Version of the OAuth can be OAuth2 or OAuth1a. OAuth2 is the default value.
                'clientKey'        => '1_1w6nrty8k9og0kow48w8w4kww8wco0wcgswoow80ogkoo0gsks',       // Client/Consumer key from Mautic
                'clientSecret'     => 'id6dow060fswcswgsgswgo4c88cw0kck4k4cc0wkg4gows08c',       // Client/Consumer secret key from Mautic
                'callback'         => 'http://localhost/mtest/process.php'        // Redirect URI/Callback URI for this script
            );

            /*
            // If you already have the access token, et al, pass them in as well to prevent the need for reauthorization
            $settings['accessToken']        = $accessToken;
            $settings['accessTokenSecret']  = $accessTokenSecret; //for OAuth1.0a
            $settings['accessTokenExpires'] = $accessTokenExpires; //UNIX timestamp
            $settings['refreshToken']       = $refreshToken;
            */

            // Initiate the auth object
            $initAuth = new ApiAuth();
            $auth = $initAuth->newAuth($settings);
            /*
            if( $auth->getAccessTokenData() != null ) {
                    $accessTokenData = $auth->getAccessTokenData();
                    $settings['accessToken']        = $accessTokenData['access_token'];
                    $settings['accessTokenSecret']  = 'id6dow060fswcswgsgswgo4c88cw0kck4k4cc0wkg4gows08c'; //for OAuth1.0a
                    $settings['accessTokenExpires'] = $accessTokenData['expires']; //UNIX timestamp
                    $settings['refreshToken']       = $accessTokenData['refresh_token'];
            }*/
            // Initiate process for obtaining an access token; this will redirect the user to the $authorizationUrl and/or
            // set the access_tokens when the user is redirected back after granting authorization

            // If the access token is expired, and a refresh token is set above, then a new access token will be requested

            try {
                if ($auth->validateAccessToken()) {

                    // Obtain the access token returned; call accessTokenUpdated() to catch if the token was updated via a
                    // refresh token

                    // $accessTokenData will have the following keys:
                    // For OAuth1.0a: access_token, access_token_secret, expires
                    // For OAuth2: access_token, expires, token_type, refresh_token

                    if ($auth->accessTokenUpdated()) {
                        $accessTokenData = $auth->getAccessTokenData();
                        echo "<pre>";
                        print_r($accessTokenData);
                        echo "
"; // храним данные токена доступа так, как вы хотите}}} catch (Exception $ e) {// Do Error обработка} use Mautic \ MauticApi; // use Mautic \ Auth \ ApiAuth; // ... $ initAuth = new ApiAuth (); $ auth = $ initAuth-> newAuth($ settings); $ apiUrl = "http://localhost/mautic/api"; $ api = new MauticApi ();$ contactApi = $ api-> newApi («контакты», $ auth, $ apiUrl);$ data = array ('firstname' => 'Jim', 'lastname' => 'Contact', 'email' => 'jim@his-site.com', 'ipAddress' => $ _SERVER ['REMOTE_ADDR']);$ contact = $ contactApi-> create ($ data);эхо "контакт создан ";

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 12 сентября 2018

По моему опыту иногда после активации API в настройках API начинает работать только после очистки кеша.

  1. Убедитесь, что вы активировали API в настройках

  2. Очистить кеш:

    cd /path/to/mautic
    rm -rf app/cache/*

  3. Затем повторите попытку

  4. Если это не сработало, попробуйте использовать пример BasicAuth (Вы должны снова включить эти настройки и добавить нового пользователя для установки учетных данных)

Iподозреваю, что поток OAuth может быть нарушен локальными настройками / конфигурацией SSL.

...