Documentation ¶
Index ¶
- Constants
- type API
- func (s *API) AddAttachment(id, file string, canSendInEmail bool) (data AttachementResponse, err error)
- func (s *API) AddChargeToSubscription(request SubscriptionAddCharge, ID string) (data AddChargeResponse, err error)
- func (s *API) AddItems(id string, request AddItemsRequest) (data AddItemsResponse, err error)
- func (s *API) CancelSubscription(ID string, cancelAtEnd bool) (data SubscriptionCancelResponse, err error)
- func (s *API) CollectChargeViaBankAccount(id string, request CollectChargeViaBankAccountRequest) (data CollectChargeViaBankAccountResponse, err error)
- func (s *API) CollectChargeViaCreditCard(id string, request CollectChargeViaCreditCardRequest) (data CollectChargeViaCreditCardResponse, err error)
- func (s *API) CreateSubscription(request SubscriptionCreate) (data SubscriptionResponse, err error)
- func (s *API) DeleteSubscription(ID string) (data SubscriptionDeleteResponse, err error)
- func (s *API) EmailInvoice(id string, request EmailInvoiceRequest) (data EmailInvoiceResponse, err error)
- func (s *API) GetCustomer(id string) (data CustomerResponse, err error)
- func (s *API) GetInvoice(id string) (data InvoiceResponse, err error)
- func (s *API) GetSubscription(id string) (data SubscriptionResponse, err error)
- func (s *API) ListAllInvoices(status InvoiceStatus) (data InvoicesResponse, err error)
- func (s *API) ListInvoicesForCustomer(status InvoiceStatus, customerID string) (data InvoicesResponse, err error)
- func (s *API) ListInvoicesForSubscription(status InvoiceStatus, subscriptionID string) (data InvoicesResponse, err error)
- func (s *API) ListSubscriptions(status SubscriptionStatus) (data SubscriptionsResponse, err error)
- func (s *API) UpdateSubscription(request SubscriptionUpdate, ID string) (data SubscriptionResponse, err error)
- type AddChargeResponse
- type AddItemsRequest
- type AddItemsResponse
- type Addon
- type Address
- type AttachementResponse
- type AttachmentRequest
- type CollectChargeInvoiceResponse
- type CollectChargeViaBankAccountRequest
- type CollectChargeViaBankAccountResponse
- type CollectChargeViaCreditCardRequest
- type CollectChargeViaCreditCardResponse
- type Comment
- type ContactPerson
- type Coupon
- type Credit
- type CustomField
- type Customer
- type CustomerResponse
- type Document
- type EmailInvoiceRequest
- type EmailInvoiceResponse
- type Invoice
- type InvoiceItem
- type InvoiceItemRequest
- type InvoiceResponse
- type InvoiceStatus
- type InvoicesResponse
- type Payment
- type PaymentGateway
- type Plan
- type Subscription
- type SubscriptionAddCharge
- type SubscriptionCancelResponse
- type SubscriptionCreate
- type SubscriptionDeleteResponse
- type SubscriptionResponse
- type SubscriptionStatus
- type SubscriptionUpdate
- type SubscriptionsResponse
- type Tag
Constants ¶
const ZohoSubscriptionsEndpointHeader = "X-com-zoho-subscriptions-organizationid"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
API is used for interacting with the Zoho Subscriptions API
func (*API) AddAttachment ¶
func (s *API) AddAttachment(id, file string, canSendInEmail bool) (data AttachementResponse, err error)
AddAttachment attaches a file to an invoice https://www.zoho.com/subscriptions/api/v1/#Invoices_Add_attachment_to_an_invoice
func (*API) AddChargeToSubscription ¶
func (s *API) AddChargeToSubscription(request SubscriptionAddCharge, ID string) (data AddChargeResponse, err error)
AddChargeToSubscription charges a one-time amount for the subscription https://www.zoho.com/subscriptions/api/v1/#Subscriptions_Update_a_subscription
func (*API) AddItems ¶
func (s *API) AddItems(id string, request AddItemsRequest) (data AddItemsResponse, err error)
AddItems adds items to pending invoice https://www.zoho.com/subscriptions/api/v1/#Invoices_Add_items_to_a_pending_invoice
func (*API) CancelSubscription ¶
func (s *API) CancelSubscription(ID string, cancelAtEnd bool) (data SubscriptionCancelResponse, err error)
CancelSubscription will cancel subscription by id https://www.zoho.com/subscriptions/api/v1/#Subscriptions_Cancel_a_subscription
func (*API) CollectChargeViaBankAccount ¶
func (s *API) CollectChargeViaBankAccount(id string, request CollectChargeViaBankAccountRequest) (data CollectChargeViaBankAccountResponse, err error)
CollectChargeViaBankAccount collects charge via bank account https://www.zoho.com/subscriptions/api/v1/#Invoices_Collect_charge_via_bank_account
func (*API) CollectChargeViaCreditCard ¶
func (s *API) CollectChargeViaCreditCard(id string, request CollectChargeViaCreditCardRequest) (data CollectChargeViaCreditCardResponse, err error)
CollectChargeViaCreditCard collects charge via credit card https://www.zoho.com/subscriptions/api/v1/#Invoices_Collect_charge_via_credit_card Note: Real life reply for this request differs from Zoho documentation, so CollectChargeViaCreditCardResponse was updated to include both top level objects: - 'payment' per documentation - 'invoice' per real life reply
func (*API) CreateSubscription ¶
func (s *API) CreateSubscription(request SubscriptionCreate) (data SubscriptionResponse, err error)
CreateSubscription creates new subscription https://www.zoho.com/subscriptions/api/v1/#Subscriptions_Create_a_subscription
func (*API) DeleteSubscription ¶
func (s *API) DeleteSubscription(ID string) (data SubscriptionDeleteResponse, err error)
DeleteSubscription will delete subscription by id https://www.zoho.com/subscriptions/api/v1/#Subscriptions_Delete_a_subscription
func (*API) EmailInvoice ¶
func (s *API) EmailInvoice(id string, request EmailInvoiceRequest) (data EmailInvoiceResponse, err error)
EmailInvoice sends an invoice in email https://www.zoho.com/subscriptions/api/v1/#Invoices_Email_an_invoice
func (*API) GetCustomer ¶
func (s *API) GetCustomer(id string) (data CustomerResponse, err error)
GetCustomer will return customer specified by id https://www.zoho.com/subscriptions/api/v1/#Invoices_Retrieve_a_subscription
func (*API) GetInvoice ¶
func (s *API) GetInvoice(id string) (data InvoiceResponse, err error)
GetInvoice will return the subscription specified by id https://www.zoho.com/subscriptions/api/v1/#Invoices_Retrieve_a_subscription
func (*API) GetSubscription ¶
func (s *API) GetSubscription(id string) (data SubscriptionResponse, err error)
GetSubscription will return the subscription specified by id https://www.zoho.com/subscriptions/api/v1/#Subscriptions_Retrieve_a_subscription
func (*API) ListAllInvoices ¶
func (s *API) ListAllInvoices(status InvoiceStatus) (data InvoicesResponse, err error)
ListAllInvoices will return the list of invoices that match the given invoice status https://www.zoho.com/subscriptions/api/v1/#Invoices_List_all_invoices
func (*API) ListInvoicesForCustomer ¶
func (s *API) ListInvoicesForCustomer(status InvoiceStatus, customerID string) (data InvoicesResponse, err error)
ListInvoicesForSubscription will return the list of invoices that match the given invoice status and customer ID https://www.zoho.com/subscriptions/api/v1/#Invoices_List_all_invoices
func (*API) ListInvoicesForSubscription ¶
func (s *API) ListInvoicesForSubscription(status InvoiceStatus, subscriptionID string) (data InvoicesResponse, err error)
ListInvoicesForSubscription will return the list of invoices that match the given invoice status and subscription ID https://www.zoho.com/subscriptions/api/v1/#Invoices_List_all_invoices
func (*API) ListSubscriptions ¶
func (s *API) ListSubscriptions(status SubscriptionStatus) (data SubscriptionsResponse, err error)
ListSubscriptions will return the list of subscriptions that match the given subscription status. https://www.zoho.com/subscriptions/api/v1/#Subscriptions_List_all_subscriptions
func (*API) UpdateSubscription ¶
func (s *API) UpdateSubscription(request SubscriptionUpdate, ID string) (data SubscriptionResponse, err error)
UpdateSubscription will modify subscription by the data provided to request https://www.zoho.com/subscriptions/api/v1/#Subscriptions_Update_a_subscription
type AddChargeResponse ¶
type AddChargeResponse struct { Code int64 `json:"code"` Message string `json:"message"` Invoice struct { AchPaymentInitiated bool `json:"ach_payment_initiated"` Adjustment float64 `json:"adjustment"` AdjustmentDescription string `json:"adjustment_description"` AllowPartialPayments bool `json:"allow_partial_payments"` ApproverID string `json:"approver_id"` AutoRemindersConfigured bool `json:"auto_reminders_configured"` Balance float64 `json:"balance"` BcyAdjustment float64 `json:"bcy_adjustment"` BcyDiscountTotal float64 `json:"bcy_discount_total"` BcyShippingCharge float64 `json:"bcy_shipping_charge"` BcySubTotal float64 `json:"bcy_sub_total"` BcyTaxTotal float64 `json:"bcy_tax_total"` BcyTotal float64 `json:"bcy_total"` BillingAddress struct { Address string `json:"address"` Attention string `json:"attention"` City string `json:"city"` Country string `json:"country"` Fax string `json:"fax"` Phone string `json:"phone"` State string `json:"state"` Street string `json:"street"` Street2 string `json:"street2"` Zip string `json:"zip"` } `json:"billing_address"` CanEditItems bool `json:"can_edit_items"` CanSendInMail bool `json:"can_send_in_mail"` CanSendInvoiceSms bool `json:"can_send_invoice_sms"` CanSkipPaymentInfo bool `json:"can_skip_payment_info"` ClientViewedTime string `json:"client_viewed_time"` Contactpersons []struct { ContactpersonID string `json:"contactperson_id"` Email string `json:"email"` Mobile string `json:"mobile"` Phone string `json:"phone"` ZcrmContactID string `json:"zcrm_contact_id"` } `json:"contactpersons"` Coupons []Coupon `json:"coupons"` CreatedByID string `json:"created_by_id"` CreatedDate string `json:"created_date"` CreatedTime string `json:"created_time"` Credits []interface{} `json:"credits"` CreditsApplied float64 `json:"credits_applied"` CurrencyCode string `json:"currency_code"` CurrencyID string `json:"currency_id"` CurrencySymbol string `json:"currency_symbol"` CustomFieldHash struct { } `json:"custom_field_hash"` CustomFields []CustomField `json:"custom_fields"` CustomerCustomFieldHash struct { } `json:"customer_custom_field_hash"` CustomerCustomFields []CustomField `json:"customer_custom_fields"` CustomerID string `json:"customer_id"` CustomerName string `json:"customer_name"` Date string `json:"date"` DiscountPercent float64 `json:"discount_percent"` DiscountTotal float64 `json:"discount_total"` Documents []interface{} `json:"documents"` DueDate string `json:"due_date"` Email string `json:"email"` ExchangeRate float64 `json:"exchange_rate"` InprocessTransactionPresent bool `json:"inprocess_transaction_present"` InvoiceDate string `json:"invoice_date"` InvoiceID string `json:"invoice_id"` InvoiceItems []struct { AccountID string `json:"account_id"` AccountName string `json:"account_name"` Code string `json:"code"` Description string `json:"description"` DiscountAmount float64 `json:"discount_amount"` ItemCustomFields []CustomField `json:"item_custom_fields"` ItemID string `json:"item_id"` ItemTotal float64 `json:"item_total"` Name string `json:"name"` Price float64 `json:"price"` ProductID string `json:"product_id"` ProductType string `json:"product_type"` Quantity float64 `json:"quantity"` Tags []Tag `json:"tags"` TaxID string `json:"tax_id"` TaxName string `json:"tax_name"` TaxPercentage float64 `json:"tax_percentage"` TaxType string `json:"tax_type"` Unit string `json:"unit"` } `json:"invoice_items"` InvoiceNumber string `json:"invoice_number"` InvoiceURL string `json:"invoice_url"` IsInclusiveTax bool `json:"is_inclusive_tax"` IsReverseChargeApplied bool `json:"is_reverse_charge_applied"` IsViewedByClient bool `json:"is_viewed_by_client"` LastModifiedByID string `json:"last_modified_by_id"` Notes string `json:"notes"` Number string `json:"number"` PageWidth string `json:"page_width"` PaymentExpectedDate string `json:"payment_expected_date"` PaymentGateways []struct { PaymentGateway string `json:"payment_gateway"` } `json:"payment_gateways"` PaymentMade float64 `json:"payment_made"` PaymentReminderEnabled bool `json:"payment_reminder_enabled"` PaymentTerms int64 `json:"payment_terms"` PaymentTermsLabel string `json:"payment_terms_label"` Payments []struct { Amount float64 `json:"amount"` AmountRefunded float64 `json:"amount_refunded"` BankCharges float64 `json:"bank_charges"` CardType string `json:"card_type"` Date string `json:"date"` Description string `json:"description"` ExchangeRate float64 `json:"exchange_rate"` GatewayTransactionID string `json:"gateway_transaction_id"` InvoicePaymentID string `json:"invoice_payment_id"` LastFourDigits string `json:"last_four_digits"` PaymentID string `json:"payment_id"` PaymentMode string `json:"payment_mode"` ReferenceNumber string `json:"reference_number"` SettlementStatus string `json:"settlement_status"` } `json:"payments"` PricePrecision int64 `json:"price_precision"` PricebookID string `json:"pricebook_id"` ReferenceID string `json:"reference_id"` ReferenceNumber string `json:"reference_number"` SalespersonID string `json:"salesperson_id"` SalespersonName string `json:"salesperson_name"` ShippingAddress struct { Address string `json:"address"` Attention string `json:"attention"` City string `json:"city"` Country string `json:"country"` Fax string `json:"fax"` Phone string `json:"phone"` State string `json:"state"` Street string `json:"street"` Street2 string `json:"street2"` Zip string `json:"zip"` } `json:"shipping_address"` ShippingCharge float64 `json:"shipping_charge"` ShippingChargeExclusiveOfTax float64 `json:"shipping_charge_exclusive_of_tax"` ShippingChargeExclusiveOfTaxFormatted string `json:"shipping_charge_exclusive_of_tax_formatted"` ShippingChargeInclusiveOfTax float64 `json:"shipping_charge_inclusive_of_tax"` ShippingChargeInclusiveOfTaxFormatted string `json:"shipping_charge_inclusive_of_tax_formatted"` ShippingChargeTax string `json:"shipping_charge_tax"` ShippingChargeTaxFormatted string `json:"shipping_charge_tax_formatted"` ShippingChargeTaxID string `json:"shipping_charge_tax_id"` ShippingChargeTaxName string `json:"shipping_charge_tax_name"` ShippingChargeTaxPercentage string `json:"shipping_charge_tax_percentage"` ShippingChargeTaxType string `json:"shipping_charge_tax_type"` Status string `json:"status"` StopReminderUntilPaymentExpectedDate bool `json:"stop_reminder_until_payment_expected_date"` SubTotal float64 `json:"sub_total"` SubmitterID string `json:"submitter_id"` Subscriptions []struct { SubscriptionID string `json:"subscription_id"` } `json:"subscriptions"` TaxRounding string `json:"tax_rounding"` TaxTotal float64 `json:"tax_total"` Taxes []interface{} `json:"taxes"` TemplateID string `json:"template_id"` TemplateName string `json:"template_name"` TemplateType string `json:"template_type"` Terms string `json:"terms"` Total float64 `json:"total"` TransactionType string `json:"transaction_type"` UnbilledChargesID string `json:"unbilled_charges_id"` UnusedCreditsReceivableAmount float64 `json:"unused_credits_receivable_amount"` UpdatedTime string `json:"updated_time"` VatTreatment string `json:"vat_treatment"` WriteOffAmount float64 `json:"write_off_amount"` ZcrmPotentialID string `json:"zcrm_potential_id"` } `json:"invoice"` UnbilledCharge struct { Balance float64 `json:"balance"` BillingAddress struct { Attention string `json:"attention"` City string `json:"city"` Country string `json:"country"` Fax string `json:"fax"` Phone string `json:"phone"` State string `json:"state"` Street string `json:"street"` Street2 string `json:"street2"` Zip string `json:"zip"` } `json:"billing_address"` Coupons []Coupon `json:"coupons"` CreatedTime string `json:"created_time"` CurrencyCode string `json:"currency_code"` CurrencySymbol string `json:"currency_symbol"` CustomFieldHash struct { } `json:"custom_field_hash"` CustomFields []CustomField `json:"custom_fields"` CustomerCustomFieldHash struct { } `json:"customer_custom_field_hash"` CustomerCustomFields []CustomField `json:"customer_custom_fields"` CustomerID string `json:"customer_id"` CustomerName string `json:"customer_name"` Email string `json:"email"` IsInclusiveTax bool `json:"is_inclusive_tax"` IsOnlineSubscription bool `json:"is_online_subscription"` IsReverseChargeApplied bool `json:"is_reverse_charge_applied"` Number string `json:"number"` PricePrecision int64 `json:"price_precision"` SalespersonID string `json:"salesperson_id"` SalespersonName string `json:"salesperson_name"` ShippingAddress struct { Attention string `json:"attention"` City string `json:"city"` Country string `json:"country"` Fax string `json:"fax"` Phone string `json:"phone"` State string `json:"state"` Street string `json:"street"` Street2 string `json:"street2"` Zip string `json:"zip"` } `json:"shipping_address"` Status string `json:"status"` SubTotal float64 `json:"sub_total"` SubscriptionID string `json:"subscription_id"` TaxRounding string `json:"tax_rounding"` TaxTotal float64 `json:"tax_total"` Taxes []interface{} `json:"taxes"` Total float64 `json:"total"` TransactionType string `json:"transaction_type"` UnbilledChargeDate string `json:"unbilled_charge_date"` UnbilledChargeID string `json:"unbilled_charge_id"` UnbilledChargeItems []struct { AccountID string `json:"account_id"` Code string `json:"code"` Description string `json:"description"` DiscountAmount float64 `json:"discount_amount"` ItemTotal float64 `json:"item_total"` Name string `json:"name"` Price float64 `json:"price"` ProductID string `json:"product_id"` ProductType string `json:"product_type"` Quantity float64 `json:"quantity"` TaxID string `json:"tax_id"` TaxName string `json:"tax_name"` TaxPercentage float64 `json:"tax_percentage"` TaxType string `json:"tax_type"` UnbilledChargeItemID string `json:"unbilled_charge_item_id"` } `json:"unbilled_charge_items"` UnusedCreditsReceivableAmount float64 `json:"unused_credits_receivable_amount"` UpdatedTime string `json:"updated_time"` } `json:"unbilled_charge"` }
type AddItemsRequest ¶
type AddItemsRequest struct {
InvoiceItems []InvoiceItemRequest `json:"invoice_items,omitempty"`
}
type AddItemsResponse ¶
type AddItemsResponse struct { Code int64 `json:"code"` Message string `json:"message"` Invoice struct { InvoiceID string `json:"invoice_id"` Number string `json:"number"` Status string `json:"status"` InvoiceDate string `json:"invoice_date"` DueDate string `json:"due_date"` PaymentExpectedDate string `json:"payment_expected_date"` AchPaymentInitiated bool `json:"ach_payment_initiated"` TransactionType string `json:"transaction_type"` CustomerID string `json:"customer_id"` CustomerName string `json:"customer_name"` Email string `json:"email"` InvoiceItems []struct { ItemID string `json:"item_id"` Name string `json:"name"` Description string `json:"description"` Tags []Tag `json:"tags"` ItemCustomFields []CustomField `json:"item_custom_fields"` Code string `json:"code"` Price float64 `json:"price"` Quantity float64 `json:"quantity"` DiscountAmount float64 `json:"discount_amount"` ItemTotal float64 `json:"item_total"` TaxID string `json:"tax_id"` ProductType string `json:"product_type"` HsnOrSac string `json:"hsn_or_sac"` TaxExemptionID string `json:"tax_exemption_id"` TaxExemptionCode string `json:"tax_exemption_code"` } `json:"invoice_items"` Coupons []struct { CouponCode string `json:"coupon_code"` CouponName string `json:"coupon_name"` DiscountAmount float64 `json:"discount_amount"` } `json:"coupons"` Credits []struct { CreditnoteID string `json:"creditnote_id"` CreditnotesNumber string `json:"creditnotes_number"` CreditedDate string `json:"credited_date"` CreditedAmount float64 `json:"credited_amount"` } `json:"credits"` Total float64 `json:"total"` PaymentMade float64 `json:"payment_made"` Balance float64 `json:"balance"` CreditsApplied float64 `json:"credits_applied"` WriteOffAmount float64 `json:"write_off_amount"` Payments []struct { PaymentID string `json:"payment_id"` PaymentMode string `json:"payment_mode"` InvoicePaymentID string `json:"invoice_payment_id"` GatewayTransactionID string `json:"gateway_transaction_id"` Description string `json:"description"` Date string `json:"date"` ReferenceNumber string `json:"reference_number"` Amount float64 `json:"amount"` BankCharges float64 `json:"bank_charges"` ExchangeRate float64 `json:"exchange_rate"` } `json:"payments"` CurrencyCode string `json:"currency_code"` CurrencySymbol string `json:"currency_symbol"` CreatedTime string `json:"created_time"` UpdatedTime string `json:"updated_time"` SalespersonID string `json:"salesperson_id"` SalespersonName string `json:"salesperson_name"` InvoiceURL string `json:"invoice_url"` BillingAddress Address `json:"billing_address"` ShippingAddress Address `json:"shipping_address"` Comments []struct { CommentID string `json:"comment_id"` Description string `json:"description"` CommentedByID string `json:"commented_by_id"` CommentedBy string `json:"commented_by"` CommentType string `json:"comment_type"` Time string `json:"time"` OperationType string `json:"operation_type"` TransactionID string `json:"transaction_id"` TransactionType string `json:"transaction_type"` } `json:"comments"` CustomFields []CustomField `json:"custom_fields"` } `json:"invoice"` }
type Addon ¶
type Addon struct { AddonCode string `json:"addon_code,omitempty"` Name string `json:"name,omitempty"` AddonDescription string `json:"addon_description,omitempty"` Quantity float64 `json:"quantity,omitempty"` Price float64 `json:"price,omitempty"` Discount float64 `json:"discount,omitempty"` Total float64 `json:"total,omitempty"` TaxID string `json:"tax_id,omitempty"` }
type Address ¶
type Address struct { Attention string `json:"attention,omitempty"` Street string `json:"street,omitempty"` Street2 string `json:"street2,omitempty"` City string `json:"city,omitempty"` State string `json:"state,omitempty"` Country string `json:"country,omitempty"` Zip string `json:"zip,omitempty"` Fax string `json:"fax,omitempty"` }
type AttachementResponse ¶
type AttachementResponse struct { Code int64 `json:"code"` Message string `json:"message"` Documents []struct { FileName string `json:"file_name"` FileType string `json:"file_type"` FileSize int64 `json:"file_size"` FileSizeFormatted string `json:"file_size_formatted"` DocumentID string `json:"document_id"` AttachmentOrder int64 `json:"attachment_order"` } `json:"documents"` }
type AttachmentRequest ¶
type AttachmentRequest struct {
CanSendInEmail bool `json:"can_send_in_mail"`
}
type CollectChargeInvoiceResponse ¶
type CollectChargeInvoiceResponse struct { AchPaymentInitiated bool `json:"ach_payment_initiated"` Adjustment float64 `json:"adjustment"` AdjustmentDescription string `json:"adjustment_description"` AllowPartialPayments bool `json:"allow_partial_payments"` ApproverID string `json:"approver_id"` AutoRemindersConfigured bool `json:"auto_reminders_configured"` Balance float64 `json:"balance"` BcyAdjustment float64 `json:"bcy_adjustment"` BcyDiscountTotal float64 `json:"bcy_discount_total"` BcyShippingCharge float64 `json:"bcy_shipping_charge"` BcySubTotal float64 `json:"bcy_sub_total"` BcyTaxTotal float64 `json:"bcy_tax_total"` BcyTotal float64 `json:"bcy_total"` BillingAddress struct { Address string `json:"address"` Attention string `json:"attention"` City string `json:"city"` Country string `json:"country"` Fax string `json:"fax"` Phone string `json:"phone"` State string `json:"state"` Street string `json:"street"` Street2 string `json:"street2"` Zip string `json:"zip"` } `json:"billing_address"` CanEditItems bool `json:"can_edit_items"` CanSendInMail bool `json:"can_send_in_mail"` CanSendInvoiceSms bool `json:"can_send_invoice_sms"` CanSkipPaymentInfo bool `json:"can_skip_payment_info"` ClientViewedTime string `json:"client_viewed_time"` Contactpersons []struct { ContactpersonID string `json:"contactperson_id"` Email string `json:"email"` Mobile string `json:"mobile"` Phone string `json:"phone"` ZcrmContactID string `json:"zcrm_contact_id"` } `json:"contactpersons"` Coupons []Coupon `json:"coupons"` CreatedByID string `json:"created_by_id"` CreatedDate string `json:"created_date"` CreatedTime string `json:"created_time"` Credits []Credit `json:"credits"` CreditsApplied float64 `json:"credits_applied"` CurrencyCode string `json:"currency_code"` CurrencyID string `json:"currency_id"` CurrencySymbol string `json:"currency_symbol"` CustomFieldHash struct { } `json:"custom_field_hash"` CustomFields []CustomField `json:"custom_fields"` CustomerCustomFieldHash struct { } `json:"customer_custom_field_hash"` CustomerCustomFields []CustomField `json:"customer_custom_fields"` CustomerID string `json:"customer_id"` CustomerName string `json:"customer_name"` Date string `json:"date"` DiscountPercent float64 `json:"discount_percent"` DiscountTotal float64 `json:"discount_total"` Documents []interface{} `json:"documents"` DueDate string `json:"due_date"` Email string `json:"email"` ExchangeRate float64 `json:"exchange_rate"` InprocessTransactionPresent bool `json:"inprocess_transaction_present"` InvoiceDate string `json:"invoice_date"` InvoiceID string `json:"invoice_id"` InvoiceItems []struct { AccountID string `json:"account_id"` AccountName string `json:"account_name"` Code string `json:"code"` Description string `json:"description"` DiscountAmount float64 `json:"discount_amount"` ItemCustomFields []CustomField `json:"item_custom_fields"` ItemID string `json:"item_id"` ItemTotal float64 `json:"item_total"` Name string `json:"name"` Price float64 `json:"price"` ProductID string `json:"product_id"` ProductType string `json:"product_type"` Quantity int64 `json:"quantity"` Tags []Tag `json:"tags"` TaxID string `json:"tax_id"` TaxName string `json:"tax_name"` TaxPercentage float64 `json:"tax_percentage"` TaxType string `json:"tax_type"` Unit string `json:"unit"` } `json:"invoice_items"` InvoiceNumber string `json:"invoice_number"` InvoiceURL string `json:"invoice_url"` IsInclusiveTax bool `json:"is_inclusive_tax"` IsReverseChargeApplied bool `json:"is_reverse_charge_applied"` IsViewedByClient bool `json:"is_viewed_by_client"` IsViewedInMail bool `json:"is_viewed_in_mail"` LastModifiedByID string `json:"last_modified_by_id"` MailFirstViewedTime string `json:"mail_first_viewed_time"` MailLastViewedTime string `json:"mail_last_viewed_time"` Notes string `json:"notes"` Number string `json:"number"` PageWidth string `json:"page_width"` PaymentExpectedDate string `json:"payment_expected_date"` PaymentGateways []struct { PaymentGateway string `json:"payment_gateway"` } `json:"payment_gateways"` PaymentMade int64 `json:"payment_made"` PaymentReminderEnabled bool `json:"payment_reminder_enabled"` PaymentTerms int64 `json:"payment_terms"` PaymentTermsLabel string `json:"payment_terms_label"` Payments []struct { Amount float64 `json:"amount"` AmountRefunded float64 `json:"amount_refunded"` BankCharges float64 `json:"bank_charges"` CardType string `json:"card_type"` Date string `json:"date"` Description string `json:"description"` ExchangeRate float64 `json:"exchange_rate"` GatewayTransactionID string `json:"gateway_transaction_id"` InvoicePaymentID string `json:"invoice_payment_id"` LastFourDigits string `json:"last_four_digits"` PaymentID string `json:"payment_id"` PaymentMode string `json:"payment_mode"` ReferenceNumber string `json:"reference_number"` SettlementStatus string `json:"settlement_status"` } `json:"payments"` PricePrecision int64 `json:"price_precision"` PricebookID string `json:"pricebook_id"` ReferenceID string `json:"reference_id"` ReferenceNumber string `json:"reference_number"` SalespersonID string `json:"salesperson_id"` SalespersonName string `json:"salesperson_name"` ShippingAddress struct { Address string `json:"address"` Attention string `json:"attention"` City string `json:"city"` Country string `json:"country"` Fax string `json:"fax"` Phone string `json:"phone"` State string `json:"state"` Street string `json:"street"` Street2 string `json:"street2"` Zip string `json:"zip"` } `json:"shipping_address"` ShippingCharge float64 `json:"shipping_charge"` ShippingChargeExclusiveOfTax float64 `json:"shipping_charge_exclusive_of_tax"` ShippingChargeExclusiveOfTaxFormatted string `json:"shipping_charge_exclusive_of_tax_formatted"` ShippingChargeInclusiveOfTax float64 `json:"shipping_charge_inclusive_of_tax"` ShippingChargeInclusiveOfTaxFormatted string `json:"shipping_charge_inclusive_of_tax_formatted"` ShippingChargeTax string `json:"shipping_charge_tax"` ShippingChargeTaxFormatted string `json:"shipping_charge_tax_formatted"` ShippingChargeTaxID string `json:"shipping_charge_tax_id"` ShippingChargeTaxName string `json:"shipping_charge_tax_name"` ShippingChargeTaxPercentage string `json:"shipping_charge_tax_percentage"` ShippingChargeTaxType string `json:"shipping_charge_tax_type"` Status string `json:"status"` StopReminderUntilPaymentExpectedDate bool `json:"stop_reminder_until_payment_expected_date"` SubTotal float64 `json:"sub_total"` SubmitterID string `json:"submitter_id"` Subscriptions []interface{} `json:"subscriptions"` TaxRounding string `json:"tax_rounding"` TaxTotal float64 `json:"tax_total"` Taxes []interface{} `json:"taxes"` TemplateID string `json:"template_id"` TemplateName string `json:"template_name"` TemplateType string `json:"template_type"` Terms string `json:"terms"` Total float64 `json:"total"` TransactionType string `json:"transaction_type"` UnbilledChargesID string `json:"unbilled_charges_id"` UnusedCreditsReceivableAmount float64 `json:"unused_credits_receivable_amount"` UpdatedTime string `json:"updated_time"` VatTreatment string `json:"vat_treatment"` WriteOffAmount float64 `json:"write_off_amount"` ZcrmPotentialID string `json:"zcrm_potential_id"` }
type CollectChargeViaBankAccountRequest ¶
type CollectChargeViaBankAccountRequest struct {
AccountID string `json:"account_id"`
}
type CollectChargeViaBankAccountResponse ¶
type CollectChargeViaBankAccountResponse struct { Code int64 `json:"code"` Message string `json:"message"` Invoice CollectChargeInvoiceResponse `json:"invoice,omitempty"` Payment struct { PaymentID string `json:"payment_id"` PaymentMode string `json:"payment_mode"` Amount float64 `json:"amount"` AmountRefunded float64 `json:"amount_refunded"` BankCharges float64 `json:"bank_charges"` Date string `json:"date"` Status string `json:"status"` ReferenceNumber string `json:"reference_number"` DueDate string `json:"due_date"` AmountDue float64 `json:"amount_due"` Description string `json:"description"` CustomerID string `json:"customer_id"` CustomerName string `json:"customer_name"` Email string `json:"email"` Autotransaction struct { AutotransactionID string `json:"autotransaction_id"` PaymentGateway string `json:"payment_gateway"` GatewayTransactionID string `json:"gateway_transaction_id"` GatewayErrorMessage string `json:"gateway_error_message"` AccountID string `json:"account_id"` } `json:"autotransaction"` Invoices []struct { InvoiceID string `json:"invoice_id"` InvoiceNumber string `json:"invoice_number"` Date string `json:"date"` InvoiceAmount float64 `json:"invoice_amount"` AmountApplied float64 `json:"amount_applied"` BalanceAmount float64 `json:"balance_amount"` } `json:"invoices"` CurrencyCode string `json:"currency_code"` CurrencySymbol string `json:"currency_symbol"` CustomFields []CustomField `json:"custom_fields"` CreatedTime string `json:"created_time"` UpdatedTime string `json:"updated_time"` } `json:"payment,omitempty"` }
type CollectChargeViaCreditCardRequest ¶
type CollectChargeViaCreditCardRequest struct {
CardID string `json:"card_id"`
}
type CollectChargeViaCreditCardResponse ¶
type CollectChargeViaCreditCardResponse struct { Code int64 `json:"code"` Message string `json:"message"` Invoice CollectChargeInvoiceResponse `json:"invoice,omitempty"` Payment struct { PaymentID string `json:"payment_id"` PaymentMode string `json:"payment_mode"` Amount float64 `json:"amount"` AmountRefunded float64 `json:"amount_refunded"` BankCharges float64 `json:"bank_charges"` Date string `json:"date"` Status string `json:"status"` ReferenceNumber string `json:"reference_number"` Description string `json:"description"` CustomerID string `json:"customer_id"` CustomerName string `json:"customer_name"` Email string `json:"email"` Autotransaction struct { AutotransactionID string `json:"autotransaction_id"` PaymentGateway string `json:"payment_gateway"` GatewayTransactionID string `json:"gateway_transaction_id"` GatewayErrorMessage string `json:"gateway_error_message"` CardID string `json:"card_id"` LastFourDigits string `json:"last_four_digits"` ExpiryMonth int64 `json:"expiry_month"` ExpiryYear int64 `json:"expiry_year"` } `json:"autotransaction"` Invoices []struct { InvoiceID string `json:"invoice_id"` InvoiceNumber string `json:"invoice_number"` Date string `json:"date"` InvoiceAmount float64 `json:"invoice_amount"` AmountApplied float64 `json:"amount_applied"` BalanceAmount float64 `json:"balance_amount"` } `json:"invoices"` CurrencyCode string `json:"currency_code"` CurrencySymbol string `json:"currency_symbol"` CustomFields []CustomField `json:"custom_fields"` CreatedTime string `json:"created_time"` UpdatedTime string `json:"updated_time"` } `json:"payment,omitempty"` }
type Comment ¶
type Comment struct { CommentID string `json:"comment_id,omitempty"` Description string `json:"description,omitempty"` CommentedByID string `json:"commented_by_id,omitempty"` CommentedBy string `json:"commented_by,omitempty"` CommentType string `json:"comment_type,omitempty"` Time string `json:"time,omitempty"` OperationType string `json:"operation_type,omitempty"` TransactionID string `json:"transaction_id,omitempty"` TransactionType string `json:"transaction_type,omitempty"` }
type ContactPerson ¶
type ContactPerson struct {
ContactpersonID string `json:"contactperson_id,omitempty"`
}
type CustomField ¶
type Customer ¶
type Customer struct { CustomerID string `json:"customer_id,omitempty"` DisplayName string `json:"display_name,omitempty"` Salutation string `json:"salutation,omitempty"` FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` Email string `json:"email,omitempty"` CompanyName string `json:"company_name,omitempty"` BillingAddress Address `json:"billing_address,omitempty"` ShippingAddress Address `json:"shipping_address,omitempty"` PaymentTerms int64 `json:"payment_terms,omitempty"` PaymentTermsLabel string `json:"payment_terms_label,omitempty"` }
type CustomerResponse ¶
type CustomerResponse struct { Code int64 `json:"code"` Message string `json:"message"` Customer struct { CustomerID string `json:"customer_id"` DisplayName string `json:"display_name"` Salutation string `json:"salutation"` FirstName string `json:"first_name"` LastName string `json:"last_name"` Email string `json:"email"` Tags []struct { TagOptionID string `json:"tag_option_id"` IsTagMandatory bool `json:"is_tag_mandatory"` TagName string `json:"tag_name"` TagID string `json:"tag_id"` TagOptionName string `json:"tag_option_name"` } `json:"tags"` CompanyName string `json:"company_name"` Phone string `json:"phone"` Mobile string `json:"mobile"` Website string `json:"website"` Designation string `json:"designation"` Department string `json:"department"` IsPortalEnabled bool `json:"is_portal_enabled"` BillingAddress struct { Attention string `json:"attention"` Street string `json:"street"` City string `json:"city"` State string `json:"state"` Zip string `json:"zip"` Country string `json:"country"` CountryCode string `json:"country_code"` StateCode string `json:"state_code"` Fax string `json:"fax"` } `json:"billing_address"` ShippingAddress struct { Attention string `json:"attention"` Street string `json:"street"` City string `json:"city"` State string `json:"state"` Zip string `json:"zip"` Country string `json:"country"` CountryCode string `json:"country_code"` StateCode string `json:"state_code"` Fax string `json:"fax"` } `json:"shipping_address"` CurrencyCode string `json:"currency_code"` CurrencyID string `json:"currency_id"` AchSupported bool `json:"ach_supported"` GstNo string `json:"gst_no"` GstTreatment string `json:"gst_treatment"` PlaceOfContact string `json:"place_of_contact"` PricePrecision int64 `json:"price_precision"` UnusedCredits float64 `json:"unused_credits"` Outstanding float64 `json:"outstanding"` Notes string `json:"notes"` Status string `json:"status"` CustomFields []CustomField `json:"custom_fields"` ZcrmAccountID string `json:"zcrm_account_id"` ZcrmContactID string `json:"zcrm_contact_id"` UpdatedTime string `json:"updated_time"` CreatedTime string `json:"created_time"` Source string `json:"source"` PaymentTermsLabel string `json:"payment_terms_label"` IsLinkedWithZohocrm bool `json:"is_linked_with_zohocrm"` PrimaryContactpersonID string `json:"primary_contactperson_id"` CanAddCard bool `json:"can_add_card"` CanAddBankAccount bool `json:"can_add_bank_account"` DefaultTemplates struct { InvoiceTemplateID string `json:"invoice_template_id"` CreditnoteTemplateID string `json:"creditnote_template_id"` } `json:"default_templates"` Documents []struct { CanShowInPortal bool `json:"can_show_in_portal"` FileName string `json:"file_name"` FileType string `json:"file_type"` FileSize int64 `json:"file_size"` FileSizeFormatted string `json:"file_size_formatted"` DocumentID string `json:"document_id"` AttachmentOrder int64 `json:"attachment_order"` } `json:"documents"` } `json:"customer"` }
type Document ¶
type Document struct { FileName string `json:"file_name,omitempty"` FileType string `json:"file_type,omitempty"` FileSize int64 `json:"file_size,omitempty"` FileSizeFormatted string `json:"file_size_formatted,omitempty"` DocumentID string `json:"document_id,omitempty"` AttachmentOrder int64 `json:"attachment_order,omitempty"` }
type EmailInvoiceRequest ¶
type EmailInvoiceResponse ¶
type Invoice ¶
type Invoice struct { InvoiceID string `json:"invoice_id,omitempty"` Number string `json:"number,omitempty"` Status string `json:"status,omitempty"` InvoiceDate string `json:"invoice_date,omitempty"` DueDate string `json:"due_date,omitempty"` CustomerID string `json:"customer_id,omitempty"` CustomerName string `json:"customer_name,omitempty"` Email string `json:"email,omitempty"` Balance float64 `json:"balance,omitempty"` Total float64 `json:"total,omitempty"` PaymentMade float64 `json:"payment_made,omitempty"` CreditsApplied float64 `json:"credits_applied,omitempty"` WriteOffAmount float64 `json:"write_off_amount,omitempty"` CurrencyCode string `json:"currency_code,omitempty"` CurrencySymbol string `json:"currency_symbol,omitempty"` HasAttachment bool `json:"has_attachment,omitempty"` CreatedTime string `json:"created_time,omitempty"` UpdatedTime string `json:"updated_time,omitempty"` SalespersonID string `json:"salesperson_id,omitempty"` SalespersonName string `json:"salesperson_name,omitempty"` InvoiceUrl string `json:"invoice_url,omitempty"` PaymentExpectedDate string `json:"payment_expected_date,omitempty"` ArchPaymentInitiated interface{} `json:"ach_payment_initiated,omitempty"` // per documentation this field should be bool, but received empty string TransactionType string `json:"transaction_type,omitempty"` InvoiceItems []InvoiceItem `json:"invoice_items,omitempty"` Coupons []Coupon `json:"coupons,omitempty"` Credits []Credit `json:"credits,omitempty"` Payments []Payment `json:"payments,omitempty"` BillingAddress Address `json:"billing_address,omitempty"` ShippingAddress Address `json:"shipping_address,omitempty"` Comments []Comment `json:"comments,omitempty"` CustomFields []CustomField `json:"custom_fields,omitempty"` CanSendInEmail bool `json:"can_send_in_mail,omitempty"` Documents []Document `json:"documents,omitempty"` }
type InvoiceItem ¶
type InvoiceItem struct { ItemID string `json:"item_id,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Code string `json:"code,omitempty"` Tags []Tag `json:"tags,omitempty"` ItemCustomFields []CustomField `json:"item_custom_fields,omitempty"` Price float64 `json:"price,omitempty"` Quantity float64 `json:"quantity,omitempty"` DiscountAmount float64 `json:"discount_amount,omitempty"` ItemTotal float64 `json:"item_total,omitempty"` TaxID string `json:"tax_id,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` TaxExemptionCode string `json:"tax_exemption_code,omitempty"` }
type InvoiceItemRequest ¶
type InvoiceItemRequest struct { Code string `json:"code,omitempty"` ProductID string `json:"product_id,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Price float64 `json:"price,omitempty"` Quantity float64 `json:"quantity,omitempty"` TaxID string `json:"tax_id,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` }
type InvoiceResponse ¶
type InvoiceStatus ¶
type InvoiceStatus string
const ( InvoiceStatusAll InvoiceStatus = "Status.All" InvoiceStatusSent InvoiceStatus = "Status.Sent" InvoiceStatusDraft InvoiceStatus = "Status.Draft" InvoiceStatusOverDue InvoiceStatus = "Status.OverDue" InvoiceStatusPaid InvoiceStatus = "Status.Paid" InvoiceStatusPartiallyPaid InvoiceStatus = "Status.PartiallyPaid" InvoiceStatusVoid InvoiceStatus = "Status.Void" InvoiceStatusUnpaid InvoiceStatus = "Status.Unpaid" InvoiceStatusPending InvoiceStatus = "Status.Pending" // Pending status is not present in zoho documentation, but works )
Proper names for Invoice statuses
type InvoicesResponse ¶
type Payment ¶
type Payment struct { PaymentID string `json:"payment_id,omitempty"` PaymentMode string `json:"payment_mode,omitempty"` InvoicePaymentID string `json:"invoice_payment_id,omitempty"` AmountRefunded float64 `json:"amount_refunded,omitempty"` GatewayTransactionID string `json:"gateway_transaction_id,omitempty"` Description string `json:"description,omitempty"` Date string `json:"date,omitempty"` ReferenceNumber string `json:"reference_number,omitempty"` Amount float64 `json:"amount,omitempty"` BankCharges float64 `json:"bank_charges,omitempty"` ExchangeRate float64 `json:"exchange_rate,omitempty"` }
type PaymentGateway ¶
type PaymentGateway struct {
PaymentGateway string `json:"payment_gateway,omitempty"`
}
type Plan ¶
type Plan struct { PlanCode string `json:"plan_code,omitempty"` Name string `json:"name,omitempty"` Quantity float64 `json:"quantity,omitempty"` Price float64 `json:"price,omitempty"` Discount float64 `json:"discount,omitempty"` Total float64 `json:"total,omitempty"` SetupFee float64 `json:"setup_fee,omitempty"` PlanDescription string `json:"plan_description,omitempty"` TaxID string `json:"tax_id,omitempty"` TrialDays int64 `json:"trial_days,omitempty"` }
type Subscription ¶
type Subscription struct { SubscriptionID string `json:"subscription_id,omitempty"` Name string `json:"name,omitempty"` Status string `json:"status,omitempty"` Amount float64 `json:"amount,omitempty"` CreatedAt string `json:"created_at,omitempty"` ActivatedAt string `json:"activated_at,omitempty"` CurrentTermStartsAt string `json:"current_term_starts_at,omitempty"` CurrentTermEndsAt string `json:"current_term_ends_at,omitempty"` LastBillingAt string `json:"last_billing_at,omitempty"` NextBillingAt string `json:"next_billing_at,omitempty"` ExpiresAt string `json:"expires_at,omitempty"` Interval int64 `json:"interval,omitempty"` IntervalUnit string `json:"interval_unit,omitempty"` AutoCollect bool `json:"auto_collect,omitempty"` CreatedTime string `json:"created_time,omitempty"` UpdatedTime string `json:"updated_time,omitempty"` ReferenceID string `json:"reference_id,omitempty"` SalespersonID string `json:"salesperson_id,omitempty"` SalespersonName string `json:"salesperson_name,omitempty"` ChildInvoiceID string `json:"child_invoice_id,omitempty"` CurrencyCode string `json:"currency_code,omitempty"` CurrencySymbol string `json:"currency_symbol,omitempty"` EndOfTerm bool `json:"end_of_term,omitempty"` ProductID string `json:"product_id,omitempty"` ProductName string `json:"product_name,omitempty"` Plan Plan `json:"plan,omitempty"` Addons []Addon `json:"addons,omitempty"` Coupon struct { CouponCode string `json:"coupon_code,omitempty"` DiscountAmount float64 `json:"discount_amount,omitempty"` } `json:"coupon,omitempty"` Card struct { CardID string `json:"card_id,omitempty"` LastFourDigits string `json:"last_four_digits,omitempty"` PaymentGateway string `json:"payment_gateway,omitempty"` ExpiryMonth int64 `json:"expiry_month,omitempty"` ExpiryYear int64 `json:"expiry_year,omitempty"` } `json:"card,omitempty"` PaymentTerms int64 `json:"payment_terms,omitempty"` PaymentTermsLabel string `json:"payment_terms_label,omitempty"` CanAddBankAccount bool `json:"can_add_bank_account,omitempty"` Customer Customer `json:"customer,omitempty"` CustomFields []CustomField `json:"custom_fields,omitempty"` Contactpersons []ContactPerson `json:"contactpersons,omitempty"` Notes []struct { NoteID string `json:"note_id,omitempty"` Description string `json:"description,omitempty"` CommentedBy string `json:"commented_by,omitempty"` CommentedTime string `json:"commented_time,omitempty"` } `json:"notes,omitempty"` PaymentGateways []PaymentGateway `json:"payment_gateways,omitempty"` CreateBackdatedInvoice bool `json:"create_backdated_invoice,omitempty"` TemplateID string `json:"template_id,omitempty"` }
type SubscriptionAddCharge ¶
type SubscriptionAddCharge struct { Amount float64 `json:"amount,omitempty"` Description string `json:"description,omitempty"` Tags []Tag `json:"tags,omitempty"` ItemCustomFields []CustomField `json:"item_custom_fields,omitempty"` AccountID string `json:"account_id,omitempty"` AddToUnbilledCharges bool `json:"add_to_unbilled_charges,omitempty"` }
type SubscriptionCancelResponse ¶
type SubscriptionCancelResponse struct { Subscription Subscription `json:"subscription"` Code int64 `json:"code"` Message string `json:"message"` }
type SubscriptionCreate ¶
type SubscriptionCreate struct { AddToUnbilledCharges bool `json:"add_to_unbilled_charges,omitempty"` CustomerID string `json:"customer_id,omitempty"` Customer struct { DisplayName string `json:"display_name,omitempty"` Salutation string `json:"salutation,omitempty"` FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` Email string `json:"email,omitempty"` CompanyName string `json:"company_name,omitempty"` BillingAddress Address `json:"billing_address,omitempty"` ShippingAddress Address `json:"shipping_address,omitempty"` PaymentTerms int64 `json:"payment_terms,omitempty"` PaymentTermsLabel string `json:"payment_terms_label,omitempty"` CustomFields []CustomField `json:"custom_fields,omitempty"` PlaceOfContact string `json:"place_of_contact,omitempty"` GstNo string `json:"gst_no,omitempty"` GstTreatment string `json:"gst_treatment,omitempty"` VatTreatment string `json:"vat_treatment,omitempty"` VatRegNo int64 `json:"vat_reg_no,omitempty"` CountryCode string `json:"country_code,omitempty"` IsTaxable bool `json:"is_taxable,omitempty"` TaxID string `json:"tax_id,omitempty"` TaxAuthorityID string `json:"tax_authority_id,omitempty"` TaxAuthorityName string `json:"tax_authority_name,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` TaxExemptionCode string `json:"tax_exemption_code,omitempty"` } `json:"customer,omitempty"` PaymentTerms int64 `json:"payment_terms,omitempty"` PaymentTermsLabel string `json:"payment_terms_label,omitempty"` CustomFields []CustomField `json:"custom_fields,omitempty"` Contactpersons []struct { ContactpersonID string `json:"contactperson_id,omitempty"` } `json:"contactpersons,omitempty"` StartsAt string `json:"starts_at,omitempty"` ExchangeRate int64 `json:"exchange_rate,omitempty"` PlaceOfSupply string `json:"place_of_supply,omitempty"` Plan struct { PlanCode string `json:"plan_code,omitempty"` PlanDescription string `json:"plan_description,omitempty"` Price float64 `json:"price,omitempty"` SetupFee float64 `json:"setup_fee,omitempty"` SetupFeeTaxID string `json:"setup_fee_tax_id,omitempty"` Tags []Tag `json:"tags,omitempty"` ItemCustomFields []CustomField `json:"item_custom_fields,omitempty"` Quantity float64 `json:"quantity,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` TaxExemptionCode string `json:"tax_exemption_code,omitempty"` SetupFeeTaxExemptionID string `json:"setup_fee_tax_exemption_id,omitempty"` SetupFeeTaxExemptionCode string `json:"setup_fee_tax_exemption_code,omitempty"` ExcludeTrial bool `json:"exclude_trial,omitempty"` ExcludeSetupFee bool `json:"exclude_setup_fee,omitempty"` BillingCycles int64 `json:"billing_cycles,omitempty"` TrialDays int64 `json:"trial_days,omitempty"` } `json:"plan,omitempty"` Addons []struct { AddonCode string `json:"addon_code,omitempty"` AddonDescription string `json:"addon_description,omitempty"` Price float64 `json:"price,omitempty"` Tags []Tag `json:"tags,omitempty"` ItemCustomFields []CustomField `json:"item_custom_fields,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` TaxExemptionCode string `json:"tax_exemption_code,omitempty"` } `json:"addons,omitempty"` CouponCode string `json:"coupon_code,omitempty"` AutoCollect bool `json:"auto_collect,omitempty"` ReferenceID string `json:"reference_id,omitempty"` SalespersonName string `json:"salesperson_name,omitempty"` PaymentGateways []PaymentGateway `json:"payment_gateways,omitempty"` CreateBackdatedInvoice bool `json:"create_backdated_invoice,omitempty"` TemplateID int64 `json:"template_id,omitempty"` }
type SubscriptionResponse ¶
type SubscriptionResponse struct { Subscription Subscription `json:"subscription"` Code int64 `json:"code"` Message string `json:"message"` }
type SubscriptionStatus ¶
type SubscriptionStatus string
const ( SubscriptionStatusAll SubscriptionStatus = "SubscriptionStatus.All" SubscriptionStatusActive SubscriptionStatus = "SubscriptionStatus.ACTIVE" SubscriptionStatusLive SubscriptionStatus = "SubscriptionStatus.LIVE" SubscriptionStatusFuture SubscriptionStatus = "SubscriptionStatus.FUTURE" SubscriptionStatusTrial SubscriptionStatus = "SubscriptionStatus.TRIAL" SubscriptionStatusPastDue SubscriptionStatus = "SubscriptionStatus.PAST_DUE" SubscriptionStatusUnpaid SubscriptionStatus = "SubscriptionStatus.UNPAID" SubscriptionStatusNonRenewing SubscriptionStatus = "SubscriptionStatus.NON_RENEWING" SubscriptionStatusCancelledFromDunning SubscriptionStatus = "SubscriptionStatus.CANCELLED_FROM_DUNNING" SubscriptionStatusCancelled SubscriptionStatus = "SubscriptionStatus.CANCELLED" SubscriptionStatusExpired SubscriptionStatus = "SubscriptionStatus.EXPIRED" SubscriptionStatusTrialExpired SubscriptionStatus = "SubscriptionStatus.TRIAL_EXPIRED" SubscriptionStatusCancelledLastMonth SubscriptionStatus = "SubscriptionStatus.CANCELLED_LAST_MONTH" SubscriptionStatusCancelledThisMonth SubscriptionStatus = "SubscriptionStatus.CANCELLED_THIS_MONTH" SubscriptionModeOnline SubscriptionStatus = "SubscriptionMode.ONLINE" SubscriptionModeOffline SubscriptionStatus = "SubscriptionMode.OFFLINE" )
Proper names for Subscription statuses
type SubscriptionUpdate ¶
type SubscriptionUpdate struct { ExchangeRate float64 `json:"exchange_rate,omitempty,omitempty"` Plan struct { PlanCode string `json:"plan_code,omitempty"` PlanDescription string `json:"plan_description,omitempty"` Price float64 `json:"price,omitempty"` SetupFee float64 `json:"setup_fee,omitempty"` Quantity float64 `json:"quantity,omitempty"` Tags []Tag `json:"tags,omitempty"` ItemCustomFields []CustomField `json:"item_custom_fields,omitempty"` TaxID string `json:"tax_id,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` TaxExemptionCode string `json:"tax_exemption_code,omitempty"` SetupFeeTaxExemptionID string `json:"setup_fee_tax_exemption_id,omitempty"` SetupFeeTaxExemptionCode string `json:"setup_fee_tax_exemption_code,omitempty"` ExcludeTrial bool `json:"exclude_trial,omitempty"` ExcludeSetupFee bool `json:"exclude_setup_fee,omitempty"` BillingCycles int64 `json:"billing_cycles,omitempty"` TrialDays int64 `json:"trial_days,omitempty"` } `json:"plan,omitempty"` Addons []struct { AddonCode string `json:"addon_code,omitempty"` AddonDescription string `json:"addon_description,omitempty"` Price float64 `json:"price,omitempty"` Tags []Tag `json:"tags,omitempty"` ItemCustomFields []CustomField `json:"item_custom_fields,omitempty"` TaxExemptionID string `json:"tax_exemption_id,omitempty"` TaxExemptionCode string `json:"tax_exemption_code,omitempty"` } `json:"addons,omitempty"` AutoCollect bool `json:"auto_collect,omitempty"` CouponCode string `json:"coupon_code,omitempty"` ReferenceID string `json:"reference_id,omitempty"` SalespersonID string `json:"salesperson_id,omitempty"` SalespersonName string `json:"salesperson_name,omitempty"` EndOfTerm bool `json:"end_of_term,omitempty"` Contactpersons []struct { ContactpersonID string `json:"contactperson_id,omitempty"` } `json:"contactpersons,omitempty"` PaymentTerms int64 `json:"payment_terms,omitempty"` PaymentTermsLabel string `json:"payment_terms_label,omitempty"` PaymentGateways []PaymentGateway `json:"payment_gateways,omitempty"` CustomFields []CustomField `json:"custom_fields,omitempty"` TemplateID int64 `json:"template_id,omitempty"` }
type SubscriptionsResponse ¶
type SubscriptionsResponse struct { Subscriptions []Subscription `json:"subscriptions"` Code int64 `json:"code"` Message string `json:"message"` }