MASTERINFO REST APIs - Documentazione (v1)
Verificare di aver attivato le API per il proprio utente alla pagina API: ATTIVAZIONE
dove è possibile prendere visione della propria password di autenticazione.
Attenzione: le credenziali per le API sono diverse da quelle utilizzate per accedere al backend e sono disponibili solo nella pagina di attivazione API sopra indicata.
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
La stringa già codificata sarà disponibile nella pagina di attivazione API.
Esempio:
username: test@email.it
password: $avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5
Attenzione: le credenziali per le API sono diverse da quelle utilizzate per accedere al backend e sono disponibili solo nella pagina di attivazione API sopra indicata.
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
La stringa già codificata sarà disponibile nella pagina di attivazione API.
Esempio:
username: test@email.it
password: $avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5
Authorization: Basic dGVzdEBlbWFpbC5pdDokYXZyMSRyMDc4YnNnbSRmMGRpb0tiQ0ptWkhGUElPdG1seHY1
| 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+jsonapplication/json |
| Success Response |
Code: 200 Body:
|
| 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+jsonapplication/json |
| Success Response |
Code: 200 Body:
|
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 |
Optionalafter_id=[numeric]
Restituisce i lead successivi all'idexample: after_id=9999
date_from=[date]
Restituisce i lead successivi la data indicataexample: date_from=2017-01-01
date_to=[date]
Restituisce i lead precedenti alla data indicataexample: 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=TRUEexample: 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+jsonapplication/json |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Success Response |
Leads collection Code: 200 Body:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Descrizione LEAD |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$user = 'test@email.it';
$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 adessousername: test@email.it
password: $avr1$r078bsgm$f0dioKbCJmZHFPIOtmlxv5
$user = 'test@email.it';
$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:
Le schermate seguono l'editor Zapier attuale (canvas). Come esempio di app di destinazione usiamo Google Sheets; il flusso è identico con qualunque altra app. I dati del lead mostrati nel test sono di esempio.
-
Accedi a Zapier e crea un nuovo Zap.
Si apre l'editor a canvas con i blocchi Trigger e Action.
Clicca sul blocco Trigger.
-
Cerca e seleziona la nostra app MasterIN (ora pubblica: niente più invito né etichetta "Beta").
-
Nella scheda Setup, con l'app MasterIN impostata, apri Trigger event e seleziona New Lead.
-
Alla voce Account collega il tuo account inserendo le stesse credenziali (username e password)
dell'autenticazione delle API, seleziona l'account e clicca Continue.
-
Passa alla scheda Test e clicca Test trigger: vengono mostrati fino a 3 lead recenti.
Aprendo un record vedi tutti i campi, inclusi i due più recenti:
"Mezzo che ha generato il lead" (campo
fonte: form / chat / whatsapp) e "Preferenze informative selezionate" (campopreferences, una lista).
Nota: i 3 record sono solo un'anteprima; quando lo Zap è attivo vengono elaborati tutti i nuovi lead.
-
Ora prosegui con una delle tante app presenti su Zapier. Come esempio usiamo Google Sheets:
clicca sul blocco Action e seleziona l'app.
-
Scegli l'Action event (es. Create Spreadsheet Row), collega l'account dell'app di destinazione e clicca Continue.
-
Nella scheda Configure indica dove scrivere (per Google Sheets: Drive, Spreadsheet, Worksheet);
poi associa a ogni colonna un campo del lead MasterIN — nome, cognome, email, recapito e, novità,
fonteepreferences.
-
Entrambi i campi nuovi sono disponibili nel selettore dei dati del trigger:
"Mezzo che ha generato il lead" e "Preferenze informative selezionate".
-
Nella scheda Test clicca Test step per verificare (oppure Skip test).
Se è tutto a posto, clicca Publish in alto a destra per attivare lo Zap e farlo lavorare in automatico.
Puoi anche proseguire il flusso aggiungendo altre azioni con altri servizi.
