Files
gru_emoney_token-factory/api/packages/grpc/packet.proto

76 lines
1.6 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package emoney.packet.v1;
option go_package = "github.com/emoney/packet/v1;packetv1";
// Packet service for non-scheme integration packets
service PacketService {
// Generate packet
rpc GeneratePacket(GeneratePacketRequest) returns (GeneratePacketResponse);
// Dispatch packet
rpc DispatchPacket(DispatchPacketRequest) returns (DispatchPacketResponse);
// Record acknowledgement
rpc RecordAcknowledgement(RecordAcknowledgementRequest) returns (RecordAcknowledgementResponse);
// Get packet status
rpc GetPacketStatus(GetPacketStatusRequest) returns (GetPacketStatusResponse);
}
message GeneratePacketRequest {
string trigger_id = 1;
string channel = 2;
map<string, string> options = 3;
}
message GeneratePacketResponse {
string packet_id = 1;
bytes payload_hash = 2;
string channel = 3;
string download_url = 4;
}
message DispatchPacketRequest {
string packet_id = 1;
string channel = 2;
string recipient = 3;
string idempotency_key = 4;
}
message DispatchPacketResponse {
string packet_id = 1;
string status = 2;
string message_ref = 3;
}
message RecordAcknowledgementRequest {
string packet_id = 1;
string status = 2;
string ack_id = 3;
string idempotency_key = 4;
}
message RecordAcknowledgementResponse {
string packet_id = 1;
bool recorded = 2;
}
message GetPacketStatusRequest {
string packet_id = 1;
}
message GetPacketStatusResponse {
string packet_id = 1;
string status = 2;
repeated Acknowledgement acknowledgements = 3;
}
message Acknowledgement {
string ack_id = 1;
int64 received_at = 2;
string status = 3;
}