bcquality/microsoft/knowledge/privacy/privacy-notice-consent-for-external-data-transfer.good.al
Jesper Schulz-Wedde ec8f891954 Correct security and privacy guidance
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9c2eebc4-dcd5-4b85-8113-90772d818900
2026-07-14 10:45:42 +02:00

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;
}