A comprehensive Bolt API reference for interacting with Transactions, Orders, Product Catalog, Configuration, Testing, and much more.
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: 3.0.1
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://help.bolt.com/api-bolt/
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import openapi "github.com/GIT_USER_ID/GIT_REPO_ID"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), openapi.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), openapi.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
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 sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), openapi.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), openapi.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://api.xwang.dev.bolt.me/v3
Class | Method | HTTP request | Description |
---|---|---|---|
AccountAPI | AccountAddPaymentMethod | Post /account/payment-methods | Add a payment method to a shopper's Bolt account Wallet. |
AccountAPI | AccountAddressCreate | Post /account/addresses | Add an address |
AccountAPI | AccountAddressDelete | Delete /account/addresses/{id} | Delete an existing address |
AccountAPI | AccountAddressEdit | Put /account/addresses/{id} | Edit an existing address |
AccountAPI | AccountExists | Get /account/exists | Determine the existence of a Bolt account |
AccountAPI | AccountGet | Get /account | Retrieve account details |
AccountAPI | AccountPaymentMethodDelete | Delete /account/payment-methods/{id} | Delete an existing payment method |
ConfigurationAPI | MerchantCallbacksGet | Get /merchant/callbacks | Retrieve callback URLs for the merchant |
ConfigurationAPI | MerchantCallbacksUpdate | Patch /merchant/callbacks | Update callback URLs for the merchant |
ConfigurationAPI | MerchantIdentifiersGet | Get /merchant/identifiers | Retrieve identifiers for the merchant |
PaymentsAPI | GuestPaymentsInitialize | Post /guest/payments | Initialize a Bolt payment for guest shoppers |
PaymentsAPI | PaymentsInitialize | Post /payments | Initialize a Bolt payment for logged in shoppers |
TestingAPI | TestingAccountCreate | Post /testing/accounts | Create a test account |
TestingAPI | TestingCreditCardGet | Get /testing/credit-cards | Retrieve a test credit card, including its token |
TestingAPI | TestingShipmentTrackingCreate | Post /testing/shipments | Simulate a shipment tracking update |
WebhooksAPI | WebhooksCreate | Put /webhooks | Create a webhook to subscribe to certain events |
WebhooksAPI | WebhooksDelete | Delete /webhooks/{id} | Delete an existing webhook |
WebhooksAPI | WebhooksGet | Get /webhooks/{id} | Retrieve information for a specific webhook |
WebhooksAPI | WebhooksGetAll | Get /webhooks | Retrieve information about all existing webhooks |
- Account
- AccountAddressCreate400Response
- AccountExistsIdentifierParameter
- AccountTestCreationData
- Address
- AddressErrorInvalidPostalCode
- AddressErrorInvalidRegion
- AddressListing
- AddressReference
- AddressReferenceExplicit
- AddressReferenceId
- Amounts
- CallbackUrlErrorInvalidUrl
- CallbackUrls
- Cart
- CartDiscount
- CartItem
- CartShipment
- CreditCard
- EventGroup
- EventList
- GuestPaymentMethodInitializeRequest
- GuestPaymentMethodInitializeRequestPaymentMethod
- Identifiers
- IdentifiersMerchantDivisionsInner
- MerchantCallbacksUpdate400Response
- ModelError
- PaymentMethod
- PaymentMethodCreditCard
- PaymentMethodInitializeRequest
- PaymentMethodInitializeRequestPaymentMethod
- PaymentMethodInitializeResponse
- PaymentMethodInitializeResponseAction
- PaymentMethodPaypal
- PaymentMethodSavedPaymentMethod
- Profile
- ShipmentTrackingUpdate
- ShipmentTrackingUpdateTrackingDetailsInner
- Webhook
- WebhookEvent
- WebhooksGetAll200Response
- WebhooksPostRequest
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: X-API-Key
- Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: X-API-Key and passed in as the auth context for each request.
Example
auth := context.WithValue(
context.Background(),
sw.ContextAPIKeys,
map[string]sw.APIKey{
"X-API-Key": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
- Type: OAuth
- Flow: accessCode
- Authorization URL: /v1/oauth/authorize
- Scopes:
- bolt.account.manage: This scope grants permissions to perform read/edit/delete actions on Bolt Account data
- bolt.account.view: This scope grants permissions to perform read only actions on Bolt Account data
- openid: This scope grants permissions that enable Bolt SSO by granting an id token JWT that stores account data
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)
Or via OAuth2 module to automatically refresh tokens and perform user authentication.
import "golang.org/x/oauth2"
/* Perform OAuth2 round trip request and obtain a token */
tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)
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
PtrFloat32
PtrFloat64
PtrString
PtrTime