# API Primotexto - FR

# Liste des fonctions PHP utilisables depuis notre librairie d'intégration.
# Pour toute demande spécifique, contactez-nous: api@primotexto.com

#############################################################################
#   VOUS DEVEZ AVOIR INSTALLE ET ACTIVE CURL POUR POUVOIR UTILISER CETTE    #
#   LIBRAIRIE.                                                              #
#   NOUS VONS CONSEILLONS EGALEMENT D'ÊTRE A JOUR SUR LES DERNIERES         #
#   VERSIONS STABLES D'OPENSSL/PHP/CURL/APACHE/...                          #
#############################################################################

    // Options
    // SSL & PROXY: See BaseManager.php

    // Download library -> https://www.primotexto.com/api/downloads/latest-php.asp
    require_once 'primotexto-api-php/baseManager.class.php';
        
    // Authentication
    authenticationManager::setApiKey('5e5232de2d72tf8e492de9013c5d9b4c');

    // Account Stats
    accountManager::accountStats();
    
    // Blacklists - bounces OR unsubscribers
    $blacklist = new Blacklist;
    $blacklist->type = 'unsubscribers'; // bounces OR unsubscribers
    accountManager::accountBlacklists($blacklist);
    
        // Add
        $blacklist = new Blacklist;
        $blacklist->type = 'unsubscribers'; // bounces OR unsubscribers
        $blacklist->identifier = '+33600000000';
        accountManager::accountBlacklistsAdd($blacklist);
        
        //Del
        $blacklist = new Blacklist;
        $blacklist->type = 'unsubscribers'; // bounces OR unsubscribers
        $blacklist->identifier = '+33600000000';
        accountManager::accountBlacklistsAdd($blacklist);
        
    // Verify identifier syntax
    messagesManager::messagesValidNumber('0123456789');
    
    // SMS
        // Send
        $sms = new Sms;
        $sms->type = 'notification'; // notification OR marketing
        $sms->number = '+33600000000';
        $sms->message = 'Test PHP v3.0';
        $sms->sender = 'YourCompany'; // between 3 and 11 alphanumerci caracters
        $sms->campaignName = 'Pool de tests';
        $sms->category = 'tests';
        messagesManager::messagesSend($sms);
    
        // Status by identifier
        $msg = new Query;
        $msg->identifier = '+33600000000';
        messagesManager::messagesStatus($msg);
        
        // Status by snapshotId
        $msg = new Query;
        $msg->snapshotId = '126877';
        messagesManager::messagesStatus($msg);
    
        // Callbacks
        $msg = new Query;
        $msg->category = 'tests';
        messagesManager::messagesCallbacks($msg);
   
        // Stats
        $msg = new Query;
        $msg->category = 'tests';
        messagesManager::messagesStats($msg);

        // Messages Blacklists
        $msg = new Query;
        $msg->category = 'tests';
        messagesManager::messagesBlacklists($msg);

    // Bulk
        // Lists
            // Simple
                // Add
                $newList = new PTList();
                $newList->name = 'Exemple de liste with fields';
                $list = listsManager::addList($newList);
                $listId = json_decode($listId)->id;
                
                // Get
                ListsManager::getLists();
                ListsManager::getList($listId);
                
                // Delete
                ListsManager::delList($listId);
                
                //Contacts
                    // Add
                    $newContact = new PTContact();
                    $newContact->listId = $listId;
                    $newContact->identifier = '+33600000000';
                    $contact = ListsManager::addContact($newContact);
                    $contactId = json_decode($contact)->id;
            
                    // Get
                    ListsManager::getContacts($listId);
                    
                    // Delete
                    $newContact = new PTContact();
                    $newContact->listId = $listId;
                    $newContact->identifier = '+33600000000'; // OR $newContact->id = $contactId;
                    ListsManager::delContact($newContact);
                    
            // Extended
                // Fields
                // Create a STRING field on list
                $newField = new PTField();
                $newField->listId= "$listId";
                $newField->name = 'Nom de famille'; // Field reference=${nom_de_famille}
                $newField->type = 'STRING';
                $field = ListsManager::addField($newField);
                $fieldId = json_decode($field)->id;
        
                // Create a DATE field on list
                $newField = new PTField();
                $newField->listId= "$listId";
                $newField->name = 'Anniversaire'; // Field reference=${anniversaire}
                $newField->type = 'DATE';
                $newField->format = 'dd/MM/yyyy'; // Formats: dd/MM/yyyy,dd/MM,MM/yyyy 
                $field = ListsManager::addField($newField);
                $fieldId = json_decode($field)->id;
    
                //Create a NUMBER field on list
                $newField = new PTField();
                $newField->listId= "$listId";
                $newField->name = 'Inscrit'; // Field reference=${inscrit}
                $newField->type = 'NUMBER';
                $field = ListsManager::addField($newField);
                $fieldId = json_decode($field)->id;

        
                // Add a contact with fields on list
                $newContact = new PTContact();
                $newContact->listId = $listId;
                $newContact->identifier = '+33600000000';
                $newContact->attributes["$nomDeFamilleId"] = "DUPONT";
                $newContact->attributes["$anniversaireId"] = "17/12/1978";
                $newContact->attributes["$inscritId"] = "1";
                ListsManager::addContact($newContact);

            // Campaigns
                // Create
                // Standard
                $newCampaign = new PTCampaign();
                $newCampaign->type = 'marketing';
                $newCampaign->name = 'PHP API - Standard';
                $newCampaign->message = 'Exemple de contenu de campagne en API PHP';
                $newCampaign->sendList = '551954f0e4b39e793123d95b';
                $newCampaign->sourceAddress = 'PT-PHP';
                $campaign = campaignsManager::campaignsCreate($newCampaign);

                // Standard with Fields
                $newCampaign = new PTCampaign();
                $newCampaign->type = 'marketing';
                $newCampaign->name = 'PHP API - Standard';
                $newCampaign->message = 'Exemple de contenu + Fields de campagne en API PHP. Monsieur ${nom_de_famille}, votre anniversaire est le ${anniversaire} !';
                $newCampaign->sendList = '551954f0e4b39e793123d95b';
                $newCampaign->sourceAddress = 'PT-PHP';
                $campaign = campaignsManager::campaignsCreate($newCampaign);
    
                // IntRich
                $newCampaign = new PTCampaign();
                $newCampaign->type = 'marketing';
                $newCampaign->name = 'PHP API - IntRich';
                $newCampaign->message = 'Exemple de contenu + Intrich ( ${rich_message} ) de campagne en API PHP';
                $newCampaign->sendList = '551954f0e4b39e793123d95b';
                $newCampaign->sourceAddress = 'PT-PHP';
                $newCampaign->landingPageType = 'CUSTOM';
                $newCampaign->landingPage = '<html>\n<head>\n\t<title>Titre de ma page ma page HTML</title>\n</head>\n<body>\n<p>Contenu de ma page HTML</p>\n</body>\n</html>\n';
                $newCampaign->landingPageTitle = 'Titre de ma page ma page HTML';
                $campaign = campaignsManager::campaignsCreate($newCampaign);
    
                // ExtRich 
                $newCampaign = new PTCampaign();
                $newCampaign->type = 'marketing';
                $newCampaign->name = 'PHP API - ExtRich';
                $newCampaign->message = 'Exemple de contenu + Extrich ( ${rich_message} ) de campagne en API PHP';
                $newCampaign->sendList = '551954f0e4b39e793123d95b';
                $newCampaign->sourceAddress = 'PT-PHP';
                $newCampaign->landingPageType = 'EXTERNAL';
                $newCampaign->externalUrl = 'http://www.votre-site.com/';
                $campaign = campaignsManager::campaignsCreate($newCampaign);
    

                // Test
                $newCampaign = new PTCampaign();
                $newCampaign->type = 'marketing';
                $newCampaign->id = '533c14d5e3b05a2eeeb66c03';      
                $newCampaign->identifier = '+33600000000';
                $testCampaign = campaignsManager::campaignsTest($newCampaign);
                    
                // Send
                $newCampaign = new PTCampaign();
                $newCampaign->type = 'marketing';
                $newCampaign->id = '533c14d5e3b05a2eeeb66c03';
                $testCampaign = campaignsManager::campaignsSend($newCampaign);
                        
                // Blacklists
                $newCampaign = new PTCampaign();
                $newCampaign->id = '533c14d5e3b05a2eeeb66c03';
                campaignsManager::campaignsBlacklists($newCampaign);
    
                // Callbacks
                $newCampaign = new PTCampaign();
                $newCampaign->id = '533c14d5e3b05a2eeeb66c03';
                campaignsManager::campaignsCallbacks($newCampaign);
                    
                // Stats
                $newCampaign = new PTCampaign();
                $newCampaign->id = '533c14d5e3b05a2eeeb66c03';
                campaignsManager::campaignsStats($newCampaign);

# ©Primotexto 2015 - https://www.primotexto.com/api/ - api@primotexto.com

