Documentation
¶
Index ¶
- Constants
- type AuthResponse
- type CalculatorTariffListRequest
- type CalculatorTariffRequest
- type CalculatorTrafiffListResponse
- type CitiesRequest
- type CitiesResponse
- type City
- type Client
- type Contact
- type Cost
- type Credentials
- type DeliveryPoint
- type DeliveryPointLocation
- type DeliveryPointOfficeImage
- type DeliveryPointWorkTime
- type DeliveryPointWorkTimeExceptions
- type DeliveryPointsRequest
- type DeliveryPointsResponse
- type Location
- type Options
- type OrderRegisterRequest
- type OrderStatusCall
- type OrderStatusDeliveryDetail
- type OrderStatusDeliveryProblem
- type OrderStatusEntity
- type OrderStatusFailedCall
- type OrderStatusInfo
- type OrderStatusPaymentInfo
- type OrderStatusRescheduledCall
- type OrderUpdateRequest
- type OrderUpdateResponse
- type Package
- type PackageItem
- type Payment
- type Phone
- type RecipientSender
- type Region
- type RegionsRequest
- type RegionsResponse
- type RespErrors
- type Response
- type ResponseEntity
- type ResponseErr
- type ResponseRelatedEntities
- type ResponseRequests
- type Seller
- type Service
- type Tariff
Constants ¶
View Source
const EndpointProd = "https://api.cdek.ru"
View Source
const EndpointTest = "https://api.edu.cdek.ru"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthResponse ¶
type CalculatorTariffListRequest ¶
type CalculatorTariffListRequest struct {
// Date Дата и время планируемой передачи заказа. По умолчанию - текущая
Date string `json:"date,omitempty"`
// Type Тип заказа: 1 - "интернет-магазин", 2 - "доставка". По умолчанию - 1
Type string `json:"type,omitempty"`
// Валюта, в которой необходимо произвести расчет. По умолчанию - валюта договора
Currency int `json:"currency,omitempty"`
// Lang Локализация офиса. По умолчанию "rus"
Lang string `url:"lang,omitempty"`
// FromLocation Адрес отправления
FromLocation Location `json:"from_location,omitempty"`
// ToLocation Адрес получения
ToLocation Location `json:"to_location"`
// Packages Список информации по местам (упаковкам)
Packages []Package `json:"packages"`
}
type CalculatorTariffRequest ¶
type CalculatorTariffRequest struct {
// Type Тип заказа: 1 - "интернет-магазин", 2 - "доставка". По умолчанию - 1
Type int `json:"type,omitempty"`
// 136 or 234
TariffCode int `json:"tariff_code"`
// FromLocation Адрес отправления
FromLocation Location `json:"from_location,omitempty"`
// ToLocation Адрес получения
ToLocation Location `json:"to_location"`
// Packages Список информации по местам (упаковкам)
Packages []Package `json:"packages"`
}
type CalculatorTrafiffListResponse ¶
type CalculatorTrafiffListResponse struct {
TariffCodes []Tariff `json:"tariff_codes"`
}
type CitiesRequest ¶
type CitiesRequest struct {
// CountryCodes Массив кодов стран в формате ISO_3166-1_alpha-2
CountryCodes []string `url:"country_codes,omitempty"`
// RegionCode Код региона СДЭК
RegionCode int `url:"region_code,omitempty"`
// FiasGuid Уникальный идентификатор ФИАС населенного пункта UUID
FiasGuid string `url:"fias_guid,omitempty"`
// PostalCode Почтовый индекс
PostalCode string `url:"postal_code,omitempty"`
// Code Код населенного пункта СДЭК
Code string `url:"code,omitempty"`
// City Название населенного пункта. Должно соответствовать полностью
City string `url:"city,omitempty"`
// Size Ограничение выборки результата. По умолчанию 1000
Size int `url:"size,omitempty"`
// Page Номер страницы выборки результата. По умолчанию 0
Page int `url:"page,omitempty"`
// Lang Локализация офиса. По умолчанию "rus"
Lang string `url:"lang,omitempty"`
}
type CitiesResponse ¶
type CitiesResponse []*City
func HelperCitiesAll ¶
func HelperCitiesAll(ctx context.Context, c Client, input *CitiesRequest, first int) (*CitiesResponse, error)
type City ¶
type City struct {
Code int `json:"code"`
City string `json:"city"`
CountryCode string `json:"country_code"`
Country string `json:"country"`
Region string `json:"region,omitempty"`
RegionCode int `json:"region_code"`
SubRegion string `json:"sub_region,omitempty"`
PostalCodes []string `json:"postal_codes,omitempty"`
Longitude float64 `json:"longitude"`
Latitude float64 `json:"latitude"`
TimeZone string `json:"time_zone"`
KladrCode string `json:"kladr_code,omitempty"`
PaymentLimit float64 `json:"payment_limit,omitempty"`
FiasGuid string `json:"fias_guid,omitempty"`
}
type Client ¶
type Client interface {
Auth(ctx context.Context) (*AuthResponse, error)
DeliveryPoints(ctx context.Context, input *DeliveryPointsRequest) (*DeliveryPointsResponse, error)
Regions(ctx context.Context, input *RegionsRequest) (*RegionsResponse, error)
Cities(ctx context.Context, input *CitiesRequest) (*CitiesResponse, error)
CalculatorTariffList(ctx context.Context, input *CalculatorTariffListRequest) (*CalculatorTrafiffListResponse, error)
CalculatorTariff(ctx context.Context, input *CalculatorTariffRequest) (*Tariff, error)
OrderRegister(ctx context.Context, input *OrderRegisterRequest) (*Response, error)
OrderDelete(ctx context.Context, uuid string) (*Response, error)
OrderUpdate(ctx context.Context, input *OrderUpdateRequest) (*OrderUpdateResponse, error)
OrderStatus(ctx context.Context, uuid string) (*Response, error)
}
type Cost ¶
type Cost struct {
// Sum Доп. сбор за доставку товаров, общая стоимость которых попадает в интервал
Sum int `json:"sum"`
// Threshold Порог стоимости товара (действует по условию меньше или равно) в целых единицах валюты
Threshold int `json:"threshold"`
// VatSum Сумма НДС
VatSum int `json:"vat_sum,omitempty"`
// VatRate Ставка НДС (значение - 0, 10, 20, null - нет НДС)
VatRate int `json:"vat_rate,omitempty"`
}
type Credentials ¶
func (*Credentials) UrlValues ¶
func (c *Credentials) UrlValues() url.Values
type DeliveryPoint ¶
type DeliveryPoint struct {
Code string `json:"code"`
Name string `json:"name,omitempty"`
AddressComment string `json:"address_comment,omitempty"`
WorkTime string `json:"work_time,omitempty"`
Phones []Phone `json:"phones,omitempty"`
Email string `json:"email,omitempty"`
Note string `json:"note,omitempty"`
Type string `json:"type"`
OwnerCode string `json:"owner_code"`
TakeOnly bool `json:"take_only"`
IsHandout bool `json:"is_handout,omitempty"`
IsReception bool `json:"is_reception,omitempty"`
IsDressingRoom bool `json:"is_dressing_room,omitempty"`
HaveCashless bool `json:"have_cashless"`
HaveCash bool `json:"have_cash"`
AllowedCod bool `json:"allowed_cod"`
Site string `json:"site,omitempty"`
WorkTimeList []DeliveryPointWorkTime `json:"work_time_list,omitempty"`
WeightMin float64 `json:"weight_min,omitempty"`
WeightMax float64 `json:"weight_max,omitempty"`
Location DeliveryPointLocation `json:"location"`
Fulfillment bool `json:"fulfillment"`
NearestStation string `json:"nearest_station,omitempty"`
NearestMetroStation string `json:"nearest_metro_station,omitempty"`
OfficeImageList []DeliveryPointOfficeImage `json:"office_image_list,omitempty"`
WorkTimeExceptions []DeliveryPointWorkTimeExceptions `json:"work_time_exceptions,omitempty"`
}
type DeliveryPointLocation ¶
type DeliveryPointLocation struct {
CountryCode string `json:"country_code"`
RegionCode int `json:"region_code"`
Region string `json:"region,omitempty"`
CityCode int `json:"city_code"`
City string `json:"city,omitempty"`
FiasGuid string `json:"fias_guid,omitempty"`
PostalCode string `json:"postal_code,omitempty"`
Longitude float64 `json:"longitude"`
Latitude float64 `json:"latitude"`
Address string `json:"address"`
AddressFull string `json:"address_full,omitempty"`
}
type DeliveryPointOfficeImage ¶
type DeliveryPointOfficeImage struct {
Url string `json:"url"`
}
type DeliveryPointWorkTime ¶
type DeliveryPointsRequest ¶
type DeliveryPointsRequest struct {
// PostalCode Почтовый индекс города, для которого необходим список офисов
PostalCode int `url:"postal_code,omitempty"`
// CityCode Код населенного пункта СДЭК (метод "Список населенных пунктов")
CityCode int `url:"city_code,omitempty"`
// Type Тип офиса, может принимать значения: «PVZ» - склады, «POSTAMAT» - постаматы, «ALL» - все.
Type string `url:"type,omitempty"`
// CountryCode Код страны в формате ISO_3166-1_alpha-2 (см. “Общероссийский классификатор стран мира”)
CountryCode string `url:"country_code,omitempty"`
// RegionCode Код региона по базе СДЭК
RegionCode int `url:"region_code,omitempty"`
// HaveCashless Наличие терминала оплаты
HaveCashless bool `url:"have_cashless,omitempty"`
// HaveCash Есть прием наличных
HaveCash bool `url:"have_cash,omitempty"`
// AllowedCod Разрешен наложенный платеж
AllowedCod bool `url:"allowed_cod,omitempty"`
// IsDressingRoom Наличие примерочной
IsDressingRoom bool `url:"is_dressing_room,omitempty"`
// WeightMax Максимальный вес в кг, который может принять офис (значения больше 0 - передаются офисы, которые принимают этот вес; 0 - офисы с нулевым весом не передаются; значение не указано - все офисы)
WeightMax bool `url:"weight_max,omitempty"`
// WeightMin Минимальный вес в кг, который принимает офис (при переданном значении будут выводиться офисы с минимальным весом до указанного значения)
WeightMin bool `url:"weight_min,omitempty"`
// Lang Локализация офиса. По умолчанию "rus"
Lang string `url:"lang,omitempty"`
// TakeOnly Является ли офис только пунктом выдачи
TakeOnly bool `url:"take_only,omitempty"`
// IsHandout Является пунктом выдачи, может принимать значения
IsHandout bool `url:"is_handout,omitempty"`
// IsReception Есть ли в офисе приём заказов
IsReception bool `url:"is_reception,omitempty"`
// FiasGuid Код города ФИАС UUID
FiasGuid string `url:"fias_guid,omitempty"`
}
type DeliveryPointsResponse ¶
type DeliveryPointsResponse []DeliveryPoint
type Location ¶
type Location struct {
// Code Код населенного пункта СДЭК (метод "Список населенных пунктов")
Code int `json:"code,omitempty"`
// FiasGuid Уникальный идентификатор ФИАС UUID
FiasGuid string `json:"fias_guid,omitempty"`
// PostalCode Почтовый индекс
PostalCode string `json:"postal_code,omitempty"`
// Longitude Долгота
Longitude float64 `json:"longitude,omitempty"`
// Latitude Широта
Latitude float64 `json:"latitude,omitempty"`
// CountryCode
CountryCode string `json:"country_code,omitempty"`
// Region Название региона
Region string `json:"region,omitempty"`
// RegionCode Код региона СДЭК
RegionCode int `json:"region_code,omitempty"`
// SubRegion Название района региона
SubRegion string `json:"sub_region,omitempty"`
// City Название города
City string `json:"city,omitempty"`
// Address Строка адреса
Address string `json:"address"`
}
type Options ¶
type Options struct {
Endpoint string
Credentials *Credentials
}
type OrderRegisterRequest ¶
type OrderRegisterRequest struct {
Type int `json:"type,omitempty"`
// 136 - не только наземная, 234 - только наземная
TariffCode int `json:"tariff_code"`
ShipmentPoint string `json:"shipment_point"`
DeliveryPoint string `json:"delivery_point"`
// TODO: Че это за хуйня вообще?
DeliveryRecipientCost Payment `json:"delivery_recipient_cost"`
DeliveryRecipientCostAdv Cost `json:"delivery_recipient_cost_adv"`
Recipient Contact `json:"recipient"`
Packages []Package `json:"packages"`
// TODO: Maybe будет полезным
WidgetToken string `json:"widget_token,omitempty"`
}
type OrderStatusCall ¶
type OrderStatusCall struct {
// FailedCalls Информация о неуспешных прозвонах (недозвонах)
FailedCalls OrderStatusFailedCall `json:"failed_calls,omitempty"`
// RescheduledCalls Информация о переносах прозвонов
RescheduledCalls OrderStatusRescheduledCall `json:"rescheduled_calls,omitempty"`
}
type OrderStatusDeliveryDetail ¶
type OrderStatusDeliveryDetail struct {
// Date Дата доставки
Date string `json:"date"`
// RecipientName получатель при доставке
RecipientName string `json:"recipient_name"`
// PaymentSum Сумма наложенного платежа, которую взяли с получателя, в валюте страны получателя с учетом частичной доставки
PaymentSum float64 `json:"payment_sum,omitempty"`
// PaymentInfo Тип оплаты наложенного платежа получателем
PaymentInfo []OrderStatusPaymentInfo `json:"payment_info,omitempty"`
// DeliverySum Стоимость услуги доставки (по тарифу)
DeliverySum float64 `json:"delivery_sum"`
TotalSum float64 `json:"total_sum"`
}
type OrderStatusDeliveryProblem ¶
type OrderStatusDeliveryProblem struct {
// Code Код проблемы (подробнее см. приложение 4) https://api-docs.cdek.ru/29923975.html
Code string `json:"code,omitempty"`
// CreateDate Дата создания проблемы
CreateDate string `json:"create_date,omitempty"`
}
type OrderStatusEntity ¶
type OrderStatusEntity struct {
// Uuid Идентификатор заказа в ИС СДЭК
Uuid string `json:"uuid"`
// IsReturn Признак возвратного заказа: true - возвратный, false - прямой
IsReturn bool `json:"is_return"`
// IsReverse Признак реверсного заказа: true - реверсный, false - не реверсный
IsReverse bool `json:"is_reverse"`
// Type Тип заказа: 1 - "интернет-магазин" (только для договора типа "Договор с ИМ"), 2 - "доставка" (для любого договора)
Type int `json:"type"`
// CdekNumber Номер заказа СДЭК
CdekNumber string `json:"cdek_number,omitempty"`
// Number Номер заказа в ИС Клиента. При запросе информации по данному полю возможны варианты:
// - если не передан, будет присвоен номер заказа в ИС СДЭК - uuid;
// - если найдено больше 1, то выбирается созданный с самой последней датой.
// Может содержать только цифры, буквы латинского алфавита или спецсимволы (формат ASCII)
Number string `json:"number,omitempty"`
// DeliveryMode Истинный режим заказа:
// 1 - дверь-дверь
// 2 - дверь-склад
// 3 - склад-дверь
// 4 - склад-склад
// 6 - дверь-постамат
// 7 - склад-постамат
DeliveryMode string `json:"delivery_mode"`
//// TariffCode Код тарифа
//TariffCode int `json:"tariff_code"`
// Comment Комментарий к заказу
Comment string `json:"comment,omitempty"`
// DeveloperKey Ключ разработчика
DeveloperKey string `json:"developer_key,omitempty"`
// ShipmentPoint Код ПВЗ СДЭК, на который будет производиться самостоятельный привоз клиентом
ShipmentPoint string `json:"shipment_point,omitempty"`
// DeliveryPoint Код офиса СДЭК (ПВЗ/постамат), на который будет доставлена посылка
DeliveryPoint string `json:"delivery_point,omitempty"`
// DateInvoice Дата инвойса. Только для международных заказов. date (yyyy-MM-dd)
DateInvoice string `json:"date_invoice,omitempty"`
// ShipperName Грузоотправитель. Только для международных заказов
ShipperName string `json:"shipper_name,omitempty"`
// ShipperAddress Адрес грузоотправителя. Только для международных заказов
ShipperAddress string `json:"shipper_address,omitempty"`
// DeliveryRecipientCost Доп. сбор за доставку, которую ИМ берет с получателя.
DeliveryRecipientCost Payment `json:"delivery_recipient_cost,omitempty"`
// DeliveryRecipientCostAdv Доп. сбор за доставку (которую ИМ берет с получателя), в зависимости от суммы заказа
DeliveryRecipientCostAdv []Cost `json:"delivery_recipient_cost_adv,omitempty"`
// Sender Отправитель
Sender RecipientSender `json:"sender"`
// Seller Реквизиты истинного продавца
Seller Seller `json:"seller,omitempty"`
// Recipient Получатель
Recipient RecipientSender `json:"recipient,omitempty"`
// FromLocation Адрес отправления. Не может использоваться одновременно с shipment_point
FromLocation Location `json:"from_location"`
// ToLocation Адрес получения. Не может использоваться одновременно с delivery_point
ToLocation Location `json:"to_location"`
// ItemsCostCurrency TODO
ItemsCostCurrency string `json:"items_cost_currency"`
// RecipientCurrency TODO
RecipientCurrency string `json:"recipient_currency"`
// Services Дополнительные услуги
Services []Service `json:"services,omitempty"`
// Packages Список информации по местам (упаковкам)
Packages []Package `json:"packages"`
// DeliveryProblem Проблемы доставки, с которыми столкнулся курьер при доставке заказа "до двери"
DeliveryProblem []OrderStatusDeliveryProblem `json:"delivery_problem,omitempty"`
// DeliveryDetail Информация о вручении
DeliveryDetail OrderStatusDeliveryDetail `json:"delivery_detail,omitempty"`
// TransactedPayment Признак того, что по заказу была получена информация о переводе наложенного платежа интернет-магазину
TransactedPayment bool `json:"transacted_payment,omitempty"`
// Statuses Список статусов по заказу, отсортированных по дате и времени
Statuses []OrderStatusInfo `json:"statuses"`
// Calls Информация о прозвонах получателя
Calls []OrderStatusCall `json:"calls,omitempty"`
// @todo ticket SD-735298 - this is not documented but exists in example response https://api-docs.cdek.ru/29923975.html
DeliveryDate string `json:"delivery_date,omitempty"`
ShopSellerName string `json:"shop_seller_name,omitempty"`
}
type OrderStatusFailedCall ¶
type OrderStatusInfo ¶
type OrderStatusInfo struct {
// Code Код статуса (подробнее см. приложение 1)
Code string `json:"code"`
// Name Название статуса
Name string `json:"name"`
// DateTime Дата и время установки статуса (формат yyyy-MM-dd'T'HH:mm:ssZ)
DateTime string `json:"date_time"`
// ReasonCode Дополнительный код статуса (подробнее см. приложение 2)
ReasonCode string `json:"reason_code,omitempty"`
// City Наименование места возникновения статуса
City string `json:"city"`
}
type OrderStatusPaymentInfo ¶
type OrderStatusPaymentInfo struct {
// Type Тип оплаты: CARD - картой, CASH - наличными
Type string `json:"type"`
// Sum Сумма в валюте страны получателя
Sum float64 `json:"sum"`
// DeliverySum Стоимость услуги доставки (по тарифу)
DeliverySum float64 `json:"delivery_sum"`
// TotalSum Итоговая стоимость заказа
TotalSum float64 `json:"total_sum"`
}
type OrderStatusRescheduledCall ¶
type OrderStatusRescheduledCall struct {
// DateTime Дата и время создания переноса прозвона
DateTime string `json:"date_time"`
// DateNext Дата, на которую согласован повторный прозвон
DateNext string `json:"date_next"`
// TimeNext Время, на которое согласован повторный прозвон
TimeNext string `json:"time_next"`
// Comment Комментарий к переносу прозвона
Comment string `json:"comment,omitempty"`
}
type OrderUpdateRequest ¶
type OrderUpdateRequest struct {
// UUID Идентификатор заказа в ИС СДЭК, который нужно изменить (да, если не заполнен cdek_number)
UUID string `json:"uuid,omitempty"`
// CdekNumber Номер заказа СДЭК, который нужно изменить (да, если не заполнен uuid)
CdekNumber string `json:"cdek_number,omitempty"`
// Код тарифа (режимы старого и нового тарифа должны совпадать)
TariffCode int `json:"tariff_code,omitempty"`
// Comment Комментарий к заказу
Comment string `json:"comment"`
// ShipmentPoint Код ПВЗ СДЭК, на который будет производится забор отправления либо самостоятельный привоз клиентом. Не может использоваться одновременно с from_location
ShipmentPoint string `json:"shipment_point,omitempty"`
// DeliveryPoint Код ПВЗ СДЭК, на который будет доставлена посылка. Не может использоваться одновременно с to_location
DeliveryPoint string `json:"delivery_point,omitempty"`
// OrderDeliveryRecipientCost Доп. сбор за доставку, которую ИМ берет с получателя. Валюта сбора должна совпадать с валютой наложенного платежа
DeliveryRecipientCost Payment `json:"delivery_recipient_cost"`
// DeliveryRecipientCostAdv Доп. сбор за доставку (которую ИМ берет с получателя) в зависимости от суммы заказа. Только для заказов "интернет-магазин". Возможно указать несколько порогов.
DeliveryRecipientCostAdv Cost `json:"delivery_recipient_cost_adv"`
// Sender Отправитель. Обязателен если:
// нет, если заказ типа "интернет-магазин"
// да, если заказ типа "доставка"
Sender RecipientSender `json:"sender,omitempty"`
// Seller Реквизиты истинного продавца
Seller Seller `json:"seller,omitempty"`
// Recipient Получатель
Recipient RecipientSender `json:"recipient,omitempty"`
// ToLocation Адрес получения. Не может использоваться одновременно с delivery_point
ToLocation Location `json:"to_location"`
// FromLocation Адрес отправления. Не может использоваться одновременно с shipment_point
FromLocation Location `json:"from_location"`
// Services Дополнительные услуги
Services []Service `json:"services,omitempty"`
// Packages Список информации по местам (упаковкам)
Packages []Package `json:"packages,omitempty"`
}
type OrderUpdateResponse ¶
type OrderUpdateResponse struct {
Entity ResponseEntity `json:"entity,omitempty"`
Requests []ResponseRequests `json:"requests"`
}
type Package ¶
type Package struct {
// Number Номер упаковки (можно использовать порядковый номер упаковки заказа или номер заказа), уникален в пределах заказа. Идентификатор заказа в ИС Клиента
Number string `json:"number"`
// Weight Общий вес (в граммах)
Weight int `json:"weight"`
// Высота (в сантиметрах). Поле обязательно если:
// если общий вес >=100 гр
Height int `json:"height,omitempty"`
// Длина (в сантиметрах). Поле обязательно если:
// если общий вес >=100 гр
Length int `json:"length,omitempty"`
// Ширина (в сантиметрах). Поле обязательно если:
// если общий вес >=100 гр
Width int `json:"width,omitempty"`
// Items Позиции товаров в упаковке. Только для заказов "интернет-магазин". Максимум 126 уникальных позиций в заказе. Общее количество товаров в заказе может быть от 1 до 10000
Items []PackageItem `json:"items,omitempty"`
}
type PackageItem ¶
type PackageItem struct {
// Name Наименование товара (может также содержать описание товара: размер, цвет)
Name string `json:"name"`
// WareKey Идентификатор/артикул товара. Артикул товара может содержать только символы: [A-z А-я 0-9 ! @ " # № $ ; % ^ : & ? * () _ - + = ? < > , .{ } [ ] \ / , пробел]
WareKey string `json:"ware_key"`
// TODO: Нахуя ты?
Marking string `json:"marking,omitempty"`
Payment Payment `json:"payment"`
// Cost Объявленная стоимость товара (за единицу товара в валюте взаиморасчетов, значение >=0). С данного значения рассчитывается страховка
Cost float64 `json:"cost"`
// Amount Количество единиц товара (в штуках). Количество одного товара в заказе может быть от 1 до 999
Amount int `json:"amount"`
// Weight Вес (за единицу товара, в граммах)
Weight int `json:"weight"`
}
type RecipientSender ¶
type RecipientSender struct {
// Name нет, если заказ типа "интернет-магазин"; да, если заказ типа "доставка"
Name string `json:"name,omitempty"`
// Company Название компании. нет, если заказ типа "интернет-магазин"; да, если заказ типа "доставка"
Company string `json:"company,omitempty"`
// Email Эл. адрес. нет, если заказ типа "интернет-магазин"; да, если заказ типа "доставка"
Email string `json:"email,omitempty"`
// PassportSeries Серия паспорта
PassportSeries string `json:"passport_series,omitempty"`
// PassportNumber Номер паспорта
PassportNumber string `json:"passport_number,omitempty"`
// PassportDateOfIssue Дата выдачи паспорта
PassportDateOfIssue string `json:"passport_date_of_issue,omitempty"`
// PassportOrganization Орган выдачи паспорта
PassportOrganization string `json:"passport_organization,omitempty"`
// Tin ИНН Может содержать 10, либо 12 символов
Tin string `json:"tin,omitempty"`
// PassportDateOfBirth Дата рождения (yyyy-MM-dd)
PassportDateOfBirth string `json:"passport_date_of_birth,omitempty"`
// PassportRequirementsSatisfied Требования по паспортным данным удовлетворены (актуально для
// международных заказов):
// true - паспортные данные собраны или не требуются
// false - паспортные данные требуются и не собраны
PassportRequirementsSatisfied bool `json:"passport_requirements_satisfied,omitempty"`
// Phones Список телефонов, Не более 10 номеров
Phones []Phone `json:"phones,omitempty"`
}
type RegionsRequest ¶
type RegionsRequest struct {
// CountryCodes Массив кодов стран в формате ISO_3166-1_alpha-2
CountryCodes []string `url:"country_codes,omitempty"`
// Size Ограничение выборки результата. По умолчанию 1000
Size int `url:"size,omitempty"`
// Page Номер страницы выборки результата. По умолчанию 0
Page int `url:"page,omitempty"`
// Lang Локализация офиса. По умолчанию "rus"
Lang string `url:"lang,omitempty"`
}
type RegionsResponse ¶
type RegionsResponse []Region
type RespErrors ¶
type Response ¶
type Response struct {
Entity ResponseEntity `json:"entity,omitempty"`
Requests []ResponseRequests `json:"requests"`
RelatedEntities *ResponseRelatedEntities `json:"related_entities,omitempty"`
}
type ResponseEntity ¶
type ResponseEntity struct {
// Uuid Идентификатор заказа в ИС СДЭК
Uuid string `json:"uuid,omitempty"`
// Comment комментарий
Comment string `json:"comment,omitempty"`
}
ResponseEntity Информация о заказе
type ResponseErr ¶
type ResponseRelatedEntities ¶
type ResponseRelatedEntities struct {
// Type Тип связанной сущности. Может принимать значения: waybill - квитанция к заказу, barcode - ШК места к заказу
Type string `json:"type"`
// Uuid Идентификатор сущности, связанной с заказом
Uuid string `json:"uuid"`
// Url Ссылка на скачивание печатной формы в статусе "Сформирован", только для type = waybill, barcode
Url string `json:"url,omitempty"`
// CdekNumber Номер заказа СДЭК. Может возвращаться для return_order, direct_order, reverse_order
CdekNumber string `json:"cdek_number,omitempty"`
// Date Дата доставки, согласованная с получателем. Только для типа delivery
Date string `json:"date,omitempty"`
// TimeFrom Время начала ожидания курьера (согласованное с получателем). Только для типа delivery
TimeFrom string `json:"time_from,omitempty"`
// Date Время окончания ожидания курьера (согласованное с получателем). Только для типа delivery
TimeTo string `json:"time_to,omitempty"`
}
ResponseRelatedEntities Связанные сущности (если в запросе был передан корректный print)
type ResponseRequests ¶
type ResponseRequests struct {
// RequestUuid Идентификатор запроса в ИС СДЭК
RequestUuid string `json:"request_uuid,omitempty"`
// Type Тип запроса. Может принимать значения: CREATE, UPDATE, DELETE, AUTH, GET
Type string `json:"type"`
// State Текущее состояние запроса. Может принимать значения:
// ACCEPTED - пройдена предварительная валидация и запрос принят
// WAITING - запрос ожидает обработки (зависит от выполнения другого запроса)
// SUCCESSFUL - запрос обработан успешно
// INVALID - запрос обработался с ошибкой
State string `json:"state"`
// DateTime Дата и время установки текущего состояния запроса (формат yyyy-MM-dd'T'HH:mm:ssZ)
DateTime string `json:"date_time"`
// Errors Ошибки, возникшие в ходе выполнения запроса
Errors []ResponseErr `json:"errors,omitempty"`
// Warnings Предупреждения, возникшие в ходе выполнения запроса
Warnings []ResponseErr `json:"warnings,omitempty"`
}
ResponseRequests Информация о запросе над заказом
type Seller ¶
type Seller struct {
// Name Наименование истинного продавца. Обязателен если заполнен inn
Name string `json:"name,omitempty"`
// INN ИНН истинного продавца. Может содержать 10, либо 12 символов
INN string `json:"inn,omitempty"`
// Phone Телефон истинного продавца. Обязателен если заполнен inn
Phone string `json:"phone,omitempty"`
// OwnershipForm Код формы собственности (подробнее см. приложение 2). Обязателен если заполнен inn
OwnershipForm int `json:"ownership_form,omitempty"`
// Address Адрес истинного продавца. Используется при печати инвойсов для отображения адреса настоящего
// продавца товара, либо торгового названия. Только для международных заказов "интернет-магазин".
// Обязателен если заказ - международный
Address string `json:"address,omitempty"`
}
type Service ¶
type Service struct {
// Code Тип дополнительной услуги (подробнее см. приложение 3)
Code string `json:"code"`
// Parameter Параметр дополнительной услуги:
// количество для услуг
// PACKAGE_1, COURIER_PACKAGE_A2, SECURE_PACKAGE_A2, SECURE_PACKAGE_A3, SECURE_PACKAGE_A4,
// SECURE_PACKAGE_A5, CARTON_BOX_XS, CARTON_BOX_S, CARTON_BOX_M, CARTON_BOX_L, CARTON_BOX_500GR,
// CARTON_BOX_1KG, CARTON_BOX_2KG, CARTON_BOX_3KG, CARTON_BOX_5KG, CARTON_BOX_10KG, CARTON_BOX_15KG,
// CARTON_BOX_20KG, CARTON_BOX_30KG, CARTON_FILLER (для всех типов заказа)
// объявленная стоимость заказа для услуги INSURANCE (только для заказов с типом "доставка")
// длина для услуг BUBBLE_WRAP, WASTE_PAPER (для всех типов заказа)
// номер телефона для услуги SMS
// код фотопроекта для услуги PHOTO_DOCUMENT
Parameter string `json:"parameter,omitempty"`
}
type Tariff ¶
type Tariff struct {
TariffCode int `json:"tariff_code"`
TariffName string `json:"tariff_name"`
TariffDescription string `json:"tariff_description"`
DeliveryMode int `json:"delivery_mode"`
DeliverySum float64 `json:"delivery_sum"`
PeriodMin int `json:"period_min"`
PeriodMax int `json:"period_max"`
CalendarMin int `json:"calendar_min"`
CalendarMax int `json:"calendar_max"`
}
Click to show internal directories.
Click to hide internal directories.