mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 17:36:53 +01:00
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9c2eebc4-dcd5-4b85-8113-90772d818900
35 lines
1.3 KiB
AL
35 lines
1.3 KiB
AL
codeunit 50216 "Privacy Sample Consent Good"
|
|
{
|
|
var
|
|
ExternalSyncNoticeIdLbl: Label 'CONTOSO-EXTERNAL-SYNC', Locked = true;
|
|
ExternalSyncNameLbl: Label 'Contoso External Sync', Locked = true;
|
|
PrivacyTermsUrlLbl: Label 'https://contoso.example/privacy', Locked = true;
|
|
|
|
internal procedure RegisterPrivacyNotice()
|
|
var
|
|
PrivacyNotice: Codeunit "Privacy Notice";
|
|
begin
|
|
PrivacyNotice.CreatePrivacyNotice(
|
|
ExternalSyncNoticeIdLbl, ExternalSyncNameLbl, PrivacyTermsUrlLbl);
|
|
end;
|
|
|
|
procedure SendDataToExternalService(Customer: Record Customer)
|
|
var
|
|
PrivacyNotice: Codeunit "Privacy Notice";
|
|
HttpClient: HttpClient;
|
|
Content: HttpContent;
|
|
Payload: JsonObject;
|
|
PayloadText: Text;
|
|
Response: HttpResponseMessage;
|
|
PrivacyConsentRequiredErr: Label 'Privacy notice consent is required for this integration.';
|
|
begin
|
|
if not PrivacyNotice.ConfirmPrivacyNoticeApproval(ExternalSyncNoticeIdLbl) then
|
|
Error(PrivacyConsentRequiredErr);
|
|
|
|
Payload.Add('email', Customer."E-Mail");
|
|
Payload.Add('name', Customer.Name);
|
|
Payload.WriteTo(PayloadText);
|
|
Content.WriteFrom(PayloadText);
|
|
HttpClient.Post('https://api.externalservice.com/sync', Content, Response);
|
|
end;
|
|
}
|