Categorygithub.com/pourcheragh/cysend-go
modulepackage
1.1.0
Repository: https://github.com/pourcheragh/cysend-go.git
Documentation: pkg.go.dev

# README

Go API client for cysend

1 Table of content

  1. Table of content
  2. Overview
  3. Changelog
  4. Definitions
  5. API Structure
  6. Technical requirements
  7. Read before you start coding
  8. Integration is done, how do we go live?
  9. Security
  10. HTTP Status Codes
  11. About us

2 Overview

The cysend.com API is a gateway to buy all the products we carry.
The cysend.com API is built following the OpenAPI standards.
read more

2.1 Audience

This document contains the technical interconnection specifications. It is designed to be read by the CUSTOMER’s technical team in charge of the integration.

2.2 Uses

The cysend.com API can be interfaced with different kinds of devices & hosts, such as:

  1. Mobile phones
  2. Terminals
  3. CUSTOMER web sites
  4. Automated points of sales
  5. Automated teller machines
  6. White label websites
  7. White label applications
  8. Custom applications & hardware

3 Changelog

DateVersionChangesAuthor
2023-12-115.2.3
    Added parameters to receive PIN usage instructions in catalog and the possibility to filter the returned languages.
  • Added return_usage_instruction parameter in GET /store/catalogue and GET /store/catalogue/products operations.
  • Added languages parameter in GET /store/catalogue and GET /store/catalogue/products operations.
  • Added usage_instructions parameter to the Product schema. This parameter is optional and is only returned if new parameter return_usage_instruction is set to true.
CY.SEND OpenApi team
2022-11-055.2.2
  • New operation /store/order/cost

  • This operation returns an indicative cost of a face value. It does not place a purchase order. It is only a calculation tool to know the cost of a face value before placing the final purchase order. It returns the current cost at the exact time of the operation.
CY.SEND OpenApi team
2022-09-085.2.1
  • Added country_zone parameter to the Product schema
    Returns an indication of the geographical zone in which the product can be used.
CY.SEND OpenApi team
2020-03-065.2.0
  • Added mobile to catalogue operations /store/catalogue/products and /store/catalogue/face-value.
    This filter will detect the operator and return the available product/face values.
    The service has a cost and is billed on usage
  • Added notification operations. See Notification operation group and definitions (Chapter 4.13).
  • Added notification parameter in /store/order POST request.
CY.SEND OpenApi team
2019-10-085.1.3
  • Added product_description parameter in catalogue.
CY.SEND OpenApi team
2019-05-245.1.2
  • Added product types (instant and prepaid_code) to the Product schema
  • Added new definition to chapter 4: Product types
  • Renamed PIN schema to PrepaidCode
  • Added multi languages prepaid code usage instructions to the PrepaidCode schema
  • Renamed Coverage schema to Catalogue
  • Renamed gift_card_pin_code parameter to gift_card_code in CY.SEND Gift Card operations
CY.SEND OpenApi team
2019-05-145.1.1
  • Added support for promotions in Catalogue operations
  • Renamed Catalogue schema parameter maintenance to maintenances
  • Added purchase date parameter in OrderStatus schema
  • Renamed pin-code parameter to gift_card_pin_code in CY.SEND Gift Card operations
CY.SEND OpenApi team
2019-03-195.1.0
  • Public early access
CY.SEND OpenApi team

4 Definitions

4.1 API Credentials

API credentials are different from cysend.com credentials. Please ask the support team for your credentials.

4.2 HTTP Basic access authentication

In the context of an HTTP transaction, basic access authentication is a method for an HTTP user agent to provide a user name and password when making a request. For security reason, this authentication method should only be used on HTTPS request. Wikipedia

4.3 HTTP request methods

HTTP defines methods (sometimes referred to as "verbs") to indicate the desired action to be performed on the identified resource.

4.4 HTTP status code

Status codes are issued by a server in response to a client's request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the Hypertext Transfer Protocol (HTTP). The first digit of the status code specifies one of five standard classes of responses. The message phrases shown are typical, but any human-readable alternative may be provided. Unless otherwise stated, the status code is part of the HTTP/1.1 standard (RFC 7231).

