procedure SendInvoiceToAPI(EncodedXML: Text; ClientId: Text; SecretKey: Text): Text
var
HttpClient: HttpClient;
HttpRequestMessage: HttpRequestMessage;
HttpResponseMessage: HttpResponseMessage;
RequestContent: HttpContent;
ResponseText: Text;
JsonBody: Text;
HttpHeaders: HttpHeaders;
begin
// إعداد JSON body
JsonBody := '{"invoice": "' + EncodedXML + '"}';
RequestContent.WriteFrom(JsonBody);
// إعداد رؤوس الطلب
RequestContent.GetHeaders(HttpHeaders);
HttpHeaders.Clear();
HttpHeaders.Add('Content-Type', 'application/json');
HttpHeaders.Add('Client-Id', ClientId);
HttpHeaders.Add('Secret-Key', SecretKey);
// إرسال الطلب
HttpRequestMessage.SetRequestUri('https://backend.jofotara.gov.jo/core/invoices/');
HttpRequestMessage.Method := 'POST';
HttpRequestMessage.Content := RequestContent;
if not HttpClient.Send(HttpRequestMessage, HttpResponseMessage) then begin
SaveBarcodeValue(Rec."No.", 'Error');
Error('Failed to call the API.');
end;
// قراءة الاستجابة
HttpResponseMessage.Content.ReadAs(ResponseText);
// التØÙ‚Ù‚ من استجابة API
if not HttpResponseMessage.IsSuccessStatusCode then begin
SaveBarcodeValue(Rec."No.", 'Error');
Error('API request failed with status code: %1. Response: %2', HttpResponseMessage.HttpStatusCode, ResponseText);
end;
exit(ResponseText);
end;