Namespace Line.OpenApi.Messaging
Classes
- MessagingClient
Facade for the Messaging API. It unifies the two Kiota clients for the control plane (api.line.me) and the data plane (api-data.line.me) so callers do not have to think about the host difference.
Usage: var line = MessagingClient.CreateWithStaticToken("CHANNEL_ACCESS_TOKEN"); await line.Api.V2.Bot.Message.Push.PostAsync(pushRequest); // send (control plane) var stream = await line.Blob.V2.Bot.Message[messageId].Content.GetAsync(); // fetch (data plane)
- RichMenuClient
Facade for the Rich Menu use case. Rich Menu spans both Messaging hosts — control operations on
api.line.meand image upload/download onapi-data.line.me— so this facade wraps a MessagingClient (which already solves the host split / BaseUrl handling) and exposes the common create → image → set-default → link flow through thin convenience methods.The generated builders remain available via Messaging (
.Apifor control,.Blobfor image data plane) for the less common operations (alias CRUD, bulk link/unlink, batch) that are intentionally not surfaced here.The image helpers are the main ergonomic value: SetImageFromFileAsync(string, string, CancellationToken) infers the required
image/png/image/jpegcontent type from the file extension, which LINE mandates for the upload (the generated builder requires it as an explicit argument).Usage: var rich = RichMenuClient.CreateWithStaticToken("CHANNEL_ACCESS_TOKEN"); var id = await rich.CreateAsync(new RichMenuRequest { /* ... */ }); await rich.SetImageFromFileAsync(id!, "menu.png"); await rich.SetDefaultAsync(id!);