4.5 Callback URL

Call back URL is an option to automatically inform CUSTOMER when a status change occurs for a purchase order. The callback URL is a great option to automatically track any status change to a purchase order. It is advised to implement it.

4.6 First Level Support

It is the initial support service provided by CUSTOMER to its clients. It requires knowledge of products, terms and conditions offered by CY.TALK rather than technical information.

4.7 Second Level Support

It is more in-depth technical support service provided by CY.TALK for CUSTOMER support rather than direct CUSTOMER's client support.

4.8 CUSTOMER

The CUSTOMER is a registered CY.SEND user.

4.9 Products

It is the service delivered to the CUSTOMER’s client. Each product has a Face value and a currency. They can be in fixed values or in ranges. The products are divided into categories

4.10 Product types

  • Instant product: is a type of product where the purchased top up amount will be credited instantly and directly to the beneficiary’s balance. Example: for a mobile top up where the top up is instantly credited to the beneficiary’s balance, or to top up an utility account where the amount directly credits the beneficiary’s balance.
  • Prepaid code: is a type of product delivered to the beneficiary as a prepaid code with usage instructions. It is a series of number or letters or both that is loaded with a prepaid amount. To redeem the prepaid code, the beneficiary has to follow the sent usage instructions. Example: to visit the website of the issuing company and follow the shown instructions, or to send a USSD code in case of a mobile operator prepaid. Each prepaid code has a serial number ( digits) that is used to help identify the prepaid code. The serial number cannot be redeemed. Prepaid codes usually have an expiration date.

4.11 Order

It's CUSTOMER's purchase order, in which CUSTOMER will add products and place the purchase. For now it is limited to 1 product per order (later will be increased).

4.12 Product issuer purchase reference number

It is a number provide by some product issuers that can be used by the beneficiary for his customer care enquiries when contacting the product issuer.

4.13 Notifications

Use notification to be proactively informed of event that happened based on the rules you have set to be sent using the notification channel that suits you. Example: to retrieve your balance or to know the status change of a purchase. We recommend you set notifications to keep track at all times of the status of your business.

There are two ways you can use the notifications:

  • The ones you can subscribe for a resource catalogue.
  • The ones for specific resource.

4.13.1 Resource

A resource is an object within a resource type. Such as: a promotion, a maintenance, balance, a purchase, a price lists, a news, credentials, a gift cards, security and a sale.

4.13.2 Resource type

Each resource type is a homogeneous group that contains only one type of resource. You can subscribe to a resources type.
Example of resource types are: Promotions, Maintenances, Balances, Purchases, Price lists, News, Credentials, Gift Cards, Security and Sales

4.13.3 Event

It is an occurrence that happens that leads to set a trigger off such as:

  • A balance was debited
  • A transaction was successful
  • Start of a promotion

4.13.4 Trigger

A mechanism that initiates an action when an event occurs or upon receiving some type of input such as:

  • A low balance threshold
  • A change in top up status

4.13.7 Channel

A channel is the means that will be used to convey the notifications. Optionally CUSTOMER can create channels to send notifications in white label; I.E.: using his own email, firebase, Mattermost server, or own SMS sender name.

4.13.6 Channel type

It is the transport medium that will be used to send the notifications:

  • Email
  • SMS
  • HTTP
  • Firebase
  • Phone call
  • XMPP
  • Mattermost

4.13.8 Template

It is the content of notifications. Each channel has his is own set of templates which are specific per channel type and per trigger. Templates are built using a pseudo language that allow the usage of variables describing the notification resource and trigger.

4.13.9 Subscription

CUSTOMERS can subscribe to an event by resource type or by resource, you will be notified each time the event you subscribed to sets off a trigger.
I.E.: a CUSTOMER can subscribe to a purchase result notification by email for every purchase made from his account (it’s the default subscription for all new CY.SEND CUSTOMERS).
Or subscribe to a specific purchase result notification by HTTP for a single purchase using the CY.SEND OpenAPI POST /store/order operation.

