Files
sendico/api/proto/envelope.proto

34 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/tech/sendico/pkg/generated/gmessaging";
// NotificationEvent identifies the type and action of an event for routing.
message NotificationEvent {
// type is the notification category (e.g. "payment", "account").
string type = 1;
// action is the specific event action (e.g. "created", "settled").
string action = 2;
}
// EventMetadata carries provenance information for a published event.
message EventMetadata {
// sender identifies the originating service.
string sender = 1;
// message_id is the unique identifier of this event message.
string message_id = 2;
// timestamp is the time the event was published.
google.protobuf.Timestamp timestamp = 3;
}
// Envelope wraps a serialised event payload with routing and metadata.
message Envelope {
// event describes the notification type and action for routing.
NotificationEvent event = 2;
// message_data is the serialised protobuf payload.
bytes message_data = 3;
// metadata carries provenance information about the event.
EventMetadata metadata = 4;
}