gRPC Reference
Hợp đồng gRPC sinh tự động từ proto/. Mô tả lấy từ comment trong file .proto (tiếng Anh). Tải file tại justo-proto.zip.
Services
Phần tiêu đề “Services”auth.AttestationService
Phần tiêu đề “auth.AttestationService”AttestationService.GetChallenge
Phần tiêu đề “AttestationService.GetChallenge”rpc GetChallenge(google.protobuf.Empty) returns (justo.common.StandardResponse);- Request:
google.protobuf.Empty - Response: justo.common.StandardResponse
auth.AuthenticationService
Phần tiêu đề “auth.AuthenticationService”AuthenticationService.InitSession
Phần tiêu đề “AuthenticationService.InitSession”rpc InitSession(auth.InitSessionRequest) returns (justo.common.StandardResponse);- Request: auth.InitSessionRequest
- Response: justo.common.StandardResponse
justo.identity.IdentityService
Phần tiêu đề “justo.identity.IdentityService”IdentityService.AuthLogout
Phần tiêu đề “IdentityService.AuthLogout”rpc AuthLogout(google.protobuf.Empty) returns (justo.common.StandardResponse);- Request:
google.protobuf.Empty - Response: justo.common.StandardResponse
IdentityService.VerifyEmail
Phần tiêu đề “IdentityService.VerifyEmail”rpc VerifyEmail(justo.identity.VerifyEmailRequest) returns (justo.common.StandardResponse);- Request: justo.identity.VerifyEmailRequest
- Response: justo.common.StandardResponse
IdentityService.VerifyOtpEmail
Phần tiêu đề “IdentityService.VerifyOtpEmail”rpc VerifyOtpEmail(justo.identity.VerifyOtpEmailRequest) returns (justo.common.StandardResponse);- Request: justo.identity.VerifyOtpEmailRequest
- Response: justo.common.StandardResponse
IdentityService.VerifyPhone
Phần tiêu đề “IdentityService.VerifyPhone”rpc VerifyPhone(justo.identity.VerifyPhoneRequest) returns (justo.common.StandardResponse);- Request: justo.identity.VerifyPhoneRequest
- Response: justo.common.StandardResponse
IdentityService.VerifyOtpPhone
Phần tiêu đề “IdentityService.VerifyOtpPhone”rpc VerifyOtpPhone(justo.identity.VerifyOtpPhoneRequest) returns (justo.common.StandardResponse);- Request: justo.identity.VerifyOtpPhoneRequest
- Response: justo.common.StandardResponse
IdentityService.Register
Phần tiêu đề “IdentityService.Register”rpc Register(justo.identity.RegisterRequest) returns (justo.common.StandardResponse);- Request: justo.identity.RegisterRequest
- Response: justo.common.StandardResponse
IdentityService.RegisterBasicInfo
Phần tiêu đề “IdentityService.RegisterBasicInfo”rpc RegisterBasicInfo(justo.identity.RegisterBasicInfoRequest) returns (justo.common.StandardResponse);- Request: justo.identity.RegisterBasicInfoRequest
- Response: justo.common.StandardResponse
IdentityService.CreatePinCode
Phần tiêu đề “IdentityService.CreatePinCode”rpc CreatePinCode(justo.identity.CreatePinCodeRequest) returns (justo.common.StandardResponse);- Request: justo.identity.CreatePinCodeRequest
- Response: justo.common.StandardResponse
IdentityService.SelectUpgradeOption
Phần tiêu đề “IdentityService.SelectUpgradeOption”rpc SelectUpgradeOption(justo.identity.SelectUpgradeOptionRequest) returns (justo.common.StandardResponse);- Request: justo.identity.SelectUpgradeOptionRequest
- Response: justo.common.StandardResponse
IdentityService.VerifyPassword
Phần tiêu đề “IdentityService.VerifyPassword”rpc VerifyPassword(justo.identity.VerifyPasswordRequest) returns (justo.common.StandardResponse);- Request: justo.identity.VerifyPasswordRequest
- Response: justo.common.StandardResponse
IdentityService.SocialNonce
Phần tiêu đề “IdentityService.SocialNonce”rpc SocialNonce(google.protobuf.Empty) returns (justo.common.StandardResponse);- Request:
google.protobuf.Empty - Response: justo.common.StandardResponse
IdentityService.SocialLogin
Phần tiêu đề “IdentityService.SocialLogin”rpc SocialLogin(justo.identity.SocialLoginRequest) returns (justo.common.StandardResponse);- Request: justo.identity.SocialLoginRequest
- Response: justo.common.StandardResponse
IdentityService.EnrollFace
Phần tiêu đề “IdentityService.EnrollFace”rpc EnrollFace(justo.identity.EnrollFaceRequest) returns (justo.common.StandardResponse);- Request: justo.identity.EnrollFaceRequest
- Response: justo.common.StandardResponse
smtm.gateway.v1.GatewayService
Phần tiêu đề “smtm.gateway.v1.GatewayService”GatewayService.SendEmail
Phần tiêu đề “GatewayService.SendEmail”rpc SendEmail(smtm.gateway.v1.SendEmailRequest) returns (smtm.gateway.v1.SendMessageResponse);Send raw email
- Request: smtm.gateway.v1.SendEmailRequest
- Response: smtm.gateway.v1.SendMessageResponse
GatewayService.SendEmailTemplate
Phần tiêu đề “GatewayService.SendEmailTemplate”rpc SendEmailTemplate(smtm.gateway.v1.SendEmailTemplateRequest) returns (smtm.gateway.v1.SendMessageResponse);Send email using a predefined template
- Request: smtm.gateway.v1.SendEmailTemplateRequest
- Response: smtm.gateway.v1.SendMessageResponse
GatewayService.SendSMS
Phần tiêu đề “GatewayService.SendSMS”rpc SendSMS(smtm.gateway.v1.SendSMSRequest) returns (smtm.gateway.v1.SendMessageResponse);Send raw SMS
- Request: smtm.gateway.v1.SendSMSRequest
- Response: smtm.gateway.v1.SendMessageResponse
GatewayService.SendSMSTemplate
Phần tiêu đề “GatewayService.SendSMSTemplate”rpc SendSMSTemplate(smtm.gateway.v1.SendSMSTemplateRequest) returns (smtm.gateway.v1.SendMessageResponse);Send SMS using a template
- Request: smtm.gateway.v1.SendSMSTemplateRequest
- Response: smtm.gateway.v1.SendMessageResponse
GatewayService.SendWhatsApp
Phần tiêu đề “GatewayService.SendWhatsApp”rpc SendWhatsApp(smtm.gateway.v1.SendWhatsAppRequest) returns (smtm.gateway.v1.SendMessageResponse);Send raw WhatsApp message
- Request: smtm.gateway.v1.SendWhatsAppRequest
- Response: smtm.gateway.v1.SendMessageResponse
GatewayService.SendWhatsAppTemplate
Phần tiêu đề “GatewayService.SendWhatsAppTemplate”rpc SendWhatsAppTemplate(smtm.gateway.v1.SendWhatsAppTemplateRequest) returns (smtm.gateway.v1.SendMessageResponse);Send WhatsApp message using a template
- Request: smtm.gateway.v1.SendWhatsAppTemplateRequest
- Response: smtm.gateway.v1.SendMessageResponse
GatewayService.ListMessages
Phần tiêu đề “GatewayService.ListMessages”rpc ListMessages(smtm.gateway.v1.ListMessagesRequest) returns (smtm.gateway.v1.ListMessagesResponse);List messages with pagination and filtering
- Request: smtm.gateway.v1.ListMessagesRequest
- Response: smtm.gateway.v1.ListMessagesResponse
GatewayService.GetMessageDetail
Phần tiêu đề “GatewayService.GetMessageDetail”rpc GetMessageDetail(smtm.gateway.v1.GetMessageDetailRequest) returns (smtm.gateway.v1.GetMessageDetailResponse);Get message detail by tracking_id
- Request: smtm.gateway.v1.GetMessageDetailRequest
- Response: smtm.gateway.v1.GetMessageDetailResponse
GatewayService.GetTemplate
Phần tiêu đề “GatewayService.GetTemplate”rpc GetTemplate(smtm.gateway.v1.GetTemplateRequest) returns (smtm.common.v1.TemplateInfo);Get template by ID
- Request: smtm.gateway.v1.GetTemplateRequest
- Response: smtm.common.v1.TemplateInfo
GatewayService.GetTemplateByName
Phần tiêu đề “GatewayService.GetTemplateByName”rpc GetTemplateByName(smtm.gateway.v1.GetTemplateByNameRequest) returns (smtm.common.v1.TemplateInfo);Get template by Name
- Request: smtm.gateway.v1.GetTemplateByNameRequest
- Response: smtm.common.v1.TemplateInfo
GatewayService.ListTemplates
Phần tiêu đề “GatewayService.ListTemplates”rpc ListTemplates(smtm.gateway.v1.ListTemplatesRequest) returns (smtm.gateway.v1.ListTemplatesResponse);List templates
- Request: smtm.gateway.v1.ListTemplatesRequest
- Response: smtm.gateway.v1.ListTemplatesResponse
GatewayService.CheckSuppression
Phần tiêu đề “GatewayService.CheckSuppression”rpc CheckSuppression(smtm.gateway.v1.CheckSuppressionRequest) returns (smtm.gateway.v1.CheckSuppressionResponse);Check if a recipient is suppressed
- Request: smtm.gateway.v1.CheckSuppressionRequest
- Response: smtm.gateway.v1.CheckSuppressionResponse
GatewayService.SendPushNotification
Phần tiêu đề “GatewayService.SendPushNotification”rpc SendPushNotification(smtm.gateway.v1.SendPushNotificationRequest) returns (smtm.gateway.v1.SendPushNotificationResponse);Send a push notification to devices / users
- Request: smtm.gateway.v1.SendPushNotificationRequest
- Response: smtm.gateway.v1.SendPushNotificationResponse
GatewayService.SendPushNotificationTemplate
Phần tiêu đề “GatewayService.SendPushNotificationTemplate”rpc SendPushNotificationTemplate(smtm.gateway.v1.SendPushNotificationTemplateRequest) returns (smtm.gateway.v1.SendPushNotificationResponse);Send a push notification rendered from a template
- Request: smtm.gateway.v1.SendPushNotificationTemplateRequest
- Response: smtm.gateway.v1.SendPushNotificationResponse
GatewayService.SendPushNotificationBatch
Phần tiêu đề “GatewayService.SendPushNotificationBatch”rpc SendPushNotificationBatch(smtm.gateway.v1.SendPushNotificationBatchRequest) returns (smtm.gateway.v1.SendPushNotificationBatchResponse);Send one event notification to many devices / users
- Request: smtm.gateway.v1.SendPushNotificationBatchRequest
- Response: smtm.gateway.v1.SendPushNotificationBatchResponse
GatewayService.RegisterDevice
Phần tiêu đề “GatewayService.RegisterDevice”rpc RegisterDevice(smtm.gateway.v1.RegisterDeviceRequest) returns (smtm.gateway.v1.RegisterDeviceResponse);Register a device for push notifications
- Request: smtm.gateway.v1.RegisterDeviceRequest
- Response: smtm.gateway.v1.RegisterDeviceResponse
Messages
Phần tiêu đề “Messages”justo.common.StandardResponse
Phần tiêu đề “justo.common.StandardResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
code |
int32 |
1 | Business result code. 0 is success; 1000-1999 are auth and attestation errors; 2000-2999 are identity errors. |
message |
string |
2 | Debug or display text. Clients must not branch on it. |
payload |
google.protobuf.Any |
3 | Generic payload message wrapped as Any. Null when empty or error. |
auth.GetChallengePayload
Phần tiêu đề “auth.GetChallengePayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
challenge_jwt |
string |
1 | EdDSA JWT signed with the preshare key. Claim challenge is 32 random bytes (base64), exp = iat + 5 minutes. |
auth.JWK
Phần tiêu đề “auth.JWK”JSON Web Key (RFC 7517) for an EC P-256 public key. x and y are base64url without padding (32 bytes each, 43 characters).
| Field | Type | Số | Mô tả |
|---|---|---|---|
kty |
string |
1 | Key type. Must be “EC”. |
crv |
string |
2 | Curve. Must be “P-256”. |
x |
string |
3 | |
y |
string |
4 | |
d |
string |
5 | Private part. Must be absent in a client certificate. |
alg |
string |
6 | Optional JWS algorithm. When set, must be “ES256”. |
auth.CertificateJWT
Phần tiêu đề “auth.CertificateJWT”Certificate of the client for the JWT factor. ECDSA P-256 public key (ES256).
| Field | Type | Số | Mô tả |
|---|---|---|---|
public_key |
auth.JWK | 1 | |
algorithm |
string |
2 | Key type, required, must be “P-256”. Not the JWT header alg. |
scopes |
string |
3 | Comma-separated scopes, e.g. “read,write,admin”. |
auth.CertificateP256
Phần tiêu đề “auth.CertificateP256”Client certificate for the ECDH key exchange with P-256.
| Field | Type | Số | Mô tả |
|---|---|---|---|
public_key |
auth.JWK | 1 | |
algorithm |
string |
2 | Key type, required, must be “P-256”. Not the JWT header alg. |
salt |
bytes |
3 | SA: client salt, 32 bytes, used with ECDH to derive the AES-256-GCM key (HKDF-SHA256). |
auth.AttestationChallenge
Phần tiêu đề “auth.AttestationChallenge”Proof of device identity. Platform decides which fields are required: IOS uses challenge_jwt, x_key_id and x_challenge_response; ANDROID uses android_token.
| Field | Type | Số | Mô tả |
|---|---|---|---|
platform |
string |
1 | |
device_uuid |
string |
2 | Device identifier, 1 to 32 characters. |
challenge_jwt |
string |
3 | IOS only. JWT from GET /v1/attestation/get-challenge, expires after 5 minutes. |
x_key_id |
string |
4 | IOS only. App Attest key ID. |
x_challenge_response |
string |
5 | IOS only. Attestation object, base64. |
android_token |
string |
6 | ANDROID only. Android attestation token. |
auth.InitSessionRequest
Phần tiêu đề “auth.InitSessionRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
user_id |
string |
1 | Hex-encoded user ID. Empty for a new, unidentified flow. |
client_jwt_cert |
auth.CertificateJWT | 2 | |
client_sensitive_jwt_cert |
auth.CertificateJWT | 3 | |
client_p256_cert |
auth.CertificateP256 | 4 | |
attestation |
auth.AttestationChallenge | 5 |
auth.SessionClaim
Phần tiêu đề “auth.SessionClaim”Claim payload carried inside InitSessionPayload.jwt_token.
| Field | Type | Số | Mô tả |
|---|---|---|---|
session_id |
string |
1 | |
public_key |
bytes |
2 | Server ECDH public key, raw uncompressed P-256 point: 0x04 || X || Y (65 bytes). |
algorithm |
string |
3 | Defaults to “P-256” when empty. Key type, not the JWT header alg. |
salt |
bytes |
4 | SB ciphertext: AES-256-GCM(key, SB, aad = session_id), encoded as nonce || ciphertext || tag (60 bytes). |
auth.InitSessionPayload
Phần tiêu đề “auth.InitSessionPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
jwt_token |
string |
1 | JWT signed with the preshare key (Ed25519). |
justo.identity.SocialLoginPayload
Phần tiêu đề “justo.identity.SocialLoginPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
id |
string |
1 | |
display_name |
string |
2 | |
next_step |
justo.common.Step | 3 | |
phone |
string |
4 |
justo.identity.VerifyEmailRequest
Phần tiêu đề “justo.identity.VerifyEmailRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
email |
string |
1 |
justo.identity.VerifyEmailPayload
Phần tiêu đề “justo.identity.VerifyEmailPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 | |
otp_id |
string |
2 |
justo.identity.VerifyOtpEmailRequest
Phần tiêu đề “justo.identity.VerifyOtpEmailRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
otp_id |
string |
1 | |
otp |
string |
2 |
justo.identity.VerifyOtpEmailPayload
Phần tiêu đề “justo.identity.VerifyOtpEmailPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 | |
phone |
string |
2 |
justo.identity.VerifyPhoneRequest
Phần tiêu đề “justo.identity.VerifyPhoneRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
phone |
string |
1 |
justo.identity.VerifyPhonePayload
Phần tiêu đề “justo.identity.VerifyPhonePayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 | |
otp_id |
string |
2 |
justo.identity.VerifyOtpPhoneRequest
Phần tiêu đề “justo.identity.VerifyOtpPhoneRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
otp_id |
string |
1 | |
otp |
string |
2 |
justo.identity.VerifyOtpPhonePayload
Phần tiêu đề “justo.identity.VerifyOtpPhonePayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 | |
salt |
string |
2 | Deprecated: ‘salt’ is no longer used directly; use ‘jwtToken’ instead. |
jwt_token |
string |
3 | JWT token for the session containing ‘salt’ and the user’s authentication information |
justo.identity.RegisterRequest
Phần tiêu đề “justo.identity.RegisterRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
password |
string |
1 |
justo.identity.RegisterPayload
Phần tiêu đề “justo.identity.RegisterPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 |
justo.identity.RegisterBasicInfoRequest
Phần tiêu đề “justo.identity.RegisterBasicInfoRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
given_name |
string |
1 | |
paternal_surname |
string |
2 | |
maternal_surname |
string |
3 | |
date_of_birth |
string |
4 | |
gender |
justo.common.Gender | 5 |
justo.identity.RegisterBasicInfoPayload
Phần tiêu đề “justo.identity.RegisterBasicInfoPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 |
justo.identity.CreatePinCodeRequest
Phần tiêu đề “justo.identity.CreatePinCodeRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
pin_code |
string |
1 |
justo.identity.CreatePinCodePayload
Phần tiêu đề “justo.identity.CreatePinCodePayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 |
justo.identity.VerifyPasswordRequest
Phần tiêu đề “justo.identity.VerifyPasswordRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
password |
string |
1 |
justo.identity.VerifyPasswordPayload
Phần tiêu đề “justo.identity.VerifyPasswordPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 | |
phone |
string |
2 |
justo.identity.SocialNonceRequest
Phần tiêu đề “justo.identity.SocialNonceRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
session_id |
string |
1 | Deprecated: no longer used. |
justo.identity.SocialNoncePayload
Phần tiêu đề “justo.identity.SocialNoncePayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
nonce |
string |
1 | |
expires_at |
string |
2 |
justo.identity.SocialLoginRequest
Phần tiêu đề “justo.identity.SocialLoginRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
provider |
string |
1 | |
id_token |
string |
2 |
justo.identity.EnrollFaceRequest
Phần tiêu đề “justo.identity.EnrollFaceRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
face |
bytes |
1 | |
face_wide_angle |
bytes |
2 | |
face_3d |
bytes |
3 | |
content_type |
string |
4 |
justo.identity.EnrollFacePayload
Phần tiêu đề “justo.identity.EnrollFacePayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 | |
biometric_id |
string |
2 |
justo.identity.SelectUpgradeOptionRequest
Phần tiêu đề “justo.identity.SelectUpgradeOptionRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
upgrade_option |
justo.common.UpgradeOption | 1 |
justo.identity.SelectUpgradeOptionPayload
Phần tiêu đề “justo.identity.SelectUpgradeOptionPayload”| Field | Type | Số | Mô tả |
|---|---|---|---|
next_step |
justo.common.Step | 1 |
smtm.common.v1.Attachment
Phần tiêu đề “smtm.common.v1.Attachment”| Field | Type | Số | Mô tả |
|---|---|---|---|
filename |
string |
1 | |
content_type |
string |
2 | |
content |
bytes |
3 |
smtm.common.v1.MessageItem
Phần tiêu đề “smtm.common.v1.MessageItem”MessageItem represents a summary record of a sent message.
| Field | Type | Số | Mô tả |
|---|---|---|---|
tracking_id |
string |
1 | |
status |
smtm.common.v1.MessageStatus | 2 | |
sender |
string |
3 | |
receiver |
string |
4 | |
subject |
string |
5 | |
created_at |
int64 |
6 | |
sent_at |
int64 |
7 | |
read_at |
int64 |
8 | |
channel |
smtm.common.v1.MessageChannel | 9 | |
type |
smtm.common.v1.MessageType | 10 | |
delivery_status |
smtm.common.v1.DeliveryStatus | 11 |
smtm.common.v1.SentEventMetadata
Phần tiêu đề “smtm.common.v1.SentEventMetadata”| Field | Type | Số | Mô tả |
|---|---|---|---|
provider |
string |
1 | |
provider_msg_id |
string |
2 |
smtm.common.v1.FailedEventMetadata
Phần tiêu đề “smtm.common.v1.FailedEventMetadata”| Field | Type | Số | Mô tả |
|---|---|---|---|
fail_reason |
string |
1 |
smtm.common.v1.BouncedEventMetadata
Phần tiêu đề “smtm.common.v1.BouncedEventMetadata”| Field | Type | Số | Mô tả |
|---|---|---|---|
bounce_type |
string |
1 |
smtm.common.v1.ComplainedEventMetadata
Phần tiêu đề “smtm.common.v1.ComplainedEventMetadata”| Field | Type | Số | Mô tả |
|---|---|---|---|
feedback_type |
string |
1 | |
feedback_id |
string |
2 |
smtm.common.v1.RejectedEventMetadata
Phần tiêu đề “smtm.common.v1.RejectedEventMetadata”| Field | Type | Số | Mô tả |
|---|---|---|---|
reject_reason |
string |
1 |
smtm.common.v1.DispatchedEventMetadata
Phần tiêu đề “smtm.common.v1.DispatchedEventMetadata”| Field | Type | Số | Mô tả |
|---|---|---|---|
provider |
string |
1 | |
provider_msg_id |
string |
2 |
smtm.common.v1.MessageEvent
Phần tiêu đề “smtm.common.v1.MessageEvent”| Field | Type | Số | Mô tả |
|---|---|---|---|
id |
string |
1 | |
message_id |
string |
2 | |
event_type |
string |
3 | |
timestamp |
int64 |
4 | Event occurrence timestamp in Unix epoch milliseconds |
created_at |
int64 |
5 | Event ingestion timestamp in Unix epoch milliseconds |
sent_metadata |
smtm.common.v1.SentEventMetadata | 6 | |
failed_metadata |
smtm.common.v1.FailedEventMetadata | 7 | |
bounced_metadata |
smtm.common.v1.BouncedEventMetadata | 8 | |
complained_metadata |
smtm.common.v1.ComplainedEventMetadata | 9 | |
rejected_metadata |
smtm.common.v1.RejectedEventMetadata | 10 | |
dispatched_metadata |
smtm.common.v1.DispatchedEventMetadata | 11 |
smtm.common.v1.Pagination
Phần tiêu đề “smtm.common.v1.Pagination”| Field | Type | Số | Mô tả |
|---|---|---|---|
limit |
int32 |
1 | |
last_id |
string |
2 | |
total |
int64 |
3 |
smtm.common.v1.SuppressionItem
Phần tiêu đề “smtm.common.v1.SuppressionItem”SuppressionItem represents a suppressed recipient record across all services.
| Field | Type | Số | Mô tả |
|---|---|---|---|
id |
string |
1 | |
message_id |
string |
2 | |
receiver |
string |
3 | |
type |
smtm.common.v1.MessageType | 4 | |
reason |
string |
5 | |
source |
string |
6 | |
raw_payload |
string |
7 | |
created_at |
int64 |
8 | |
updated_at |
int64 |
9 |
smtm.common.v1.TemplateInfo
Phần tiêu đề “smtm.common.v1.TemplateInfo”TemplateInfo represents core template details shared across services.
| Field | Type | Số | Mô tả |
|---|---|---|---|
template_id |
string |
1 | |
name |
string |
2 | |
subject |
string |
3 | |
body |
string |
4 | |
description |
string |
5 | |
channel |
smtm.common.v1.MessageChannel | 6 | |
is_active |
bool |
7 | |
type |
smtm.common.v1.MessageType | 8 | |
required_vars |
repeated string |
9 | |
created_at |
int64 |
10 | |
updated_at |
int64 |
11 | |
var_positions |
map<string, int32> | 12 | |
button_var_positions |
map<string, int32> | 13 |
smtm.gateway.v1.SendMessageResponse
Phần tiêu đề “smtm.gateway.v1.SendMessageResponse”SendMessageResponse represents the unified response for all message dispatch RPCs.
| Field | Type | Số | Mô tả |
|---|---|---|---|
tracking_ids |
map<string, string> | 1 |
smtm.gateway.v1.SendEmailRequest
Phần tiêu đề “smtm.gateway.v1.SendEmailRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
sender |
string |
1 | |
receivers |
repeated string |
2 | |
subject |
string |
3 | |
body |
string |
4 | |
channel |
smtm.common.v1.MessageChannel | 5 | |
attachments |
repeated smtm.common.v1.Attachment | 6 |
smtm.gateway.v1.SendEmailTemplateRequest
Phần tiêu đề “smtm.gateway.v1.SendEmailTemplateRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
sender |
string |
1 | |
template_id |
string |
2 | |
vars |
map<string, string> | 3 | |
receivers |
repeated string |
4 | |
attachments |
repeated smtm.common.v1.Attachment | 5 | |
template_name |
string |
6 |
smtm.gateway.v1.SendSMSRequest
Phần tiêu đề “smtm.gateway.v1.SendSMSRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
sender |
string |
1 | |
receivers |
repeated string |
2 | |
body |
string |
3 | |
channel |
smtm.common.v1.MessageChannel | 4 |
smtm.gateway.v1.SendSMSTemplateRequest
Phần tiêu đề “smtm.gateway.v1.SendSMSTemplateRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
receivers |
repeated string |
1 | |
template_id |
string |
2 | |
vars |
map<string, string> | 3 | |
sender |
string |
4 | |
template_name |
string |
5 |
smtm.gateway.v1.SendWhatsAppRequest
Phần tiêu đề “smtm.gateway.v1.SendWhatsAppRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
receivers |
repeated string |
1 | |
body |
string |
2 | |
channel |
smtm.common.v1.MessageChannel | 3 | |
sender |
string |
4 |
smtm.gateway.v1.SendWhatsAppTemplateRequest
Phần tiêu đề “smtm.gateway.v1.SendWhatsAppTemplateRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
receivers |
repeated string |
1 | |
template_id |
string |
2 | |
vars |
map<string, string> | 3 | |
sender |
string |
4 | |
client_id |
string |
5 | |
template_name |
string |
6 |
smtm.gateway.v1.ListMessagesRequest
Phần tiêu đề “smtm.gateway.v1.ListMessagesRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
last_id |
string |
1 | |
client_id |
string |
2 | |
receiver |
string |
3 | |
type |
smtm.common.v1.MessageType | 4 | |
status |
string |
5 | |
channel |
smtm.common.v1.MessageChannel | 6 | |
from_time |
int64 |
7 | |
to_time |
int64 |
8 | |
limit |
int32 |
9 | |
tracking_id |
string |
10 | |
delivery_status |
string |
11 |
smtm.gateway.v1.ListMessagesResponse
Phần tiêu đề “smtm.gateway.v1.ListMessagesResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
items |
repeated smtm.common.v1.MessageItem | 1 | |
pagination |
smtm.common.v1.Pagination | 2 |
smtm.gateway.v1.GetMessageDetailRequest
Phần tiêu đề “smtm.gateway.v1.GetMessageDetailRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
tracking_id |
string |
1 |
smtm.gateway.v1.GetMessageDetailResponse
Phần tiêu đề “smtm.gateway.v1.GetMessageDetailResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
tracking_id |
string |
1 | |
status |
smtm.common.v1.MessageStatus | 2 | |
delivery_status |
smtm.common.v1.DeliveryStatus | 3 | |
sender |
string |
4 | |
receiver |
string |
5 | |
subject |
string |
6 | |
body |
string |
7 | |
channel |
smtm.common.v1.MessageChannel | 8 | |
type |
smtm.common.v1.MessageType | 9 | |
client_id |
string |
10 | |
template_id |
string |
11 | |
vars |
map<string, string> | 12 | |
provider_used |
string |
13 | |
created_at |
int64 |
15 | |
events |
repeated smtm.common.v1.MessageEvent | 16 |
smtm.gateway.v1.GetTemplateRequest
Phần tiêu đề “smtm.gateway.v1.GetTemplateRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
template_id |
string |
1 |
smtm.gateway.v1.GetTemplateByNameRequest
Phần tiêu đề “smtm.gateway.v1.GetTemplateByNameRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
name |
string |
1 |
smtm.gateway.v1.ListTemplatesRequest
Phần tiêu đề “smtm.gateway.v1.ListTemplatesRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
name |
string |
1 | |
type |
smtm.common.v1.MessageType | 2 | |
channel |
smtm.common.v1.MessageChannel | 3 | |
is_active |
bool |
4 |
smtm.gateway.v1.ListTemplatesResponse
Phần tiêu đề “smtm.gateway.v1.ListTemplatesResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
items |
repeated smtm.common.v1.TemplateInfo | 1 | |
total_count |
int64 |
2 |
smtm.gateway.v1.CheckSuppressionRequest
Phần tiêu đề “smtm.gateway.v1.CheckSuppressionRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
receiver |
string |
1 | |
type |
smtm.common.v1.MessageType | 2 |
smtm.gateway.v1.CheckSuppressionResponse
Phần tiêu đề “smtm.gateway.v1.CheckSuppressionResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
is_suppressed |
bool |
1 | |
item |
smtm.common.v1.SuppressionItem | 2 |
smtm.gateway.v1.PushOptions
Phần tiêu đề “smtm.gateway.v1.PushOptions”PushOptions are optional delivery options, mapped by the worker onto the APNs headers / FCM message fields.
| Field | Type | Số | Mô tả |
|---|---|---|---|
ttl_seconds |
int32 |
1 | Time-to-live in seconds (max 2419200 = 4 weeks). 0 = default. A notification still undelivered after its TTL is dropped instead of retried. |
priority |
smtm.gateway.v1.PushPriority | 2 | |
badge |
int32 |
3 | |
sound |
string |
4 | |
collapse_key |
string |
5 | Replaces an earlier undelivered notification with the same key (max 64 bytes). |
android_channel_id |
string |
6 | Android notification channel ID. |
smtm.gateway.v1.SkippedPushTarget
Phần tiêu đề “smtm.gateway.v1.SkippedPushTarget”SkippedPushTarget is a requested target that was not sent to. Exactly one of device_id / user_id is set.
| Field | Type | Số | Mô tả |
|---|---|---|---|
device_id |
string |
1 | |
user_id |
string |
2 | |
reason |
string |
3 | DEVICE_NOT_FOUND | DEVICE_INACTIVE | DEVICE_TOKEN_MISSING | DEVICE_PLATFORM_UNSUPPORTED | USER_NO_ACTIVE_DEVICE |
smtm.gateway.v1.SendPushNotificationRequest
Phần tiêu đề “smtm.gateway.v1.SendPushNotificationRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
title |
string |
3 | |
body |
string |
4 | |
data |
map<string, string> | 5 | Custom key/value payload delivered to the app. |
channel |
smtm.common.v1.MessageChannel | 6 | Defaults to MESSAGE_CHANNEL_NOTIFICATION; decides the queue deadline. |
options |
smtm.gateway.v1.PushOptions | 7 | |
token |
string |
9 | Direct device token (FCM registration token) without device registry lookup. |
project_id |
string |
10 | Target Firebase project ID (acts as the sender of the push notification). |
smtm.gateway.v1.SendPushNotificationTemplateRequest
Phần tiêu đề “smtm.gateway.v1.SendPushNotificationTemplateRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
device_ids |
repeated string |
1 | |
user_ids |
repeated string |
2 | |
template_id |
string |
3 | Push template: its subject is the title, its body the body. The message channel comes from the template. |
vars |
map<string, string> | 4 | |
data |
map<string, string> | 5 | |
options |
smtm.gateway.v1.PushOptions | 6 | |
event_id |
string |
7 |
smtm.gateway.v1.SendPushNotificationResponse
Phần tiêu đề “smtm.gateway.v1.SendPushNotificationResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
tracking_ids |
map<string, string> | 1 | |
skipped |
repeated smtm.gateway.v1.SkippedPushTarget | 2 | |
duplicated_count |
int32 |
3 | Targets not sent again because their event_id was already sent. |
smtm.gateway.v1.SendPushNotificationBatchRequest
Phần tiêu đề “smtm.gateway.v1.SendPushNotificationBatchRequest”SendPushNotificationBatchRequest sends one shared content to many targets for an event. Give either title/body (raw) or template_id/vars (template).
| Field | Type | Số | Mô tả |
|---|---|---|---|
event_id |
string |
1 | Idempotency key of the event. Retrying a request with the same event_id never sends a device the same event twice, and reuses the same batch. |
event_name |
string |
2 | |
device_ids |
repeated string |
3 | |
user_ids |
repeated string |
4 | |
title |
string |
5 | |
body |
string |
6 | |
template_id |
string |
7 | |
vars |
map<string, string> | 8 | |
data |
map<string, string> | 9 | |
channel |
smtm.common.v1.MessageChannel | 10 | |
options |
smtm.gateway.v1.PushOptions | 11 |
smtm.gateway.v1.SendPushNotificationBatchResponse
Phần tiêu đề “smtm.gateway.v1.SendPushNotificationBatchResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
batch_id |
string |
1 | |
accepted_count |
int32 |
2 | |
skipped_count |
int32 |
3 | |
duplicated_count |
int32 |
4 | |
tracking_ids |
map<string, string> | 5 | |
skipped |
repeated smtm.gateway.v1.SkippedPushTarget | 6 |
smtm.gateway.v1.RegisterDeviceRequest
Phần tiêu đề “smtm.gateway.v1.RegisterDeviceRequest”| Field | Type | Số | Mô tả |
|---|---|---|---|
platform |
string |
1 | Platform of the device: “ios” or “android” |
token |
string |
2 | Device token from APNs (iOS) or FCM (Android) |
user_id |
string |
3 | User ID of the device owner (caller’s user system) |
is_dev |
bool |
4 | For iOS only: true = development environment, false = production |
project_id |
string |
5 | For Android only: Firebase project ID (empty = use default project) |
smtm.gateway.v1.RegisterDeviceResponse
Phần tiêu đề “smtm.gateway.v1.RegisterDeviceResponse”| Field | Type | Số | Mô tả |
|---|---|---|---|
device_id |
string |
1 | Device ID assigned by Noah (used to address this device in future push requests) |
Enums
Phần tiêu đề “Enums”justo.common.Step
Phần tiêu đề “justo.common.Step”| Giá trị | Số | Mô tả |
|---|---|---|
STEP_UNSPECIFIED |
0 | |
STEP_BASIC_INFO |
1 | |
STEP_CREATE_PIN_CODE |
2 | |
STEP_VERIFY_EMAIL_OTP |
3 | |
STEP_VERIFY_PHONE |
4 | |
STEP_VERIFY_PHONE_OTP |
5 | |
STEP_CREATE_ACCOUNT |
6 | |
STEP_LOGIN_PASSWORD |
7 | |
STEP_COMPLETED |
8 | |
STEP_OLD_PASSWORD |
9 | |
STEP_ENROLL_FACE |
10 | |
STEP_SELECT_UPGRADE_OPTION |
11 | |
STEP_HOME |
12 |
justo.common.Gender
Phần tiêu đề “justo.common.Gender”| Giá trị | Số | Mô tả |
|---|---|---|
GENDER_UNSPECIFIED |
0 | |
GENDER_MALE |
1 | |
GENDER_FEMALE |
2 | |
GENDER_OTHER |
3 |
justo.common.UpgradeOption
Phần tiêu đề “justo.common.UpgradeOption”| Giá trị | Số | Mô tả |
|---|---|---|
UPGRADE_OPTION_UNSPECIFIED |
0 | |
UPGRADE_OPTION_WALLET |
1 | |
UPGRADE_OPTION_WALLET_BANKAOOL |
2 | |
UPGRADE_OPTION_UPGRADE_LATER |
3 |
smtm.common.v1.MessageType
Phần tiêu đề “smtm.common.v1.MessageType”MessageType enum for delivery medium (EMAIL/SMS/WHATSAPP)
| Giá trị | Số | Mô tả |
|---|---|---|
MESSAGE_TYPE_UNSPECIFIED |
0 | |
MESSAGE_TYPE_EMAIL |
1 | |
MESSAGE_TYPE_SMS |
2 | |
MESSAGE_TYPE_WHATSAPP |
3 | |
MESSAGE_TYPE_NOTIFICATION_FCM |
4 | |
MESSAGE_TYPE_NOTIFICATION_APNS |
5 |
smtm.common.v1.MessageChannel
Phần tiêu đề “smtm.common.v1.MessageChannel”| Giá trị | Số | Mô tả |
|---|---|---|
MESSAGE_CHANNEL_UNSPECIFIED |
0 | |
MESSAGE_CHANNEL_OTP |
1 | |
MESSAGE_CHANNEL_NOTIFICATION |
2 | |
MESSAGE_CHANNEL_MARKETING |
3 |
smtm.common.v1.ContentType
Phần tiêu đề “smtm.common.v1.ContentType”| Giá trị | Số | Mô tả |
|---|---|---|
CONTENT_TYPE_UNSPECIFIED |
0 | |
CONTENT_TYPE_PLAIN_TEXT |
1 | |
CONTENT_TYPE_HTML |
2 | |
CONTENT_TYPE_MARKDOWN |
3 |
smtm.common.v1.MessageStatus
Phần tiêu đề “smtm.common.v1.MessageStatus”| Giá trị | Số | Mô tả |
|---|---|---|
MESSAGE_STATUS_UNSPECIFIED |
0 | |
MESSAGE_STATUS_PENDING |
1 | |
MESSAGE_STATUS_PROCESSING |
2 | |
MESSAGE_STATUS_SUCCESS |
3 | |
MESSAGE_STATUS_FAIL |
4 | |
MESSAGE_STATUS_SUPPRESSED |
5 |
smtm.common.v1.DeliveryStatus
Phần tiêu đề “smtm.common.v1.DeliveryStatus”DeliveryStatus is the consolidated, provider-agnostic downstream tracking state reported by async webhooks (AWS SES event notifications, WhatsApp Cloud API status callbacks) after MessageStatus is already SUCCESS.
| Giá trị | Số | Mô tả |
|---|---|---|
DELIVERY_STATUS_UNSPECIFIED |
0 | |
DELIVERY_STATUS_SENT |
1 | |
DELIVERY_STATUS_DELIVERED |
2 | |
DELIVERY_STATUS_READ |
3 | |
DELIVERY_STATUS_CLICKED |
4 | |
DELIVERY_STATUS_BOUNCED |
5 | |
DELIVERY_STATUS_COMPLAINED |
6 | |
DELIVERY_STATUS_REJECTED |
7 |
smtm.gateway.v1.PushPriority
Phần tiêu đề “smtm.gateway.v1.PushPriority”| Giá trị | Số | Mô tả |
|---|---|---|
PUSH_PRIORITY_UNSPECIFIED |
0 | |
PUSH_PRIORITY_NORMAL |
1 | |
PUSH_PRIORITY_HIGH |
2 |