Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package tem provides methods and message types of the tem v1alpha1 API.
Index ¶
- Constants
 - type API
 - func (s *API) CancelEmail(req *CancelEmailRequest, opts ...scw.RequestOption) (*Email, error)
 - func (s *API) CheckDomain(req *CheckDomainRequest, opts ...scw.RequestOption) (*Domain, error)
 - func (s *API) CreateDomain(req *CreateDomainRequest, opts ...scw.RequestOption) (*Domain, error)
 - func (s *API) CreateEmail(req *CreateEmailRequest, opts ...scw.RequestOption) (*CreateEmailResponse, error)
 - func (s *API) DeleteWebhook(req *DeleteWebhookRequest, opts ...scw.RequestOption) error
 - func (s *API) GetDomain(req *GetDomainRequest, opts ...scw.RequestOption) (*Domain, error)
 - func (s *API) GetDomainLastStatus(req *GetDomainLastStatusRequest, opts ...scw.RequestOption) (*DomainLastStatus, error)
 - func (s *API) GetEmail(req *GetEmailRequest, opts ...scw.RequestOption) (*Email, error)
 - func (s *API) GetStatistics(req *GetStatisticsRequest, opts ...scw.RequestOption) (*Statistics, error)
 - func (s *API) ListDomains(req *ListDomainsRequest, opts ...scw.RequestOption) (*ListDomainsResponse, error)
 - func (s *API) ListEmails(req *ListEmailsRequest, opts ...scw.RequestOption) (*ListEmailsResponse, error)
 - func (s *API) ListWebhookEvents(req *ListWebhookEventsRequest, opts ...scw.RequestOption) (*ListWebhookEventsResponse, error)
 - func (s *API) ListWebhooks(req *ListWebhooksRequest, opts ...scw.RequestOption) (*ListWebhooksResponse, error)
 - func (s *API) Regions() []scw.Region
 - func (s *API) RevokeDomain(req *RevokeDomainRequest, opts ...scw.RequestOption) (*Domain, error)
 - func (s *API) UpdateWebhook(req *UpdateWebhookRequest, opts ...scw.RequestOption) (*Webhook, error)
 - func (s *API) WaitForDomain(req *WaitForDomainRequest, opts ...scw.RequestOption) (*Domain, error)
 
- type CancelEmailRequest
 - type CheckDomainRequest
 - type CreateDomainRequest
 - type CreateEmailRequest
 - type CreateEmailRequestAddress
 - type CreateEmailRequestAttachment
 - type CreateEmailRequestHeader
 - type CreateEmailResponse
 - type DeleteWebhookRequest
 - type Domain
 - type DomainLastStatus
 - type DomainLastStatusDkimRecord
 - type DomainLastStatusDmarcRecord
 - type DomainLastStatusRecordStatus
 - type DomainLastStatusSpfRecord
 - type DomainRecords
 - type DomainRecordsDMARC
 - type DomainReputation
 - type DomainReputationStatus
 - type DomainStatistics
 - type DomainStatus
 - type Email
 - type EmailFlag
 - type EmailRcptType
 - type EmailStatus
 - type EmailTry
 - type GetDomainLastStatusRequest
 - type GetDomainRequest
 - type GetEmailRequest
 - type GetStatisticsRequest
 - type ListDomainsRequest
 - type ListDomainsResponse
 - type ListEmailsRequest
 - type ListEmailsRequestOrderBy
 - type ListEmailsResponse
 - type ListWebhookEventsRequest
 - type ListWebhookEventsRequestOrderBy
 - type ListWebhookEventsResponse
 - type ListWebhooksRequest
 - type ListWebhooksRequestOrderBy
 - type ListWebhooksResponse
 - type RevokeDomainRequest
 - type Statistics
 - type UpdateWebhookRequest
 - type WaitForDomainRequest
 - type Webhook
 - type WebhookEvent
 - type WebhookEventStatus
 - type WebhookEventType
 
