Attivazione - Autenticazione
Verificare di aver attivato le API per il proprio utente alla pagina API: ATTIVAZIONE dove è possibile prendere visione della propria password di autenticazione. Il metodo di autenticazione previsto è HTTP Basic authentication (BA):
L'header Authorization è costruito in questo modo:
Username e password sono uniti nella stringa "username:password" che successivamente viene codificata con base64
Sul proprio backend è possibile trovare la stringa già codificata.
Esempio:
username: [email protected]
password: $avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5

                            
                                Authorization: Basic dGVzdEBlbWFpbC5pdDokYXZyMSRyMDc4YnNnbSRmMGRpb0tiQ0ptWkhGUElPdG1seHY1
                            
                        
PING
Ping the API: da usare per testare l'API REST, non necessita di autenticazione.
URL /ping
Method GET
Authentication NOT required
Response Status Codes:

406: Not Acceptable
415: Unsupported Media Type
200: OK
404: Not Found
Headers Content-Type:

application/vnd.leads.v1+json
application/json
Success Response Code: 200
Body:
                                            
{
    "ack": "Acknowledge the request with a timestamp"
}      
                                            
                                        
USER
Test autenticazione: da usare per testare l'API REST con autenticazione.
URL /user
Method GET
Authentication Required
Response Status Codes:

401: Unauthorized
403: Forbidden
406: Not Acceptable
415: Unsupported Media Type
200: OK
404: Not Found
Headers Content-Type:

application/vnd.leads.v1+json
application/json
Success Response Code: 200
Body:
                                            
{
    "email": "L'email dell'utente autenticato"
}      
                                            
                                        
LEADS
Restituisce i leads ricevuti (per default degli ultimi 6 mesi, modificabile con il parametro "date_from")
URL /leads
Method GET
Authentication Required
URL Params Optional

after_id=[numeric] Restituisce i lead successivi all'id
example: after_id=9999

date_from=[date] Restituisce i lead successivi la data indicata
example: date_from=2017-01-01

date_to=[date] Restituisce i lead precedenti alla data indicata
example: date_to=2017-01-01

new=TRUE Utile per scaricare solo i nuovi lead: ogni volta che viene usato viene memorizzato
l'ultimo lead restituito e alla successiva chiamata restituisce solo i successivi.
E' possibile usarlo con gli altri parametri
La memorizzazione dell'ultimo lead viene fatta solo quando è presente il parametro new=TRUE
example: new=TRUE
Response Status Codes:

406: Not Acceptable
415: Unsupported Media Type
200: OK
404: Not Found
401: Unauthorized
403: Forbidden
400: Bad Request error
Headers Content-Type:

application/vnd.leads.v1+json
application/json
Success Response Leads collection
Code: 200
Body:
                                            
 [
    {
         "id_lead": "300",
         "id_master_cliente": "38933r3ihrei9efneoin",
         "sito": "Masterin.it",
         "nome_master": "Master di test",
         "sede_master": "Torino",
         "data_invio": "2017-04-20",
         "email": "[email protected]",
         "nome": "Mario",
         "cognome": "Rossi",
         "titolo_studio": "LAUREA DI PRIMO LIVELLO",
         "laurea": "Scienze politiche",
         "nazione": "Italia",
         "regione": "Piemonte",
         "recapito": "3330000000",
         "messaggio": "Gradirei ricevere maggiori informazioni sul Master in oggetto"
    }
]

                                            
                                        
Descrizione LEAD
Nome Tipo Descrizione
id_lead int identificativo del lead
id_master_cliente string identificativo del master
sito string Nome del sito di provenienza del lead (es: 'Masterin.it')
nome_master string Master a cui è riferito il lead
sede_master string Sede del Master a cui è riferito il lead
data_invio date Data di ricezione del lead (es: 2017-04-20)
dati del richiedente informazioni
email string Email
nome string Nome
cognome string Cognome
titolo_studio string Titolo di studio
laurea string Laurea
nazione string Nazione
regione string Regione
recapito string Recapito
messaggio string Messaggio
ESEMPI

username: [email protected]
password: $avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5
                                        