4.13.10 Destination

It is to where the notification will be sent. For each notification subscription, the CUSTOMER should specify the destination and the parameters that are required by the Channel Type.
I.E.: Email channels required to_emails parameter and have 2 optional parameters that are cc_emails and bcc_emails.
HTTP channels only require an url parameter.

4.14 Purchase Scenarios

The CY.SEND OpenAPI use scenarios so you can test your API implementations. There are 2 scenarios: LIVE and SIMULATION.

4.14.1 Live purchase scenario

Will buy top up and DEBIT your CY.SEND account balance.

4.14.2 Simulate purchase scenario

Will do a simulation of a top up, your CY.SEND balance will NOT be debited.

4.15 API credentials

You will need them to use the CY.SEND OpenAPI, they are found in your profile in the Developer section. You can have as many credentials as you need for each of your use cases, passwords are shown only one time (make sure you save them).

5 API Structure

5.1 Scopes

The API is separated in multiple scopes that correspond to CY.SEND resources. A scope is always the first part (before the second slash) of an operation path. For example, the operation to retrieve catalogue countries has the path /store/catalogue/countries. The scope of this operation is Store.

5.2 Methods

Every scope has defined HTTP request methods.

5.3 Operation

An operation is defined by a relative URL (containing the scope) and a method.

5.4 CUSTOMER rights

CUSTOMER's credentials have access to some scope and methods. If the API detect an unauthorized access, it will return an 403 HTTP status code.

5.5 Authentication

Every operation can have one or more authentication mechanisms. Only one mechanism must be used per request.

5.5.1 HTTP basic access authentication

HTTP basic access authentication uses API credentials to authenticate the CUSTOMER. For security reason, this authentication mechanism must always be used over SSL request.

5.5.2 Access (Impersonation) token

The access scope allows the CUSTOMER to generate and manage tokens in order to allow a third party (point of sale, application, partner, ...) to use CY.SEND API on his behalf without knowing his API credentials. The token usage can be restricted by source IP, time and accessible operations. Please see POST /access/token operation for more information.

6 Technical requirements

Representational State Transfer architecture, Knowledge of HTTP requests and JSON.

6.1 Technologies used

  • HTTP request
  • JSON for query results

7 Read before you start coding, this is the part you really should read before starting!

As we are developing our API and catalogue constantly, we suggest that you use the below logic for your integration since more products and features will be added based on this logic.
We optimize so you will not need to rewrite your code.

  1. Create a customer account on www.cysend.com.
  2. Activate as many OpenAPI credentials as you need from the developer section in your profile. The password will be shown only one time, make sure you save it.
    Note: You must never send this password in clear text over the internet. This includes public chats such as Skype, WhatsApp, email…. We are not responsible if you share your password in the open.
  3. Pull the CY.SEND catalogue to build your own catalogue by:
    1. Use the /store/catalogue operation to build your database.
      This will return:
      1. All countries where CY.SEND has products.
      2. All product categories
      3. All products name
      4. All products face values and currencies
      5. All products price
    2. Create a database with all of the above – You should update it once a day after 11:00 (GMT +1) to keep the prices and products current, else you might have error when doing purchases.
      NOTE: The face value ID are changed each time the value changes but they are NOT changed when the cost changes. This is valid for ranges and fixed values.
    3. Create your retail sales price list
    4. Set a callback to receive top up status update
  4. Testing purchases
    The OpenAPI can send simulations and real top ups. The simulation scenario will function exactly as a real top up but it will not debit your CY.SEND balance. It is to simulate a real top up. If you want to send a real top up where you buy a product do no use the simulate scenario
    1. Choose a product to buy
    2. Set a callback to receive the order statutes
    3. Place the test purchase order using the Simulate scenarios
    4. Wait for the callback top up status
      Note: Purchases are asynchronous, you must save all the purchase orders you send so you can update them when you receive the callback with the new order status.
  5. Let our team know when you are ready to go live so we validate the implementation.
  6. When all validated, credit you CY.SEND balance with money.
  7. Use the purchase order operation with scenario LIVE to buy products.

