Seed web-services (API v2) knowledge domain (#45)

* Seed web-services (API v2) knowledge domain

Add eight web-services API page knowledge articles (each with .good.al/.bad.al samples), a new al-web-services-review leaf skill, and wire it into al-code-review and the README.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Trim web-services domain to 6 non-duplicative articles

Drop API entity-naming/camelCase and DelayedInsert articles (owned by the style domain). Reframe the committed-data and API-versioning articles to stay strictly within the endpoint design/behavior lane, and update the leaf skill's worklist tokens and Output example accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Jesper Schulz-Wedde 2026-06-25 12:37:40 +02:00 committed by GitHub
parent 6140a52b03
commit 13f47f65a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 774 additions and 2 deletions

View file

@ -0,0 +1,59 @@
page 50350 "WS Bound Action Good"
{
PageType = API;
Caption = 'salesOrder';
APIPublisher = 'contoso';
APIGroup = 'sales';
APIVersion = 'v1.0';
EntityName = 'salesOrder';
EntitySetName = 'salesOrders';
ODataKeyFields = SystemId;
SourceTable = "Sales Header";
DelayedInsert = true;
layout
{
area(content)
{
repeater(records)
{
field(id; Rec.SystemId)
{
Caption = 'id';
Editable = false;
}
field(number; Rec."No.")
{
Caption = 'number';
}
}
}
}
[ServiceEnabled]
procedure Post(var ActionContext: WebServiceActionContext)
var
PostHelper: Codeunit "WS Bound Action Helper";
begin
PostHelper.PostOrder(Rec);
SetActionResponse(ActionContext, Rec.SystemId);
end;
local procedure SetActionResponse(var ActionContext: WebServiceActionContext; CreatedId: Guid)
begin
ActionContext.SetObjectType(ObjectType::Page);
ActionContext.SetObjectId(Page::"WS Bound Action Good");
ActionContext.AddEntityKey(Rec.FieldNo(SystemId), CreatedId);
ActionContext.SetResultCode(WebServiceActionResultCode::Updated);
end;
}
codeunit 50352 "WS Bound Action Helper"
{
procedure PostOrder(var SalesHeader: Record "Sales Header")
var
SalesPost: Codeunit "Sales-Post";
begin
SalesPost.Run(SalesHeader);
end;
}