How to: l’Integrazione tra Business Central e Trello
Trello, uno strumento online per la gestione dei progetti e dei task personali.
Una delle richieste sempre più comuni è quella di integrare Business Central con altri software e portali. Oggi riportiamo l’esempio di un integrazione con il sito web di Trello.
Trello (https://trello.com/it) è uno strumento di base gratuito, formato da tre elementi chiave: la board, le list e le card.
- Le board (possono essere private o pubbliche) sono il contenitore principale di tutti i task.
- Le card, che contengono i vari task, sono organizzati all’interno di liste e rappresentano l’unità base.
L’obiettivo che ci siamo dati all’inizio di questo sviluppo è provare ad integrare Business Central con una bacheca creata su Trello per inviare verso il loro sito delle anagrafiche clienti (per esempio dei soggetti da contattare per campagne promozionali) e fornitori.
Per prima cosa abbiamo creato su Trello una bacheca con due list (Clienti\ Fornitori) seguendo la loro guida: https://trello.com/it/guide/trello-101.html
Sempre da Trello abbiamo poi preso alcune informazioni che ci serviranno per l’integrazione: la chiave API ed il Token: https://trello.com/app-key
A questo punto abbiamo consultato la documentazione sulle API di Trello che potete trovare a questo link: https://developer.atlassian.com/cloud/trello/rest/ ed abbiamo estratto da l’ultima informazione fondamentale: l’id della nostra board e list.
Per fare questo abbiamo creato una card di test ed abbiamo esportato il Json.
Le informazioni sono contenute nell’idBoard e l’idList.
A questo punto abbiamo tutte le informazioni per fare l’integrazione.
Ci spostiamo in Visual Studio Code, creiamo una page extension della customer card e un action che ci permette di inviare il cliente nella nostra bacheca su Trello
action(SENDTRELLO)
{
Caption = 'Send Customer To Trello';
Visible = true;
Image= Sendto;
ApplicationArea = All;
trigger OnAction()
var
client: HttpClient;
Path: Text;
RequestContent: HttpContent;
ResponseMessage: HttpResponseMessage;
StatusCode: text;
AuthHeaderValue: HttpHeaders;
Content: HttpContent;
Result: Text;
begin
Path :='https://api.trello.com/1/cards?key=20fb8653332….&token=a1fca508d75689ba5f…&name=' + rec."No." + ' - ' + rec.Name + '&idList=5fe21834211dab1e01c005a2';
Client.SetBaseAddress(path);
Client.DefaultRequestHeaders.Add('User-Agent', 'Dynamics 365');
if Client.Post(path, RequestContent, ResponseMessage) then begin
if ResponseMessage.IsSuccessStatusCode then begin
StatusCode := '00';
AuthHeaderValue := ResponseMessage.Headers;
Content := ResponseMessage.Content;
Content.ReadAs(Result);
end else begin
AuthHeaderValue := ResponseMessage.Headers;
Content := ResponseMessage.Content;
Content.ReadAs(Result);
StatusCode := Format(ResponseMessage.HttpStatusCode);
Error(format(ResponseMessage.HttpStatusCode) + Result)
end;
end;
end;
}
Pubblichiamo la page ext e ci troviamo la nostra azione sulla customer card
Clicchiamo sull’azione e sulla nostra bacheca ecco arrivare il cliente
Ripetendo la cosa per i fornitori (cambiando solo id della lista) raggiungiamo il nostro obiettivo.
Questo ovviamente è solo un esempio e un primo passo dell’integrazione e delle possibilità che offre Trello e delle potenzialità che Business Central ha per integrarsi con numerosi software disponibili su web.
Dynamics 365 Developer