8 Integration is done, how do we go live?

Congratulations! You are close to starting your top up business. Follow the below steps:

  1. Your account should have positive balance
  2. Use the POST /store/order operation with scenario live and it will send real top ups
  3. If you have any question before starting please contact our support.

9 Security

Various security mechanisms protect our infrastructure and the CUSTOMER. If suspicious activity is detected, cysend.com systems will automatically ban and terminate connections.

10 HTTP Status Codes

CodeTextDescription
200OKSuccess!
201CreatedThe request has been fulfilled and resulted in a new resource being created.
202AcceptedThe request has been accepted for processing, but the processing has not been completed.

Note: All purchase orders are asynchronous. It means that when CUSTOMER executes a purchase order, the CY.SEND
OpenAPI replies “accepted” and in a separate background process the purchase order is sent to the
product issuer. A purchase order will remain in the “accepted” state until it receives a reply from the product issuer. This HTTP status code is not the final result of an order. To know the final result, wait for the callback URL request or pull the status using GET /store/order operation.
204No ContentThe result of the search is empty.
400Bad RequestThe request was invalid or cannot be otherwise served. An accompanying error message will explain further.
Placing an order with missing beneficiary information will result in this status.
401UnauthorizedMissing or incorrect authentication credentials.
402Payment RequiredThe order can't be placed because of insufficient balance. Please top up your account.
404Not FoundThe URI requested is invalid or the resource requested, such as an order, does not exist.
500Internal Server ErrorSomething is broken. This is usually a temporary error, for example in a high load
situation or if an endpoint is temporarily having issues. Try again later or contact support.
502Bad GatewayCY.SEND OpenAPI is down, or being upgraded.
503Service UnavailableThe CY.SEND OpenAPI servers are up, but overloaded with requests. Try again later or contact support.
504Gateway timeoutThe CY.SEND OpenAPI servers are up, but the request couldn’t be serviced due to some failure
within the internal stack. Try again later or contact support.

11 About us

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 5.2.3
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.cysend.com

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import cysend "github.com/pourcheragh/cysend-go"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value cysend.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), cysend.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value cysend.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), cysend.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using cysend.ContextOperationServerIndices and cysend.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), cysend.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), cysend.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to https://www.cysend.com/openapi/prod/v5.2.3

ClassMethodHTTP requestDescription
AccessAPICreateAccessTokenPost /access/tokenCreates a new access token
AccessAPIGetAccessTokenGet /access/tokenRetrieves an existing access token
CYSENDGiftCardAPIGetActiveGet /gift-card/{gift_card_code}/activeChecks if a CY.SEND gift card is active
CYSENDGiftCardAPIGetGiftCardGet /gift-card/{gift_card_code}Retrieves a CY.SEND gift card information by PIN code
CYSENDGiftCardAPIPutActivePut /gift-card/{gift_card_code}/activeActivates or deactivates a CY.SEND gift card
CustomerAPIBalanceGet /customer/balanceRetrieves customer account default balance
CustomerAPIGetSubscriptionsGet /customer/subscriptionsRetrieves the list of subscriptions
NotificationsAPIGetNotificationChannelsGet /notification/channelsRetrieve the list of notification channels
NotificationsAPIGetNotificationEventsGet /notification/eventsRetrieve the list of notification events
NotificationsAPIGetNotificationResourceTypesGet /notification/resource_typesRetrieve the list of notification resource types
NotificationsAPIGetSubscriptionsGet /customer/subscriptionsRetrieves the list of subscriptions
OpenAPIAPIGetErrorsGet /openapi/errorsRetrieves the list of CY.SEND OpenAPI errors
OpenAPIAPIPingGet /openapi/pingCY.SEND OpenAPI connection status monitor
StoreAPICreateOrderPost /store/orderPlace a purchase order for CY.SEND products
StoreAPIForceCallbackPost /store/order/callbackForce a callback request
StoreAPIGetCatalogueGet /store/catalogueRetrieves the complete CY.SEND product catalogue
StoreAPIGetCategoriesGet /store/catalogue/categoriesRetrieves the CY.SEND product categories list from the catalogue
StoreAPIGetCountriesGet /store/catalogue/countriesRetrieves the CY.SEND product catalogue country list
StoreAPIGetFaceValuesGet /store/catalogue/face-valueRetrieves the CY.SEND product face value list
StoreAPIGetMaintenanceGet /store/catalogue/maintenanceRetrieves current and future product maintenances
StoreAPIGetOrderGet /store/order(Optional) Retrieves order information by CY.SEND order unique ID or by CUSTOMER order unique ID
StoreAPIGetProductCostPut /store/order/costRetrieve the cost of a face value
StoreAPIGetProductsGet /store/catalogue/productsRetrieves the CY.SEND product catalogue list
StoreAPIGetPromotionsGet /store/catalogue/promotionRetrieves current and future product promotions
StoreAPIGetResponsesGet /store/order/responsesRetrieve the list of possible order response codes
VerificationAPIPhoneNumberVerificationRequestPost /verification/phone-numberCreates a phone number verification request
VerificationAPIPhoneNumberVerifyPut /verification/phone-numberConfirm a verification request

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