Constants ¶
const ( // If unspecified, the status of the domain's record is unknown by default. DomainLastStatusRecordStatusUnknownRecordStatus = DomainLastStatusRecordStatus("unknown_record_status") // The record is valid. DomainLastStatusRecordStatusValid = DomainLastStatusRecordStatus("valid") // The record is invalid. DomainLastStatusRecordStatusInvalid = DomainLastStatusRecordStatus("invalid") // The record was not found. DomainLastStatusRecordStatusNotFound = DomainLastStatusRecordStatus("not_found") )
const ( // If unspecified, the status of the domain's reputation is unknown by default. DomainReputationStatusUnknownStatus = DomainReputationStatus("unknown_status") // The domain has an excellent reputation. DomainReputationStatusExcellent = DomainReputationStatus("excellent") // The domain has a good reputation. DomainReputationStatusGood = DomainReputationStatus("good") // The domain has an average reputation. DomainReputationStatusAverage = DomainReputationStatus("average") // The domain has a bad reputation. DomainReputationStatusBad = DomainReputationStatus("bad") )
const ( // If unspecified, the status of the domain is unknown by default. DomainStatusUnknown = DomainStatus("unknown") // The domain is checked. DomainStatusChecked = DomainStatus("checked") // The domain is unchecked. DomainStatusUnchecked = DomainStatus("unchecked") // The domain is invalid. DomainStatusInvalid = DomainStatus("invalid") // The domain is locked. DomainStatusLocked = DomainStatus("locked") // The domain is revoked. DomainStatusRevoked = DomainStatus("revoked") // The domain is pending, waiting to be checked. DomainStatusPending = DomainStatus("pending") )
const ( // If unspecified, the flag type is unknown by default. EmailFlagUnknownFlag = EmailFlag("unknown_flag") // Refers to a non critical error received while sending the email(s). Soft bounced emails are retried. EmailFlagSoftBounce = EmailFlag("soft_bounce") // Refers to a critical error that happened while sending the email(s). EmailFlagHardBounce = EmailFlag("hard_bounce") // Refers to an email considered as spam. EmailFlagSpam = EmailFlag("spam") // Refers to an undelivered email because the recipient mailbox is full. EmailFlagMailboxFull = EmailFlag("mailbox_full") // Refers to an undelivered email because the recipient mailbox does not exist. EmailFlagMailboxNotFound = EmailFlag("mailbox_not_found") // Refers to an email slightly delayed by the recipient to ensure that Scaleway is not sending spam. EmailFlagGreylisted = EmailFlag("greylisted") // Refers to an email with a `send-before` tag to indicate the maximum time limit for the email to be sent. EmailFlagSendBeforeExpiration = EmailFlag("send_before_expiration") )
const ( // If unspecified, the recipient type is unknown by default. EmailRcptTypeUnknownRcptType = EmailRcptType("unknown_rcpt_type") // Primary recipient. EmailRcptTypeTo = EmailRcptType("to") // Carbon copy recipient. EmailRcptTypeCc = EmailRcptType("cc") // Blind carbon copy recipient. EmailRcptTypeBcc = EmailRcptType("bcc") )
const ( // If unspecified, the status of the email is unknown by default. EmailStatusUnknown = EmailStatus("unknown") // The email is new. EmailStatusNew = EmailStatus("new") // The email is in the process of being sent. EmailStatusSending = EmailStatus("sending") // The email was sent. EmailStatusSent = EmailStatus("sent") // The sending of the email failed. EmailStatusFailed = EmailStatus("failed") // The sending of the email was canceled. EmailStatusCanceled = EmailStatus("canceled") )
const ( // Order by creation date (descending chronological order). ListEmailsRequestOrderByCreatedAtDesc = ListEmailsRequestOrderBy("created_at_desc") // Order by creation date (ascending chronological order). ListEmailsRequestOrderByCreatedAtAsc = ListEmailsRequestOrderBy("created_at_asc") // Order by last update date (descending chronological order). ListEmailsRequestOrderByUpdatedAtDesc = ListEmailsRequestOrderBy("updated_at_desc") // Order by last update date (ascending chronological order). ListEmailsRequestOrderByUpdatedAtAsc = ListEmailsRequestOrderBy("updated_at_asc") // Order by status (descending alphabetical order). ListEmailsRequestOrderByStatusDesc = ListEmailsRequestOrderBy("status_desc") // Order by status (ascending alphabetical order). ListEmailsRequestOrderByStatusAsc = ListEmailsRequestOrderBy("status_asc") // Order by mail_from (descending alphabetical order). ListEmailsRequestOrderByMailFromDesc = ListEmailsRequestOrderBy("mail_from_desc") // Order by mail_from (ascending alphabetical order). ListEmailsRequestOrderByMailFromAsc = ListEmailsRequestOrderBy("mail_from_asc") // Order by mail recipient (descending alphabetical order). ListEmailsRequestOrderByMailRcptDesc = ListEmailsRequestOrderBy("mail_rcpt_desc") // Order by mail recipient (ascending alphabetical order). ListEmailsRequestOrderByMailRcptAsc = ListEmailsRequestOrderBy("mail_rcpt_asc") // Order by subject (descending alphabetical order). ListEmailsRequestOrderBySubjectDesc = ListEmailsRequestOrderBy("subject_desc") // Order by subject (ascending alphabetical order). ListEmailsRequestOrderBySubjectAsc = ListEmailsRequestOrderBy("subject_asc") )
const ( ListWebhookEventsRequestOrderByCreatedAtDesc = ListWebhookEventsRequestOrderBy("created_at_desc") ListWebhookEventsRequestOrderByCreatedAtAsc = ListWebhookEventsRequestOrderBy("created_at_asc") )
const ( ListWebhooksRequestOrderByCreatedAtDesc = ListWebhooksRequestOrderBy("created_at_desc") ListWebhooksRequestOrderByCreatedAtAsc = ListWebhooksRequestOrderBy("created_at_asc") )
const ( // If unspecified, the status of the Webhook Event is unknown by default. WebhookEventStatusUnknownStatus = WebhookEventStatus("unknown_status") // The Webhook Event has been created and is waiting to be sent. WebhookEventStatusWaiting = WebhookEventStatus("waiting") // The Webhook Event is in sending process. WebhookEventStatusSending = WebhookEventStatus("sending") // The Webhook Event is sent. WebhookEventStatusSent = WebhookEventStatus("sent") // The Webhook Event cannot be sent after multiple retries. WebhookEventStatusError = WebhookEventStatus("error") )
const ( // If unspecified, the type of the Webhook Event is unknown by default. WebhookEventTypeUnknownType = WebhookEventType("unknown_type") // The email resource is received and prepared to be sent. WebhookEventTypeEmailQueued = WebhookEventType("email_queued") // The email resource is sent but we received a hard-bounce from the recipient server. WebhookEventTypeEmailDropped = WebhookEventType("email_dropped") // The email is sent but we received a soft-bounce from the recipient server. The Email will be retried. WebhookEventTypeEmailDeferred = WebhookEventType("email_deferred") // The email resource as been successfully sent. WebhookEventTypeEmailDelivered = WebhookEventType("email_delivered") // The email resource has been detected from Scaleway or the recipient server as a spam. WebhookEventTypeEmailSpam = WebhookEventType("email_spam") // The email resource hard-bounced with a mailbox not found an error. WebhookEventTypeEmailMailboxNotFound = WebhookEventType("email_mailbox_not_found") )
const ( SMTPHost = "smtp.tem.scw.cloud" SMTPPortUnsecure = 25 SMTPPort = 587 SMTPPortAlternative = 2587 SMTPSPort = 465 SMTPSPortAlternative = 2465 MXBlackhole = "blackhole.scw-tem.cloud." )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
	// contains filtered or unexported fields
}
    This API allows you to manage your Transactional Email services.
func (*API) CancelEmail ¶
func (s *API) CancelEmail(req *CancelEmailRequest, opts ...scw.RequestOption) (*Email, error)
CancelEmail: You can cancel the sending of an email if it has not been sent yet. You must specify the `region` and the `email_id` of the email you want to cancel.
func (*API) CheckDomain ¶
func (s *API) CheckDomain(req *CheckDomainRequest, opts ...scw.RequestOption) (*Domain, error)
CheckDomain: Perform an immediate DNS check of a domain using the `region` and `domain_id` parameters.
func (*API) CreateDomain ¶
func (s *API) CreateDomain(req *CreateDomainRequest, opts ...scw.RequestOption) (*Domain, error)
CreateDomain: You must specify the `region`, `project_id` and `domain_name` to register a domain in a specific Project.
func (*API) CreateEmail ¶
func (s *API) CreateEmail(req *CreateEmailRequest, opts ...scw.RequestOption) (*CreateEmailResponse, error)
CreateEmail: You must specify the `region`, the sender and the recipient's information and the `project_id` to send an email from a checked domain. The subject of the email must contain at least 6 characters.
func (*API) DeleteWebhook ¶
func (s *API) DeleteWebhook(req *DeleteWebhookRequest, opts ...scw.RequestOption) error
DeleteWebhook:
func (*API) GetDomain ¶
func (s *API) GetDomain(req *GetDomainRequest, opts ...scw.RequestOption) (*Domain, error)
GetDomain: Retrieve information about a specific domain using the `region` and `domain_id` parameters. Monitor your domain's reputation and improve **average** and **bad** reputation statuses, using your domain's **Email activity** tab on the [Scaleway console](https://console.scaleway.com/transactional-email/domains) to get a more detailed report. Check out our [dedicated documentation](https://www.scaleway.com/en/docs/managed-services/transactional-email/reference-content/understanding-tem-reputation-score/) to improve your domain's reputation.
func (*API) GetDomainLastStatus ¶
func (s *API) GetDomainLastStatus(req *GetDomainLastStatusRequest, opts ...scw.RequestOption) (*DomainLastStatus, error)
GetDomainLastStatus: Display SPF and DKIM records status and potential errors, including the found records to make debugging easier.
func (*API) GetEmail ¶
func (s *API) GetEmail(req *GetEmailRequest, opts ...scw.RequestOption) (*Email, error)
GetEmail: Retrieve information about a specific email using the `email_id` and `region` parameters.
func (*API) GetStatistics ¶
func (s *API) GetStatistics(req *GetStatisticsRequest, opts ...scw.RequestOption) (*Statistics, error)
GetStatistics: Get information on your emails' statuses.
func (*API) ListDomains ¶
func (s *API) ListDomains(req *ListDomainsRequest, opts ...scw.RequestOption) (*ListDomainsResponse, error)
ListDomains: Retrieve domains in a specific Project or in a specific Organization using the `region` parameter.
func (*API) ListEmails ¶
func (s *API) ListEmails(req *ListEmailsRequest, opts ...scw.RequestOption) (*ListEmailsResponse, error)
ListEmails: Retrieve the list of emails sent from a specific domain or for a specific Project or Organization. You must specify the `region`.
func (*API) ListWebhookEvents ¶
func (s *API) ListWebhookEvents(req *ListWebhookEventsRequest, opts ...scw.RequestOption) (*ListWebhookEventsResponse, error)
ListWebhookEvents:
func (*API) ListWebhooks ¶
func (s *API) ListWebhooks(req *ListWebhooksRequest, opts ...scw.RequestOption) (*ListWebhooksResponse, error)
ListWebhooks:
func (*API) RevokeDomain ¶
func (s *API) RevokeDomain(req *RevokeDomainRequest, opts ...scw.RequestOption) (*Domain, error)
RevokeDomain: You must specify the domain you want to delete by the `region` and `domain_id`. Deleting a domain is permanent and cannot be undone.
func (*API) UpdateWebhook ¶
func (s *API) UpdateWebhook(req *UpdateWebhookRequest, opts ...scw.RequestOption) (*Webhook, error)
UpdateWebhook:
func (*API) WaitForDomain ¶
func (s *API) WaitForDomain(req *WaitForDomainRequest, opts ...scw.RequestOption) (*Domain, error)
WaitForDomain wait for the domain to be in a "terminal state" before returning. This function can be used to wait for a domain to be checked for example.
type CancelEmailRequest ¶
type CancelEmailRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// EmailID: ID of the email to cancel.
	EmailID string `json:"-"`
}
    CancelEmailRequest: cancel email request.
type CheckDomainRequest ¶
type CheckDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// DomainID: ID of the domain to check.
	DomainID string `json:"-"`
}
    CheckDomainRequest: check domain request.
type CreateDomainRequest ¶
type CreateDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// ProjectID: ID of the project to which the domain belongs.
	ProjectID string `json:"project_id"`
	// DomainName: fully qualified domain dame.
	DomainName string `json:"domain_name"`
	// AcceptTos: accept Scaleway's Terms of Service.
	AcceptTos bool `json:"accept_tos"`
}
    CreateDomainRequest: create domain request.
type CreateEmailRequest ¶
type CreateEmailRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// From: sender information. Must be from a checked domain declared in the Project.
	From *CreateEmailRequestAddress `json:"from"`
	// To: an array of the primary recipient's information.
	To []*CreateEmailRequestAddress `json:"to"`
	// Cc: an array of the carbon copy recipient's information.
	Cc []*CreateEmailRequestAddress `json:"cc"`
	// Bcc: an array of the blind carbon copy recipient's information.
	Bcc []*CreateEmailRequestAddress `json:"bcc"`
	// Subject: subject of the email.
	Subject string `json:"subject"`
	// Text: text content.
	Text string `json:"text"`
	// HTML: HTML content.
	HTML string `json:"html"`
	// ProjectID: ID of the Project in which to create the email.
	ProjectID string `json:"project_id"`
	// Attachments: array of attachments.
	Attachments []*CreateEmailRequestAttachment `json:"attachments"`
	// SendBefore: maximum date to deliver the email.
	SendBefore *time.Time `json:"send_before,omitempty"`
	// AdditionalHeaders: array of additional headers as key-value.
	AdditionalHeaders []*CreateEmailRequestHeader `json:"additional_headers"`
}
    CreateEmailRequest: create email request.
type CreateEmailRequestAddress ¶
type CreateEmailRequestAddress struct {
	// Email: email address.
	Email string `json:"email"`
	// Name: (Optional) Name displayed.
	Name *string `json:"name"`
}
    CreateEmailRequestAddress: create email request address.
type CreateEmailRequestAttachment ¶
type CreateEmailRequestAttachment struct {
	// Name: filename of the attachment.
	Name string `json:"name"`
	// Type: mIME type of the attachment.
	Type string `json:"type"`
	// Content: content of the attachment encoded in base64.
	Content []byte `json:"content"`
}
    CreateEmailRequestAttachment: create email request attachment.
type CreateEmailRequestHeader ¶
type CreateEmailRequestHeader struct {
	// Key: email header key.
	Key string `json:"key"`
	// Value: email header value.
	Value string `json:"value"`
}
    CreateEmailRequestHeader: create email request header.
type CreateEmailResponse ¶
type CreateEmailResponse struct {
	// Emails: single page of emails matching the requested criteria.
	Emails []*Email `json:"emails"`
}
    CreateEmailResponse: create email response.
type DeleteWebhookRequest ¶
type DeleteWebhookRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// WebhookID: ID of the Webhook to delete.
	WebhookID string `json:"-"`
}
    DeleteWebhookRequest: delete webhook request.
type Domain ¶
type Domain struct {
	// ID: ID of the domain.
	ID string `json:"id"`
	// OrganizationID: ID of the domain's Organization.
	OrganizationID string `json:"organization_id"`
	// ProjectID: ID of the domain's Project.
	ProjectID string `json:"project_id"`
	// Name: domain name (example.com).
	Name string `json:"name"`
	// Status: status of the domain.
	// Default value: unknown
	Status DomainStatus `json:"status"`
	// CreatedAt: date and time of domain creation.
	CreatedAt *time.Time `json:"created_at"`
	// NextCheckAt: date and time of the next scheduled check.
	NextCheckAt *time.Time `json:"next_check_at"`
	// LastValidAt: date and time the domain was last valid.
	LastValidAt *time.Time `json:"last_valid_at"`
	// RevokedAt: date and time of the domain's deletion.
	RevokedAt *time.Time `json:"revoked_at"`
	// Deprecated: LastError: error message returned if the last check failed.
	LastError *string `json:"last_error,omitempty"`
	// SpfConfig: snippet of the SPF record to register in the DNS zone.
	SpfConfig string `json:"spf_config"`
	// DkimConfig: dKIM public key to record in the DNS zone.
	DkimConfig string `json:"dkim_config"`
	// Statistics: domain's statistics.
	Statistics *DomainStatistics `json:"statistics"`
	// Reputation: the domain's reputation is available when your domain is checked and has sent enough emails.
	Reputation *DomainReputation `json:"reputation"`
	// Records: list of records to configure to validate a domain.
	Records *DomainRecords `json:"records"`
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"region"`
}
    Domain: domain.
type DomainLastStatus ¶
type DomainLastStatus struct {
	// DomainID: the ID of the domain.
	DomainID string `json:"domain_id"`
	// DomainName: the domain name (example.com).
	DomainName string `json:"domain_name"`
	// SpfRecord: the SPF record verification data.
	SpfRecord *DomainLastStatusSpfRecord `json:"spf_record"`
	// DkimRecord: the DKIM record verification data.
	DkimRecord *DomainLastStatusDkimRecord `json:"dkim_record"`
	// DmarcRecord: the DMARC record verification data.
	DmarcRecord *DomainLastStatusDmarcRecord `json:"dmarc_record"`
}
    DomainLastStatus: domain last status.
type DomainLastStatusDkimRecord ¶
type DomainLastStatusDkimRecord struct {
	// Status: status of the DKIM record's configuration.
	// Default value: unknown_record_status
	Status DomainLastStatusRecordStatus `json:"status"`
	// LastValidAt: time and date the DKIM record was last valid.
	LastValidAt *time.Time `json:"last_valid_at"`
	// Error: an error text displays in case the record is not valid.
	Error *string `json:"error"`
}
    DomainLastStatusDkimRecord: domain last status dkim record.
type DomainLastStatusDmarcRecord ¶
type DomainLastStatusDmarcRecord struct {
	// Status: status of the DMARC record's configuration.
	// Default value: unknown_record_status
	Status DomainLastStatusRecordStatus `json:"status"`
	// LastValidAt: time and date the DMARC record was last valid.
	LastValidAt *time.Time `json:"last_valid_at"`
	// Error: an error text displays in case the record is not valid.
	Error *string `json:"error"`
}
    DomainLastStatusDmarcRecord: domain last status dmarc record.
type DomainLastStatusRecordStatus ¶
type DomainLastStatusRecordStatus string
func (DomainLastStatusRecordStatus) MarshalJSON ¶
func (enum DomainLastStatusRecordStatus) MarshalJSON() ([]byte, error)
func (DomainLastStatusRecordStatus) String ¶
func (enum DomainLastStatusRecordStatus) String() string
func (*DomainLastStatusRecordStatus) UnmarshalJSON ¶
func (enum *DomainLastStatusRecordStatus) UnmarshalJSON(data []byte) error
func (DomainLastStatusRecordStatus) Values ¶
func (enum DomainLastStatusRecordStatus) Values() []DomainLastStatusRecordStatus
type DomainLastStatusSpfRecord ¶
type DomainLastStatusSpfRecord struct {
	// Status: status of the SPF record's configuration.
	// Default value: unknown_record_status
	Status DomainLastStatusRecordStatus `json:"status"`
	// LastValidAt: time and date the SPF record was last valid.
	LastValidAt *time.Time `json:"last_valid_at"`
	// Error: an error text displays in case the record is not valid.
	Error *string `json:"error"`
}
    DomainLastStatusSpfRecord: domain last status spf record.
type DomainRecords ¶
type DomainRecords struct {
	// Dmarc: dMARC TXT record specification.
	Dmarc *DomainRecordsDMARC `json:"dmarc"`
}
    DomainRecords: domain records.
type DomainRecordsDMARC ¶
type DomainRecordsDMARC struct {
	// Name: name of the DMARC TXT record.
	Name string `json:"name"`
	// Value: value of the DMARC TXT record.
	Value string `json:"value"`
}
    DomainRecordsDMARC: domain records dmarc.
type DomainReputation ¶
type DomainReputation struct {
	// Status: status of your domain's reputation.
	// Default value: unknown_status
	Status DomainReputationStatus `json:"status"`
	// Score: a range from 0 to 100 that determines your domain's reputation score. A score of `0` means a bad domain reputation and a score of `100` means an excellent domain reputation.
	Score uint32 `json:"score"`
	// ScoredAt: time and date the score was calculated.
	ScoredAt *time.Time `json:"scored_at"`
	// PreviousScore: the previously-calculated domain's reputation score.
	PreviousScore *uint32 `json:"previous_score"`
	// PreviousScoredAt: time and date the previous reputation score was calculated.
	PreviousScoredAt *time.Time `json:"previous_scored_at"`
}
    DomainReputation: domain reputation.
type DomainReputationStatus ¶
type DomainReputationStatus string
func (DomainReputationStatus) MarshalJSON ¶
func (enum DomainReputationStatus) MarshalJSON() ([]byte, error)
func (DomainReputationStatus) String ¶
func (enum DomainReputationStatus) String() string
func (*DomainReputationStatus) UnmarshalJSON ¶
func (enum *DomainReputationStatus) UnmarshalJSON(data []byte) error
func (DomainReputationStatus) Values ¶
func (enum DomainReputationStatus) Values() []DomainReputationStatus
type DomainStatistics ¶
type DomainStatistics struct {
	TotalCount uint32 `json:"total_count"`
	SentCount uint32 `json:"sent_count"`
	FailedCount uint32 `json:"failed_count"`
	CanceledCount uint32 `json:"canceled_count"`
}
    DomainStatistics: domain statistics.
type DomainStatus ¶
type DomainStatus string
func (DomainStatus) MarshalJSON ¶
func (enum DomainStatus) MarshalJSON() ([]byte, error)
func (DomainStatus) String ¶
func (enum DomainStatus) String() string
func (*DomainStatus) UnmarshalJSON ¶
func (enum *DomainStatus) UnmarshalJSON(data []byte) error
func (DomainStatus) Values ¶
func (enum DomainStatus) Values() []DomainStatus
type Email ¶
type Email struct {
	// ID: technical ID of the email.
	ID string `json:"id"`
	// MessageID: message ID of the email.
	MessageID string `json:"message_id"`
	// ProjectID: ID of the Project to which the email belongs.
	ProjectID string `json:"project_id"`
	// MailFrom: email address of the sender.
	MailFrom string `json:"mail_from"`
	// Deprecated: RcptTo: email address of the recipient.
	RcptTo *string `json:"rcpt_to,omitempty"`
	// MailRcpt: email address of the recipient.
	MailRcpt string `json:"mail_rcpt"`
	// RcptType: type of recipient.
	// Default value: unknown_rcpt_type
	RcptType EmailRcptType `json:"rcpt_type"`
	// Subject: subject of the email.
	Subject string `json:"subject"`
	// CreatedAt: creation date of the email object.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update of the email object.
	UpdatedAt *time.Time `json:"updated_at"`
	// Status: status of the email.
	// Default value: unknown
	Status EmailStatus `json:"status"`
	// StatusDetails: additional status information.
	StatusDetails *string `json:"status_details"`
	// TryCount: number of attempts to send the email.
	TryCount uint32 `json:"try_count"`
	// LastTries: information about the last three attempts to send the email.
	LastTries []*EmailTry `json:"last_tries"`
	// Flags: flags categorize emails. They allow you to obtain more information about recurring errors, for example.
	Flags []EmailFlag `json:"flags"`
}
    Email: email.
type EmailFlag ¶
type EmailFlag string
func (EmailFlag) MarshalJSON ¶
func (*EmailFlag) UnmarshalJSON ¶
type EmailRcptType ¶
type EmailRcptType string
func (EmailRcptType) MarshalJSON ¶
func (enum EmailRcptType) MarshalJSON() ([]byte, error)
func (EmailRcptType) String ¶
func (enum EmailRcptType) String() string
func (*EmailRcptType) UnmarshalJSON ¶
func (enum *EmailRcptType) UnmarshalJSON(data []byte) error
func (EmailRcptType) Values ¶
func (enum EmailRcptType) Values() []EmailRcptType
type EmailStatus ¶
type EmailStatus string
func (EmailStatus) MarshalJSON ¶
func (enum EmailStatus) MarshalJSON() ([]byte, error)
func (EmailStatus) String ¶
func (enum EmailStatus) String() string
func (*EmailStatus) UnmarshalJSON ¶
func (enum *EmailStatus) UnmarshalJSON(data []byte) error
func (EmailStatus) Values ¶
func (enum EmailStatus) Values() []EmailStatus
type EmailTry ¶
type EmailTry struct {
	// Rank: rank number of this attempt to send the email.
	Rank uint32 `json:"rank"`
	// TriedAt: date of the attempt to send the email.
	TriedAt *time.Time `json:"tried_at"`
	// Code: the SMTP status code received after the attempt. 0 if the attempt did not reach an SMTP server.
	Code int32 `json:"code"`
	// Message: the SMTP message received. If the attempt did not reach an SMTP server, the message returned explains what happened.
	Message string `json:"message"`
}
    EmailTry: email try.
type GetDomainLastStatusRequest ¶
type GetDomainLastStatusRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// DomainID: ID of the domain to delete.
	DomainID string `json:"-"`
}
    GetDomainLastStatusRequest: get domain last status request.
type GetDomainRequest ¶
type GetDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// DomainID: ID of the domain.
	DomainID string `json:"-"`
}
    GetDomainRequest: get domain request.
type GetEmailRequest ¶
type GetEmailRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// EmailID: ID of the email to retrieve.
	EmailID string `json:"-"`
}
    GetEmailRequest: get email request.
type GetStatisticsRequest ¶
type GetStatisticsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// ProjectID: (Optional) Number of emails for this Project.
	ProjectID *string `json:"-"`
	// DomainID: (Optional) Number of emails sent from this domain (must be coherent with the `project_id` and the `organization_id`).
	DomainID *string `json:"-"`
	// Since: (Optional) Number of emails created after this date.
	Since *time.Time `json:"-"`
	// Until: (Optional) Number of emails created before this date.
	Until *time.Time `json:"-"`
	// MailFrom: (Optional) Number of emails sent with this sender's email address.
	MailFrom *string `json:"-"`
}
    GetStatisticsRequest: get statistics request.
type ListDomainsRequest ¶
type ListDomainsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// Page: requested page number. Value must be greater or equal to 1.
	Page *int32 `json:"-"`
	// PageSize: requested page size. Value must be between 1 and 1000.
	PageSize *uint32 `json:"-"`
	// ProjectID: (Optional) ID of the Project in which to list the domains.
	ProjectID *string `json:"-"`
	// Status: (Optional) List domains under specific statuses.
	Status []DomainStatus `json:"-"`
	// OrganizationID: (Optional) ID of the Organization in which to list the domains.
	OrganizationID *string `json:"-"`
	// Name: (Optional) Names of the domains to list.
	Name *string `json:"-"`
}
    ListDomainsRequest: list domains request.
type ListDomainsResponse ¶
type ListDomainsResponse struct {
	// TotalCount: number of domains that match the request (without pagination).
	TotalCount uint32 `json:"total_count"`
	// Domains: single page of domains matching the requested criteria.
	Domains []*Domain `json:"domains"`
}
    ListDomainsResponse: list domains response.
func (*ListDomainsResponse) UnsafeAppend ¶
func (r *ListDomainsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListDomainsResponse) UnsafeGetTotalCount ¶
func (r *ListDomainsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListEmailsRequest ¶
type ListEmailsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	Page *int32 `json:"-"`
	PageSize *uint32 `json:"-"`
	// ProjectID: (Optional) ID of the Project in which to list the emails.
	ProjectID *string `json:"-"`
	// DomainID: (Optional) ID of the domain for which to list the emails.
	DomainID *string `json:"-"`
	// MessageID: (Optional) ID of the message for which to list the emails.
	MessageID *string `json:"-"`
	// Since: (Optional) List emails created after this date.
	Since *time.Time `json:"-"`
	// Until: (Optional) List emails created before this date.
	Until *time.Time `json:"-"`
	// MailFrom: (Optional) List emails sent with this sender's email address.
	MailFrom *string `json:"-"`
	// Deprecated: MailTo: list emails sent to this recipient's email address.
	MailTo *string `json:"-"`
	// MailRcpt: (Optional) List emails sent to this recipient's email address.
	MailRcpt *string `json:"-"`
	// Statuses: (Optional) List emails with any of these statuses.
	Statuses []EmailStatus `json:"-"`
	// Subject: (Optional) List emails with this subject.
	Subject *string `json:"-"`
	// Search: (Optional) List emails by searching to all fields.
	Search *string `json:"-"`
	// OrderBy: (Optional) List emails corresponding to specific criteria.
	// Default value: created_at_desc
	OrderBy ListEmailsRequestOrderBy `json:"-"`
	// Flags: (Optional) List emails containing only specific flags.
	Flags []EmailFlag `json:"-"`
}
    ListEmailsRequest: list emails request.
type ListEmailsRequestOrderBy ¶
type ListEmailsRequestOrderBy string
func (ListEmailsRequestOrderBy) MarshalJSON ¶
func (enum ListEmailsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListEmailsRequestOrderBy) String ¶
func (enum ListEmailsRequestOrderBy) String() string
func (*ListEmailsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListEmailsRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListEmailsRequestOrderBy) Values ¶
func (enum ListEmailsRequestOrderBy) Values() []ListEmailsRequestOrderBy
type ListEmailsResponse ¶
type ListEmailsResponse struct {
	// TotalCount: number of emails matching the requested criteria.
	TotalCount uint32 `json:"total_count"`
	// Emails: single page of emails matching the requested criteria.
	Emails []*Email `json:"emails"`
}
    ListEmailsResponse: list emails response.
func (*ListEmailsResponse) UnsafeAppend ¶
func (r *ListEmailsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListEmailsResponse) UnsafeGetTotalCount ¶
func (r *ListEmailsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListWebhookEventsRequest ¶
type ListWebhookEventsRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// WebhookID: ID of the Webhook linked to the events.
	WebhookID string `json:"-"`
	// OrderBy: (Optional) List Webhook events corresponding to specific criteria.
	// Default value: created_at_desc
	OrderBy ListWebhookEventsRequestOrderBy `json:"-"`
	// Page: requested page number. Value must be greater or equal to 1.
	Page *int32 `json:"-"`
	// PageSize: requested page size. Value must be between 1 and 100.
	PageSize *uint32 `json:"-"`
	// EmailID: ID of the email linked to the events.
	EmailID *string `json:"-"`
	// EventTypes: list of event types linked to the events.
	EventTypes []WebhookEventType `json:"-"`
	// Statuses: list of event statuses.
	Statuses []WebhookEventStatus `json:"-"`
	// ProjectID: ID of the webhook Project.
	ProjectID *string `json:"-"`
	// OrganizationID: ID of the webhook Organization.
	OrganizationID *string `json:"-"`
	// DomainID: ID of the domain to watch for triggering events.
	DomainID *string `json:"-"`
}
    ListWebhookEventsRequest: list webhook events request.
type ListWebhookEventsRequestOrderBy ¶
type ListWebhookEventsRequestOrderBy string
func (ListWebhookEventsRequestOrderBy) MarshalJSON ¶
func (enum ListWebhookEventsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListWebhookEventsRequestOrderBy) String ¶
func (enum ListWebhookEventsRequestOrderBy) String() string
func (*ListWebhookEventsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListWebhookEventsRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListWebhookEventsRequestOrderBy) Values ¶
func (enum ListWebhookEventsRequestOrderBy) Values() []ListWebhookEventsRequestOrderBy
type ListWebhookEventsResponse ¶
type ListWebhookEventsResponse struct {
	// TotalCount: number of Webhook events matching the requested criteria.
	TotalCount uint64 `json:"total_count"`
	// WebhookEvents: single page of Webhook events matching the requested criteria.
	WebhookEvents []*WebhookEvent `json:"webhook_events"`
}
    ListWebhookEventsResponse: list webhook events response.
func (*ListWebhookEventsResponse) UnsafeAppend ¶
func (r *ListWebhookEventsResponse) UnsafeAppend(res interface{}) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListWebhookEventsResponse) UnsafeGetTotalCount ¶
func (r *ListWebhookEventsResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type ListWebhooksRequest ¶
type ListWebhooksRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// OrderBy: (Optional) List Webhooks corresponding to specific criteria.
	// Default value: created_at_desc
	OrderBy ListWebhooksRequestOrderBy `json:"-"`
	// Page: (Optional) Requested page number. Value must be greater or equal to 1.
	Page *int32 `json:"-"`
	// PageSize: (Optional) Requested page size. Value must be between 1 and 100.
	PageSize *uint32 `json:"-"`
	// ProjectID: (Optional) ID of the Project for which to list the Webhooks.
	ProjectID *string `json:"-"`
	// OrganizationID: (Optional) ID of the Organization for which to list the Webhooks.
	OrganizationID *string `json:"-"`
	// DomainID: (Optional) ID of the Domain for which to list the Webhooks.
	DomainID *string `json:"-"`
}
    ListWebhooksRequest: list webhooks request.
type ListWebhooksRequestOrderBy ¶
type ListWebhooksRequestOrderBy string
func (ListWebhooksRequestOrderBy) MarshalJSON ¶
func (enum ListWebhooksRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListWebhooksRequestOrderBy) String ¶
func (enum ListWebhooksRequestOrderBy) String() string
func (*ListWebhooksRequestOrderBy) UnmarshalJSON ¶
func (enum *ListWebhooksRequestOrderBy) UnmarshalJSON(data []byte) error
func (ListWebhooksRequestOrderBy) Values ¶
func (enum ListWebhooksRequestOrderBy) Values() []ListWebhooksRequestOrderBy
type ListWebhooksResponse ¶
type ListWebhooksResponse struct {
	// TotalCount: number of Webhooks matching the requested criteria.
	TotalCount uint64 `json:"total_count"`
	// Webhooks: single page of Webhooks matching the requested criteria.
	Webhooks []*Webhook `json:"webhooks"`
}
    ListWebhooksResponse: list webhooks response.
func (*ListWebhooksResponse) UnsafeAppend ¶
func (r *ListWebhooksResponse) UnsafeAppend(res interface{}) (uint64, error)
UnsafeAppend should not be used Internal usage only
func (*ListWebhooksResponse) UnsafeGetTotalCount ¶
func (r *ListWebhooksResponse) UnsafeGetTotalCount() uint64
UnsafeGetTotalCount should not be used Internal usage only
type RevokeDomainRequest ¶
type RevokeDomainRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// DomainID: ID of the domain to delete.
	DomainID string `json:"-"`
}
    RevokeDomainRequest: revoke domain request.
type Statistics ¶
type Statistics struct {
	// TotalCount: total number of emails matching the requested criteria.
	TotalCount uint32 `json:"total_count"`
	// NewCount: number of emails still in the `new` transient state. This means emails received from the API but not yet processed.
	NewCount uint32 `json:"new_count"`
	// SendingCount: number of emails still in the `sending` transient state. This means emails received from the API but not yet in their final status.
	SendingCount uint32 `json:"sending_count"`
	// SentCount: number of emails in the final `sent` state. This means emails that have been delivered to the target mail system.
	SentCount uint32 `json:"sent_count"`
	// FailedCount: number of emails in the final `failed` state. This means emails that have been refused by the target mail system with a final error status.
	FailedCount uint32 `json:"failed_count"`
	// CanceledCount: number of emails in the final `canceled` state. This means emails that have been canceled upon request.
	CanceledCount uint32 `json:"canceled_count"`
}
    Statistics: statistics.
type UpdateWebhookRequest ¶
type UpdateWebhookRequest struct {
	// Region: region to target. If none is passed will use default region from the config.
	Region scw.Region `json:"-"`
	// WebhookID: ID of the Webhook to update.
	WebhookID string `json:"-"`
	// Name: name of the Webhook to update.
	Name *string `json:"name,omitempty"`
	// EventTypes: list of event types to update.
	EventTypes []WebhookEventType `json:"event_types"`
	// SnsArn: scaleway SNS ARN topic to update.
	SnsArn *string `json:"sns_arn,omitempty"`
}
    UpdateWebhookRequest: update webhook request.
type WaitForDomainRequest ¶
type WaitForDomainRequest struct {
	DomainID      string
	Region        scw.Region
	Timeout       *time.Duration
	RetryInterval *time.Duration
}
    WaitForDomainRequest is used by WaitForDomain method
type Webhook ¶
type Webhook struct {
	// ID: ID of the Webhook.
	ID string `json:"id"`
	// DomainID: ID of the Domain to watch for triggering events.
	DomainID string `json:"domain_id"`
	// OrganizationID: ID of the Webhook Organization.
	OrganizationID string `json:"organization_id"`
	// ProjectID: ID of the Webhook Project.
	ProjectID string `json:"project_id"`
	// Name: name of the Webhook.
	Name string `json:"name"`
	// EventTypes: list of event types that will trigger a Webhook Event.
	EventTypes []WebhookEventType `json:"event_types"`
	// SnsArn: scaleway SNS ARN topic to push the events to.
	SnsArn string `json:"sns_arn"`
	// CreatedAt: date and time of the Webhook creation.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date and time of last Webhook updates.
	UpdatedAt *time.Time `json:"updated_at"`
}
    Webhook: webhook.
type WebhookEvent ¶
type WebhookEvent struct {
	// ID: ID of the Webhook Event.
	ID string `json:"id"`
	// WebhookID: ID of the Webhook that triggers the Event.
	WebhookID string `json:"webhook_id"`
	// OrganizationID: ID of the Webhook Event Organization.
	OrganizationID string `json:"organization_id"`
	// ProjectID: ID of the Webhook Event Project.
	ProjectID string `json:"project_id"`
	// DomainID: ID of the webhook event domain.
	DomainID string `json:"domain_id"`
	// Type: type of the Webhook Event.
	// Default value: unknown_type
	Type WebhookEventType `json:"type"`
	// Status: status of the Webhook Event.
	// Default value: unknown_status
	Status WebhookEventStatus `json:"status"`
	// Data: data sent to the Webhook destination.
	Data string `json:"data"`
	// CreatedAt: date and time of the Webhook Event creation.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date and time of last Webhook Event updates.
	UpdatedAt *time.Time `json:"updated_at"`
	// EmailID: optional Email ID if the event is triggered by an Email resource.
	EmailID *string `json:"email_id"`
}
    WebhookEvent: webhook event.
type WebhookEventStatus ¶
type WebhookEventStatus string
func (WebhookEventStatus) MarshalJSON ¶
func (enum WebhookEventStatus) MarshalJSON() ([]byte, error)
func (WebhookEventStatus) String ¶
func (enum WebhookEventStatus) String() string
func (*WebhookEventStatus) UnmarshalJSON ¶
func (enum *WebhookEventStatus) UnmarshalJSON(data []byte) error
func (WebhookEventStatus) Values ¶
func (enum WebhookEventStatus) Values() []WebhookEventStatus
type WebhookEventType ¶
type WebhookEventType string
func (WebhookEventType) MarshalJSON ¶
func (enum WebhookEventType) MarshalJSON() ([]byte, error)
func (WebhookEventType) String ¶
func (enum WebhookEventType) String() string
func (*WebhookEventType) UnmarshalJSON ¶
func (enum *WebhookEventType) UnmarshalJSON(data []byte) error
func (WebhookEventType) Values ¶
func (enum WebhookEventType) Values() []WebhookEventType