Hi, There is a default connector available for Business Central and dynamics CRM connection and this standard connector are completly free. Anyhow if you want to develop your own functionality below is the code to consume API's in Business Central.
procedure GetInvoices()
var
AssignmentsArr: JsonArray;
AssignmentCount: integer;
i: integer;
DocumentType: Text;
ResponseText: Text;
contentHeaders: HttpHeaders;
ResponseMessage: HttpResponseMessage;
vHttpRequestMessage: HttpRequestMessage;
JsonObj: JsonObject;
JsonTok: JsonToken;
Client: HttpClient;
begin
vHttpRequestMessage.GetHeaders(contentHeaders);
contentHeaders.Clear();
FakturaBoksSetup.Get();
uri := FB."Base URL" + 'api/NavBc/GetData/?CompanyCode=' + FB."Company Name";
vHttpRequestMessage.Method := 'GET';
contentHeaders.Add('Authorization', CreateBasicAuthHeader());
contentHeaders.Add('API_KEY', FakturaBoksSetup."Access Key");
vHttpRequestMessage.SetRequestUri(uri);
client.Send(vHttpRequestMessage, ResponseMessage);
ResponseMessage.Content().ReadAs(responseText);
JsonTok.ReadFrom(ResponseText);
if ResponseText = '' then
Message('Nothing to Import');
if jsonTok.IsArray then begin
AssignmentsArr := jsonTok.AsArray();
AssignmentCount := AssignmentsArr.Count();
for i := 0 to AssignmentCount - 1 do begin
IF AssignmentsArr.Get(i, jsonTok) then
JsonObj := jsonTok.AsObject();
if JsonObj.Get('DocumentType', jsonTok) then
DocumentType := jsonTok.AsValue().AsText();
GetInvoice(jsonTok, DocumentType);
end;
end;
end;
Hope this code work for you (smile).