BasicAuthentication

  • Type: HTTP basic authentication

Example

auth := context.WithValue(context.Background(), cysend.ContextBasicAuth, cysend.BasicAuth{
	UserName: "username",
	Password: "password",
})
r, err := client.Service.Operation(auth, args)

Token

  • Type: API key
  • API key parameter name: Api-token
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: Api-token and passed in as the auth context for each request.

Example

auth := context.WithValue(
		context.Background(),
		cysend.ContextAPIKeys,
		map[string]cysend.APIKey{
			"Api-token": {Key: "API_KEY_STRING"},
		},
	)
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • Ptrdecimal.Decimal
  • PtrFloat64
  • PtrString
  • PtrTime

Author

# Packages

No description provided by the author

# Functions

CacheExpires helper function to determine remaining time before repeating a request.
IsNil checks if an input is nil.
NewAPIClient creates a new API client.
NewAPIError instantiates a new APIError object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAPIErrorDescription instantiates a new APIErrorDescription object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAPIErrorDescriptionWithDefaults instantiates a new APIErrorDescription object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAPIErrorWithDefaults instantiates a new APIError object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAPIResponse returns a new APIResponse object.
NewAPIResponseWithError returns a new APIResponse object with the provided error message.
NewBeneficiaryInformation instantiates a new BeneficiaryInformation object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewBeneficiaryInformationWithDefaults instantiates a new BeneficiaryInformation object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewCatalogue instantiates a new Catalogue object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCatalogueWithDefaults instantiates a new Catalogue object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewCategory instantiates a new Category object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCategoryWithDefaults instantiates a new Category object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewConfiguration returns a new Configuration object.
NewCostRequest instantiates a new CostRequest object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCostRequestWithDefaults instantiates a new CostRequest object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewCostResponse instantiates a new CostResponse object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCostResponseWithDefaults instantiates a new CostResponse object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewCountry instantiates a new Country object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCountryWithDefaults instantiates a new Country object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewCustomerBalance instantiates a new CustomerBalance object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCustomerBalanceWithDefaults instantiates a new CustomerBalance object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewFaceValue instantiates a new FaceValue object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewFaceValueWithDefaults instantiates a new FaceValue object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewFixedFaceValue instantiates a new FixedFaceValue object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewFixedFaceValueWithDefaults instantiates a new FixedFaceValue object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewForceCallbackRequest instantiates a new ForceCallbackRequest object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewForceCallbackRequestWithDefaults instantiates a new ForceCallbackRequest object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewGiftCard instantiates a new GiftCard object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewGiftCardActive instantiates a new GiftCardActive object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewGiftCardActiveWithDefaults instantiates a new GiftCardActive object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewGiftCardWithDefaults instantiates a new GiftCard object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewMaintenance instantiates a new Maintenance object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewMaintenanceDescriptionsInner instantiates a new MaintenanceDescriptionsInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewMaintenanceDescriptionsInnerWithDefaults instantiates a new MaintenanceDescriptionsInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewMaintenanceWithDefaults instantiates a new Maintenance object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNotificationChannel instantiates a new NotificationChannel object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNotificationChannelWithDefaults instantiates a new NotificationChannel object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNotificationDestinationParameter instantiates a new NotificationDestinationParameter object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNotificationDestinationParameterDescription instantiates a new NotificationDestinationParameterDescription object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNotificationDestinationParameterDescriptionWithDefaults instantiates a new NotificationDestinationParameterDescription object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNotificationDestinationParameterWithDefaults instantiates a new NotificationDestinationParameter object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNotificationEvent instantiates a new NotificationEvent object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNotificationEventWithDefaults instantiates a new NotificationEvent object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNotificationResourceType instantiates a new NotificationResourceType object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNotificationResourceTypeWithDefaults instantiates a new NotificationResourceType object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewOrderRequest instantiates a new OrderRequest object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewOrderRequestWithDefaults instantiates a new OrderRequest object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewOrderResponseCode instantiates a new OrderResponseCode object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewOrderResponseCodeWithDefaults instantiates a new OrderResponseCode object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewOrderScenarioFromValue returns a pointer to a valid OrderScenario for the value passed as argument, or an error if the value passed is not allowed by the enum.
NewOrderStatus instantiates a new OrderStatus object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewOrderStatusWithDefaults instantiates a new OrderStatus object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPermission instantiates a new Permission object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPermissionWithDefaults instantiates a new Permission object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPrepaidCode instantiates a new PrepaidCode object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPrepaidCodeWithDefaults instantiates a new PrepaidCode object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewProduct instantiates a new Product object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewProductParameter instantiates a new ProductParameter object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewProductParameterElementsInner instantiates a new ProductParameterElementsInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewProductParameterElementsInnerWithDefaults instantiates a new ProductParameterElementsInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewProductParameterWithDefaults instantiates a new ProductParameter object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewProductProductDescriptionInner instantiates a new ProductProductDescriptionInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewProductProductDescriptionInnerWithDefaults instantiates a new ProductProductDescriptionInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewProductTypeFromValue returns a pointer to a valid ProductType for the value passed as argument, or an error if the value passed is not allowed by the enum.
NewProductUsageInstructionsInner instantiates a new ProductUsageInstructionsInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewProductUsageInstructionsInnerWithDefaults instantiates a new ProductUsageInstructionsInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewProductWithDefaults instantiates a new Product object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPromotion instantiates a new Promotion object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPromotionDescriptionsInner instantiates a new PromotionDescriptionsInner object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPromotionDescriptionsInnerWithDefaults instantiates a new PromotionDescriptionsInner object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPromotionTimeZone instantiates a new PromotionTimeZone object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPromotionTimeZoneWithDefaults instantiates a new PromotionTimeZone object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPromotionWithDefaults instantiates a new Promotion object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewRangeFaceValue instantiates a new RangeFaceValue object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewRangeFaceValueWithDefaults instantiates a new RangeFaceValue object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewSubscription instantiates a new Subscription object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewSubscriptionWithDefaults instantiates a new Subscription object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewToken instantiates a new Token object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewTokenOptions instantiates a new TokenOptions object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewTokenOptionsWithDefaults instantiates a new TokenOptions object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewTokenWithDefaults instantiates a new Token object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewVerification instantiates a new Verification object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewVerificationMethodFromValue returns a pointer to a valid VerificationMethod for the value passed as argument, or an error if the value passed is not allowed by the enum.
NewVerificationRequest instantiates a new VerificationRequest object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewVerificationRequestWithDefaults instantiates a new VerificationRequest object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewVerificationStatus instantiates a new VerificationStatus object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewVerificationStatusWithDefaults instantiates a new VerificationStatus object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewVerificationWithDefaults instantiates a new Verification object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
PtrBool is a helper routine that returns a pointer to given boolean value.
PtrFloat32 is a helper routine that returns a pointer to given float value.
PtrFloat64 is a helper routine that returns a pointer to given float value.
PtrInt is a helper routine that returns a pointer to given integer value.
PtrInt32 is a helper routine that returns a pointer to given integer value.
PtrInt64 is a helper routine that returns a pointer to given integer value.
PtrString is a helper routine that returns a pointer to given string value.
PtrTime is helper routine that returns a pointer to given Time value.

