871 lines
33 KiB
Go
871 lines
33 KiB
Go
/*
|
||
API Яндекс Маркета для продавцов
|
||
|
||
API Яндекс Маркета помогает продавцам автоматизировать и упростить работу с маркетплейсом. В числе возможностей интеграции: * управление каталогом товаров и витриной, * обработка заказов, * изменение настроек магазина, * получение отчетов.
|
||
|
||
API version: LATEST
|
||
*/
|
||
|
||
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||
|
||
package ymclient
|
||
|
||
import (
|
||
"bytes"
|
||
"context"
|
||
"io"
|
||
"net/http"
|
||
"net/url"
|
||
"strings"
|
||
)
|
||
|
||
// PromosAPIService PromosAPI service
|
||
type PromosAPIService service
|
||
|
||
type PromosAPIDeletePromoOffersRequest struct {
|
||
ctx context.Context
|
||
ApiService *PromosAPIService
|
||
businessId int64
|
||
deletePromoOffersRequest *DeletePromoOffersRequest
|
||
}
|
||
|
||
func (r PromosAPIDeletePromoOffersRequest) DeletePromoOffersRequest(deletePromoOffersRequest DeletePromoOffersRequest) PromosAPIDeletePromoOffersRequest {
|
||
r.deletePromoOffersRequest = &deletePromoOffersRequest
|
||
return r
|
||
}
|
||
|
||
func (r PromosAPIDeletePromoOffersRequest) Execute() (*DeletePromoOffersResponse, *http.Response, error) {
|
||
return r.ApiService.DeletePromoOffersExecute(r)
|
||
}
|
||
|
||
/*
|
||
DeletePromoOffers Удаление товаров из акции
|
||
|
||
{% include notitle [:no-translate[access]](../../_auto/method_scopes/deletePromoOffers.md) %}
|
||
|
||
Убирает товары из акции.
|
||
|
||
Изменения начинают действовать в течение 4–6 часов.
|
||
|
||
|**:no-translate[⚙️] Лимит:** 10 000 запросов в час|
|
||
|-|
|
||
|
||
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
@param businessId Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом [:no-translate[GET campaigns]](:no-translate[../../reference/campaigns/getCampaigns.md]). ℹ️ [Что такое кабинет и магазин на Маркете](:no-translate[https://yandex.ru/support/marketplace/account/introduction.html])
|
||
@return PromosAPIDeletePromoOffersRequest
|
||
*/
|
||
func (a *PromosAPIService) DeletePromoOffers(ctx context.Context, businessId int64) PromosAPIDeletePromoOffersRequest {
|
||
return PromosAPIDeletePromoOffersRequest{
|
||
ApiService: a,
|
||
ctx: ctx,
|
||
businessId: businessId,
|
||
}
|
||
}
|
||
|
||
// Execute executes the request
|
||
//
|
||
// @return DeletePromoOffersResponse
|
||
func (a *PromosAPIService) DeletePromoOffersExecute(r PromosAPIDeletePromoOffersRequest) (*DeletePromoOffersResponse, *http.Response, error) {
|
||
var (
|
||
localVarHTTPMethod = http.MethodPost
|
||
localVarPostBody interface{}
|
||
formFiles []formFile
|
||
localVarReturnValue *DeletePromoOffersResponse
|
||
)
|
||
|
||
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "PromosAPIService.DeletePromoOffers")
|
||
if err != nil {
|
||
return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
|
||
}
|
||
|
||
localVarPath := localBasePath + "/businesses/{businessId}/promos/offers/delete"
|
||
localVarPath = strings.Replace(localVarPath, "{"+"businessId"+"}", url.PathEscape(parameterValueToString(r.businessId, "businessId")), -1)
|
||
|
||
localVarHeaderParams := make(map[string]string)
|
||
localVarQueryParams := url.Values{}
|
||
localVarFormParams := url.Values{}
|
||
if r.businessId < 1 {
|
||
return localVarReturnValue, nil, reportError("businessId must be greater than 1")
|
||
}
|
||
if r.deletePromoOffersRequest == nil {
|
||
return localVarReturnValue, nil, reportError("deletePromoOffersRequest is required and must be specified")
|
||
}
|
||
|
||
// to determine the Content-Type header
|
||
localVarHTTPContentTypes := []string{"application/json"}
|
||
|
||
// set Content-Type header
|
||
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||
if localVarHTTPContentType != "" {
|
||
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||
}
|
||
|
||
// to determine the Accept header
|
||
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||
|
||
// set Accept header
|
||
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||
if localVarHTTPHeaderAccept != "" {
|
||
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||
}
|
||
// body params
|
||
localVarPostBody = r.deletePromoOffersRequest
|
||
if r.ctx != nil {
|
||
// API Key Authentication
|
||
if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
|
||
if apiKey, ok := auth["ApiKey"]; ok {
|
||
var key string
|
||
if apiKey.Prefix != "" {
|
||
key = apiKey.Prefix + " " + apiKey.Key
|
||
} else {
|
||
key = apiKey.Key
|
||
}
|
||
localVarHeaderParams["Api-Key"] = key
|
||
}
|
||
}
|
||
}
|
||
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
||
if err != nil {
|
||
return localVarReturnValue, nil, err
|
||
}
|
||
|
||
localVarHTTPResponse, err := a.client.callAPI(req)
|
||
if err != nil || localVarHTTPResponse == nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
|
||
localVarHTTPResponse.Body.Close()
|
||
localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
|
||
if err != nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
if localVarHTTPResponse.StatusCode >= 300 {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: localVarHTTPResponse.Status,
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 400 {
|
||
var v ApiClientDataErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 401 {
|
||
var v ApiUnauthorizedErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 403 {
|
||
var v ApiForbiddenErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 404 {
|
||
var v ApiNotFoundErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 420 {
|
||
var v ApiLimitErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 500 {
|
||
var v ApiServerErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: err.Error(),
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
return localVarReturnValue, localVarHTTPResponse, nil
|
||
}
|
||
|
||
type PromosAPIGetPromoOffersRequest struct {
|
||
ctx context.Context
|
||
ApiService *PromosAPIService
|
||
businessId int64
|
||
getPromoOffersRequest *GetPromoOffersRequest
|
||
pageToken *string
|
||
limit *int32
|
||
}
|
||
|
||
func (r PromosAPIGetPromoOffersRequest) GetPromoOffersRequest(getPromoOffersRequest GetPromoOffersRequest) PromosAPIGetPromoOffersRequest {
|
||
r.getPromoOffersRequest = &getPromoOffersRequest
|
||
return r
|
||
}
|
||
|
||
// Идентификатор страницы c результатами. Если параметр не указан, возвращается первая страница. Рекомендуем передавать значение выходного параметра :no-translate[`nextPageToken`], полученное при последнем запросе. Если задан :no-translate[`page_token`] и в запросе есть параметры :no-translate[`page`] и :no-translate[`pageSize`], они игнорируются.
|
||
func (r PromosAPIGetPromoOffersRequest) PageToken(pageToken string) PromosAPIGetPromoOffersRequest {
|
||
r.pageToken = &pageToken
|
||
return r
|
||
}
|
||
|
||
// Количество значений на одной странице.
|
||
func (r PromosAPIGetPromoOffersRequest) Limit(limit int32) PromosAPIGetPromoOffersRequest {
|
||
r.limit = &limit
|
||
return r
|
||
}
|
||
|
||
func (r PromosAPIGetPromoOffersRequest) Execute() (*GetPromoOffersResponse, *http.Response, error) {
|
||
return r.ApiService.GetPromoOffersExecute(r)
|
||
}
|
||
|
||
/*
|
||
GetPromoOffers Получение списка товаров, которые участвуют или могут участвовать в акции
|
||
|
||
{% include notitle [:no-translate[access]](../../_auto/method_scopes/getPromoOffers.md) %}
|
||
|
||
Возвращает список товаров, которые участвуют или могут участвовать в акции.
|
||
|
||
{% note warning "Условия участия в акциях могут меняться" %}
|
||
|
||
Например, `maxPromoPrice`.
|
||
|
||
Установленные цены меняться не будут — `price` и `promoPrice`.
|
||
|
||
{% endnote %}
|
||
|
||
|**:no-translate[⚙️] Лимит:** 10 000 запросов в час, не более 500 товаров в запросе|
|
||
|-|
|
||
|
||
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
@param businessId Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом [:no-translate[GET campaigns]](:no-translate[../../reference/campaigns/getCampaigns.md]). ℹ️ [Что такое кабинет и магазин на Маркете](:no-translate[https://yandex.ru/support/marketplace/account/introduction.html])
|
||
@return PromosAPIGetPromoOffersRequest
|
||
*/
|
||
func (a *PromosAPIService) GetPromoOffers(ctx context.Context, businessId int64) PromosAPIGetPromoOffersRequest {
|
||
return PromosAPIGetPromoOffersRequest{
|
||
ApiService: a,
|
||
ctx: ctx,
|
||
businessId: businessId,
|
||
}
|
||
}
|
||
|
||
// Execute executes the request
|
||
//
|
||
// @return GetPromoOffersResponse
|
||
func (a *PromosAPIService) GetPromoOffersExecute(r PromosAPIGetPromoOffersRequest) (*GetPromoOffersResponse, *http.Response, error) {
|
||
var (
|
||
localVarHTTPMethod = http.MethodPost
|
||
localVarPostBody interface{}
|
||
formFiles []formFile
|
||
localVarReturnValue *GetPromoOffersResponse
|
||
)
|
||
|
||
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "PromosAPIService.GetPromoOffers")
|
||
if err != nil {
|
||
return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
|
||
}
|
||
|
||
localVarPath := localBasePath + "/businesses/{businessId}/promos/offers"
|
||
localVarPath = strings.Replace(localVarPath, "{"+"businessId"+"}", url.PathEscape(parameterValueToString(r.businessId, "businessId")), -1)
|
||
|
||
localVarHeaderParams := make(map[string]string)
|
||
localVarQueryParams := url.Values{}
|
||
localVarFormParams := url.Values{}
|
||
if r.businessId < 1 {
|
||
return localVarReturnValue, nil, reportError("businessId must be greater than 1")
|
||
}
|
||
if r.getPromoOffersRequest == nil {
|
||
return localVarReturnValue, nil, reportError("getPromoOffersRequest is required and must be specified")
|
||
}
|
||
|
||
if r.pageToken != nil {
|
||
parameterAddToHeaderOrQuery(localVarQueryParams, "page_token", r.pageToken, "", "")
|
||
}
|
||
if r.limit != nil {
|
||
parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "", "")
|
||
}
|
||
// to determine the Content-Type header
|
||
localVarHTTPContentTypes := []string{"application/json"}
|
||
|
||
// set Content-Type header
|
||
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||
if localVarHTTPContentType != "" {
|
||
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||
}
|
||
|
||
// to determine the Accept header
|
||
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||
|
||
// set Accept header
|
||
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||
if localVarHTTPHeaderAccept != "" {
|
||
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||
}
|
||
// body params
|
||
localVarPostBody = r.getPromoOffersRequest
|
||
if r.ctx != nil {
|
||
// API Key Authentication
|
||
if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
|
||
if apiKey, ok := auth["ApiKey"]; ok {
|
||
var key string
|
||
if apiKey.Prefix != "" {
|
||
key = apiKey.Prefix + " " + apiKey.Key
|
||
} else {
|
||
key = apiKey.Key
|
||
}
|
||
localVarHeaderParams["Api-Key"] = key
|
||
}
|
||
}
|
||
}
|
||
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
||
if err != nil {
|
||
return localVarReturnValue, nil, err
|
||
}
|
||
|
||
localVarHTTPResponse, err := a.client.callAPI(req)
|
||
if err != nil || localVarHTTPResponse == nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
|
||
localVarHTTPResponse.Body.Close()
|
||
localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
|
||
if err != nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
if localVarHTTPResponse.StatusCode >= 300 {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: localVarHTTPResponse.Status,
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 400 {
|
||
var v ApiClientDataErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 401 {
|
||
var v ApiUnauthorizedErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 403 {
|
||
var v ApiForbiddenErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 404 {
|
||
var v ApiNotFoundErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 420 {
|
||
var v ApiLimitErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 500 {
|
||
var v ApiServerErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: err.Error(),
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
return localVarReturnValue, localVarHTTPResponse, nil
|
||
}
|
||
|
||
type PromosAPIGetPromosRequest struct {
|
||
ctx context.Context
|
||
ApiService *PromosAPIService
|
||
businessId int64
|
||
getPromosRequest *GetPromosRequest
|
||
}
|
||
|
||
func (r PromosAPIGetPromosRequest) GetPromosRequest(getPromosRequest GetPromosRequest) PromosAPIGetPromosRequest {
|
||
r.getPromosRequest = &getPromosRequest
|
||
return r
|
||
}
|
||
|
||
func (r PromosAPIGetPromosRequest) Execute() (*GetPromosResponse, *http.Response, error) {
|
||
return r.ApiService.GetPromosExecute(r)
|
||
}
|
||
|
||
/*
|
||
GetPromos Получение списка акций
|
||
|
||
{% include notitle [:no-translate[access]](../../_auto/method_scopes/getPromos.md) %}
|
||
|
||
Возвращает информацию об акциях Маркета. Не возвращает данные об акциях, которые создал продавец.
|
||
|
||
По умолчанию возвращаются акции, в которых продавец участвует или может принять участие.
|
||
|
||
Чтобы получить текущие или завершенные акции, передайте параметр `participation`.
|
||
|
||
Типы акций, которые возвращаются в ответе:
|
||
|
||
* прямая скидка;
|
||
* флеш-акция;
|
||
* скидка по промокоду.
|
||
|
||
|**:no-translate[⚙️] Лимит:** 1 000 запросов в час|
|
||
|-|
|
||
|
||
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
@param businessId Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом [:no-translate[GET campaigns]](:no-translate[../../reference/campaigns/getCampaigns.md]). ℹ️ [Что такое кабинет и магазин на Маркете](:no-translate[https://yandex.ru/support/marketplace/account/introduction.html])
|
||
@return PromosAPIGetPromosRequest
|
||
*/
|
||
func (a *PromosAPIService) GetPromos(ctx context.Context, businessId int64) PromosAPIGetPromosRequest {
|
||
return PromosAPIGetPromosRequest{
|
||
ApiService: a,
|
||
ctx: ctx,
|
||
businessId: businessId,
|
||
}
|
||
}
|
||
|
||
// Execute executes the request
|
||
//
|
||
// @return GetPromosResponse
|
||
func (a *PromosAPIService) GetPromosExecute(r PromosAPIGetPromosRequest) (*GetPromosResponse, *http.Response, error) {
|
||
var (
|
||
localVarHTTPMethod = http.MethodPost
|
||
localVarPostBody interface{}
|
||
formFiles []formFile
|
||
localVarReturnValue *GetPromosResponse
|
||
)
|
||
|
||
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "PromosAPIService.GetPromos")
|
||
if err != nil {
|
||
return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
|
||
}
|
||
|
||
localVarPath := localBasePath + "/businesses/{businessId}/promos"
|
||
localVarPath = strings.Replace(localVarPath, "{"+"businessId"+"}", url.PathEscape(parameterValueToString(r.businessId, "businessId")), -1)
|
||
|
||
localVarHeaderParams := make(map[string]string)
|
||
localVarQueryParams := url.Values{}
|
||
localVarFormParams := url.Values{}
|
||
if r.businessId < 1 {
|
||
return localVarReturnValue, nil, reportError("businessId must be greater than 1")
|
||
}
|
||
|
||
// to determine the Content-Type header
|
||
localVarHTTPContentTypes := []string{"application/json"}
|
||
|
||
// set Content-Type header
|
||
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||
if localVarHTTPContentType != "" {
|
||
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||
}
|
||
|
||
// to determine the Accept header
|
||
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||
|
||
// set Accept header
|
||
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||
if localVarHTTPHeaderAccept != "" {
|
||
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||
}
|
||
// body params
|
||
localVarPostBody = r.getPromosRequest
|
||
if r.ctx != nil {
|
||
// API Key Authentication
|
||
if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
|
||
if apiKey, ok := auth["ApiKey"]; ok {
|
||
var key string
|
||
if apiKey.Prefix != "" {
|
||
key = apiKey.Prefix + " " + apiKey.Key
|
||
} else {
|
||
key = apiKey.Key
|
||
}
|
||
localVarHeaderParams["Api-Key"] = key
|
||
}
|
||
}
|
||
}
|
||
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
||
if err != nil {
|
||
return localVarReturnValue, nil, err
|
||
}
|
||
|
||
localVarHTTPResponse, err := a.client.callAPI(req)
|
||
if err != nil || localVarHTTPResponse == nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
|
||
localVarHTTPResponse.Body.Close()
|
||
localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
|
||
if err != nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
if localVarHTTPResponse.StatusCode >= 300 {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: localVarHTTPResponse.Status,
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 400 {
|
||
var v ApiClientDataErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 401 {
|
||
var v ApiUnauthorizedErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 403 {
|
||
var v ApiForbiddenErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 404 {
|
||
var v ApiNotFoundErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 420 {
|
||
var v ApiLimitErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 500 {
|
||
var v ApiServerErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: err.Error(),
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
return localVarReturnValue, localVarHTTPResponse, nil
|
||
}
|
||
|
||
type PromosAPIUpdatePromoOffersRequest struct {
|
||
ctx context.Context
|
||
ApiService *PromosAPIService
|
||
businessId int64
|
||
updatePromoOffersRequest *UpdatePromoOffersRequest
|
||
}
|
||
|
||
func (r PromosAPIUpdatePromoOffersRequest) UpdatePromoOffersRequest(updatePromoOffersRequest UpdatePromoOffersRequest) PromosAPIUpdatePromoOffersRequest {
|
||
r.updatePromoOffersRequest = &updatePromoOffersRequest
|
||
return r
|
||
}
|
||
|
||
func (r PromosAPIUpdatePromoOffersRequest) Execute() (*UpdatePromoOffersResponse, *http.Response, error) {
|
||
return r.ApiService.UpdatePromoOffersExecute(r)
|
||
}
|
||
|
||
/*
|
||
UpdatePromoOffers Добавление товаров в акцию или изменение их цен
|
||
|
||
{% include notitle [:no-translate[access]](../../_auto/method_scopes/updatePromoOffers.md) %}
|
||
|
||
Добавляет товары в акцию или изменяет цены на товары, которые участвуют в акции.
|
||
|
||
Изменения начинают действовать в течение 4–6 часов.
|
||
|
||
|**:no-translate[⚙️] Лимит:** 10 000 запросов в час|
|
||
|-|
|
||
|
||
@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
@param businessId Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом [:no-translate[GET campaigns]](:no-translate[../../reference/campaigns/getCampaigns.md]). ℹ️ [Что такое кабинет и магазин на Маркете](:no-translate[https://yandex.ru/support/marketplace/account/introduction.html])
|
||
@return PromosAPIUpdatePromoOffersRequest
|
||
*/
|
||
func (a *PromosAPIService) UpdatePromoOffers(ctx context.Context, businessId int64) PromosAPIUpdatePromoOffersRequest {
|
||
return PromosAPIUpdatePromoOffersRequest{
|
||
ApiService: a,
|
||
ctx: ctx,
|
||
businessId: businessId,
|
||
}
|
||
}
|
||
|
||
// Execute executes the request
|
||
//
|
||
// @return UpdatePromoOffersResponse
|
||
func (a *PromosAPIService) UpdatePromoOffersExecute(r PromosAPIUpdatePromoOffersRequest) (*UpdatePromoOffersResponse, *http.Response, error) {
|
||
var (
|
||
localVarHTTPMethod = http.MethodPost
|
||
localVarPostBody interface{}
|
||
formFiles []formFile
|
||
localVarReturnValue *UpdatePromoOffersResponse
|
||
)
|
||
|
||
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "PromosAPIService.UpdatePromoOffers")
|
||
if err != nil {
|
||
return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
|
||
}
|
||
|
||
localVarPath := localBasePath + "/businesses/{businessId}/promos/offers/update"
|
||
localVarPath = strings.Replace(localVarPath, "{"+"businessId"+"}", url.PathEscape(parameterValueToString(r.businessId, "businessId")), -1)
|
||
|
||
localVarHeaderParams := make(map[string]string)
|
||
localVarQueryParams := url.Values{}
|
||
localVarFormParams := url.Values{}
|
||
if r.businessId < 1 {
|
||
return localVarReturnValue, nil, reportError("businessId must be greater than 1")
|
||
}
|
||
if r.updatePromoOffersRequest == nil {
|
||
return localVarReturnValue, nil, reportError("updatePromoOffersRequest is required and must be specified")
|
||
}
|
||
|
||
// to determine the Content-Type header
|
||
localVarHTTPContentTypes := []string{"application/json"}
|
||
|
||
// set Content-Type header
|
||
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||
if localVarHTTPContentType != "" {
|
||
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||
}
|
||
|
||
// to determine the Accept header
|
||
localVarHTTPHeaderAccepts := []string{"application/json"}
|
||
|
||
// set Accept header
|
||
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||
if localVarHTTPHeaderAccept != "" {
|
||
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||
}
|
||
// body params
|
||
localVarPostBody = r.updatePromoOffersRequest
|
||
if r.ctx != nil {
|
||
// API Key Authentication
|
||
if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
|
||
if apiKey, ok := auth["ApiKey"]; ok {
|
||
var key string
|
||
if apiKey.Prefix != "" {
|
||
key = apiKey.Prefix + " " + apiKey.Key
|
||
} else {
|
||
key = apiKey.Key
|
||
}
|
||
localVarHeaderParams["Api-Key"] = key
|
||
}
|
||
}
|
||
}
|
||
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
|
||
if err != nil {
|
||
return localVarReturnValue, nil, err
|
||
}
|
||
|
||
localVarHTTPResponse, err := a.client.callAPI(req)
|
||
if err != nil || localVarHTTPResponse == nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
|
||
localVarHTTPResponse.Body.Close()
|
||
localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
|
||
if err != nil {
|
||
return localVarReturnValue, localVarHTTPResponse, err
|
||
}
|
||
|
||
if localVarHTTPResponse.StatusCode >= 300 {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: localVarHTTPResponse.Status,
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 400 {
|
||
var v ApiClientDataErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 401 {
|
||
var v ApiUnauthorizedErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 403 {
|
||
var v ApiForbiddenErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 404 {
|
||
var v ApiNotFoundErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 420 {
|
||
var v ApiLimitErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
if localVarHTTPResponse.StatusCode == 500 {
|
||
var v ApiServerErrorResponse
|
||
err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr.error = err.Error()
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
|
||
newErr.model = v
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
|
||
if err != nil {
|
||
newErr := &GenericOpenAPIError{
|
||
body: localVarBody,
|
||
error: err.Error(),
|
||
}
|
||
return localVarReturnValue, localVarHTTPResponse, newErr
|
||
}
|
||
|
||
return localVarReturnValue, localVarHTTPResponse, nil
|
||
}
|