$user = '[email protected]';
$pass = '$avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5';
$auth_code = base64_encode("$user:$pass");
                                            
$request = new HttpRequest();
$request->setUrl('https://api.masterinfo.eu/leads');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => "Basic $auth_code"
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
                                        
                                    
                                        
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://api.masterinfo.eu/leads",
  "method": "GET",
  "headers": {
    "authorization": "Basic dGVzdEBlbWFpbC5pdDokYXZyMSRyMDc4YnNnbSRmMGRpb0tiQ0ptWkhGUElPdG1seHY1",
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});     
                                        
                                    
                                        
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.masterinfo.eu",
  "port": null,
  "path": "/leads",
  "headers": {
    "authorization": "Basic dGVzdEBlbWFpbC5pdDokYXZyMSRyMDc4YnNnbSRmMGRpb0tiQ0ptWkhGUElPdG1seHY1",
    "cache-control": "no-cache"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();   
                                        
                                    
ESEMPI FILTRO DATA:
leads dal 1° gennaio 2017 ad adesso

username: [email protected]
password: $avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5
                                        
$user = '[email protected]';
$pass = '$avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5';
$auth_code = base64_encode("$user:$pass");
                                            
$request = new HttpRequest();
$request->setUrl('https://api.masterinfo.eu/leads');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'date_from' => '2017-01-01'
));

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => "Basic $auth_code"
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
                                        
                                    
                                        
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://api.masterinfo.eu/leads?date_from=2017-01-01",
  "method": "GET",
  "headers": {
    "authorization": "Basic dGVzdEBlbWFpbC5pdDokYXZyMSRyMDc4YnNnbSRmMGRpb0tiQ0ptWkhGUElPdG1seHY1",
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});     
                                        
                                    
                                        
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.masterinfo.eu",
  "port": null,
  "path": "/leads?date_from=2017-01-01",
  "headers": {
    "authorization": "Basic dGVzdEBlbWFpbC5pdDokYXZyMSRyMDc4YnNnbSRmMGRpb0tiQ0ptWkhGUElPdG1seHY1",
    "cache-control": "no-cache"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end(); 
                                        
                                    
INTEGRAZIONE UTILIZZANDO ZAPIER
E' possibile ricevere automaticamente i leads di MasterIN sul proprio CRM (e molto altro) utilizzando Zapier,
una piattaforma online che permette di integrare tra di loro diverse applicazioni e servizi web.
Qui i servizi integrati in Zapier: Integrations.
Vediamo come creare uno Zap (operazione di integrazione) partendo dall'evento di un nuovo lead:
Accedere a Zapier e creare un nuovo Zap
Come primo passo cercare la nostra App "MasterIN" e selezionarla
Nella seconda schermata verificare che sia selezinata l'app "MasterIN" e il Trigger "New Lead" e continuare
E' necessario creare un nuovo account per collegarsi alla nostra App (se non è già stato fatto)
Per creare l'account è sufficiente immetere le stesse credenziali (username e password) dell'autenticazione delle API
Una volta immesso l'account è possibile testare la connessione
Terminato il test le spunte dovrebbero essere tutte verdi e quindi la connessione con la nostra app è terminata
Ora è possibile proseguire l'integrazione con una tra le tante app presenti su Zapier
Per esempio proseguiamo l'integrazione con il CRM Zoho
Scegliamo l'azione da compiere su Zoho, per esempio la creazione di un nuovo Lead sul CRM
Anche qui dobbiamo creare un account per Zoho inserendo le proprie credenziali
Qui si passa a personalizzare l'integrazione con il CRM, scegliendo "Module", "Layout" e "Workflow"
Successivamete trovate i campi che caratterizzano un lead (o quello che avete scelto) su Zoho, ad ogni campo è possibile associare un campo del lead di MasterIn, come per esempio nome, cognome, email e recapito
Terminata l'associazione è possibile testare
Verificare che non vi siano errori e l'integrazione è terminata.
Poi è possibile proseguire il flusso del Zap aggiungendo altre azioni con altri servizi, altrimenti lo Zap è terminato.
Terminato lo Zap è necessario attivarlo in modo che lavori in automatico.