# Constants

List of OrderScenario.
List of OrderScenario.
List of OrderScenario.
List of OrderScenario.
List of OrderScenario.
List of ProductType.
List of ProductType.
List of ProductType.
List of ProductType.
List of VerificationMethod.
List of VerificationMethod.

# Variables

All allowed values of OrderScenario enum.
All allowed values of ProductType enum.
All allowed values of VerificationMethod enum.
ContextAPIKeys takes a string apikey as authentication for the request.
ContextBasicAuth takes BasicAuth as authentication for the request.
ContextOperationServerIndices uses a server configuration from the index mapping.
ContextOperationServerVariables overrides a server configuration variables using operation specific values.
ContextServerIndex uses a server configuration from the index.
ContextServerVariables overrides a server configuration variables.
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
APIClient manages communication with the CY.SEND® OpenAPI Documentation API v5.2.3 In most cases there should be only one, shared, APIClient.
No description provided by the author
No description provided by the author
APIError API error information.
APIErrorDescription API error description.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
APIKey provides API key based authentication to a request passed via context using ContextAPIKey.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
APIResponse stores the API response returned by the server.
BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth.
BeneficiaryInformation Beneficiary information.
Catalogue Full catalogue.
Category Category information.
Configuration stores the configuration of the API client.
CostRequest Price calculation request.
CostResponse Product cost.
Country Country information.
CustomerBalance CUSTOMER balance.
FaceValue Face value types.
FixedFaceValue Fixed face value information.
ForceCallbackRequest Force callback request.
GenericOpenAPIError Provides access to the body, error and model on returned errors.
GiftCard CY.SEND gift card information.
GiftCardActive Gift card active.
Maintenance Maintenance information.
MaintenanceDescriptionsInner A maintenance description in a specific language.
NotificationChannel Notification channel information.
NotificationDestinationParameter Notification destination parameter.
NotificationDestinationParameterDescription Notification destination parameter.
NotificationEvent Notification event information.
NotificationResourceType Notification resource type information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
OrderRequest Order creation request.
OrderResponseCode Order response code.
OrderStatus Order status.
Permission Permission information.
PrepaidCode Prepaid code product information.
Product Product information.
ProductParameter Product parameter.
ProductParameterElementsInner Selectbox element.
ProductProductDescriptionInner A prepaid product description in a specific language.
ProductUsageInstructionsInner A prepaid code usage instruction in a specific language.
Promotion Promotion information.
PromotionDescriptionsInner Promotion description in a specific language.
PromotionTimeZone Time zone information.
RangeFaceValue Range face value information.
ServerConfiguration stores the information about a server.
ServerVariable stores the information about a server variable.
Subscription Notification subscription.
Token Token information.
TokenOptions Token creation options.
Verification Verification parameters.
VerificationRequest Verification request parameters.
VerificationStatus Verification status.

# Interfaces

No description provided by the author

# Type aliases

AccessAPIService AccessAPI service.
CustomerAPIService CustomerAPI service.
CYSENDGiftCardAPIService CYSENDGiftCardAPI service.
NotificationsAPIService NotificationsAPI service.
OpenAPIAPIService OpenAPIAPI service.
OrderScenario Order scenario.
ProductType Instant: means that the top up will credited directly to the customer account Prepaid code: means that the top up will be delivered as a prepaid code with usage instructions.
ServerConfigurations stores multiple ServerConfiguration items.
StoreAPIService StoreAPI service.
VerificationAPIService VerificationAPI service.
VerificationMethod Type of verification.