forked from sirkostya009/go-novapost
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtracking_document.go
201 lines (197 loc) · 11.2 KB
/
tracking_document.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
package novapost
type (
StatusDocumentRequest struct {
DocumentNumber string `json:"DocumentNumber"`
Phone string `json:"Phone"`
}
Documents struct {
Documents []StatusDocumentRequest `json:"Documents"`
}
StatusDocument struct {
PossibilityCreateReturn bool `json:"PossibilityCreateReturn"`
PossibilityCreateRefusal bool `json:"PossibilityCreateRefusal"`
PossibilityChangeEW bool `json:"PossibilityChangeEW"`
PossibilityCreateRedirecting bool `json:"PossibilityCreateRedirecting"`
Number string `json:"Number"`
Redelivery string `json:"Redelivery"`
RedeliverySum string `json:"RedeliverySum"`
RedeliveryNum string `json:"RedeliveryNum"`
RedeliveryPayer string `json:"RedeliveryPayer"`
OwnerDocumentType string `json:"OwnerDocumentType"`
LastCreatedOnTheBasisDocumentType string `json:"LastCreatedOnTheBasisDocumentType"`
LastCreatedOnTheBasisPayerType string `json:"LastCreatedOnTheBasisPayerType"`
LastCreatedOnTheBasisDateTime string `json:"LastCreatedOnTheBasisDateTime"`
LastTransactionStatusGM string `json:"LastTransactionStatusGM"`
LastTransactionDateTimeGM string `json:"LastTransactionDateTimeGM"`
LastAmountTransferGM string `json:"LastAmountTransferGM"`
DateCreated string `json:"DateCreated"`
DocumentWeight string `json:"DocumentWeight"`
FactualWeight string `json:"FactualWeight"`
VolumeWeight string `json:"VolumeWeight"`
CheckWeight string `json:"CheckWeight"`
CheckWeightMethod string `json:"CheckWeightMethod"`
DocumentCost string `json:"DocumentCost"`
CalculatedWeight string `json:"CalculatedWeight"`
SumBeforeCheckWeight string `json:"SumBeforeCheckWeight"`
PayerType string `json:"PayerType"`
RecipientFullName string `json:"RecipientFullName"`
RecipientDateTime string `json:"RecipientDateTime"`
ScheduledDeliveryDate string `json:"ScheduledDeliveryDate"`
PaymentMethod string `json:"PaymentMethod"`
CargoDescriptionString string `json:"CargoDescriptionString"`
CargoType string `json:"CargoType"`
CitySender string `json:"CitySender"`
CityRecipient string `json:"CityRecipient"`
WarehouseRecipient string `json:"WarehouseRecipient"`
CounterpartyType string `json:"CounterpartyType"`
AfterpaymentOnGoodsCost string `json:"AfterpaymentOnGoodsCost"`
ServiceType string `json:"ServiceType"`
UndeliveryReasonsSubtypeDescription string `json:"UndeliveryReasonsSubtypeDescription"`
WarehouseRecipientNumber string `json:"WarehouseRecipientNumber"`
LastCreatedOnTheBasisNumber string `json:"LastCreatedOnTheBasisNumber"`
PhoneRecipient string `json:"PhoneRecipient"`
RecipientFullNameEW string `json:"RecipientFullNameEW"`
WarehouseRecipientInternetAddressRef string `json:"WarehouseRecipientInternetAddressRef"`
MarketplacePartnerToken string `json:"MarketplacePartnerToken"`
ClientBarcode string `json:"ClientBarcode"`
RecipientAddress string `json:"RecipientAddress"`
CounterpartyRecipientDescription string `json:"CounterpartyRecipientDescription"`
CounterpartySenderType string `json:"CounterpartySenderType"`
DateScan string `json:"DateScan"`
PaymentStatus string `json:"PaymentStatus"`
PaymentStatusDate string `json:"PaymentStatusDate"`
AmountToPay string `json:"AmountToPay"`
AmountPaid string `json:"AmountPaid"`
Status string `json:"Status"`
StatusCode string `json:"StatusCode"`
RefEW string `json:"RefEW"`
BackwardDeliverySubTypesActions string `json:"BackwardDeliverySubTypesActions"`
BackwardDeliverySubTypesServices string `json:"BackwardDeliverySubTypesServices"`
UndeliveryReasons string `json:"UndeliveryReasons"`
DatePayedKeeping string `json:"DatePayedKeeping"`
InternationalDeliveryType string `json:"InternationalDeliveryType"`
SeatsAmount string `json:"SeatsAmount"`
CardMaskedNumber string `json:"CardMaskedNumber"`
ExpressWaybillPaymentStatus string `json:"ExpressWaybillPaymentStatus"`
ExpressWaybillAmountToPay string `json:"ExpressWaybillAmountToPay"`
PhoneSender string `json:"PhoneSender"`
TrackingUpdateDate string `json:"TrackingUpdateDate"`
WarehouseSender string `json:"WarehouseSender"`
DateReturnCargo string `json:"DateReturnCargo"`
DateMoving string `json:"DateMoving"`
DateFirstDayStorage string `json:"DateFirstDayStorage"`
RefCityRecipient string `json:"RefCityRecipient"`
RefCitySender string `json:"RefCitySender"`
RefSettlementRecipient string `json:"RefSettlementRecipient"`
RefSettlementSender string `json:"RefSettlementSender"`
SenderAddress string `json:"SenderAddress"`
SenderFullNameEW string `json:"SenderFullNameEW"`
AnnouncedPrice string `json:"AnnouncedPrice"`
AdditionalInformationEW string `json:"AdditionalInformationEW"`
ActualDeliveryDate string `json:"ActualDeliveryDate"`
PostomatV3CellReservationNumber string `json:"PostomatV3CellReservationNumber"`
OwnerDocumentNumber string `json:"OwnerDocumentNumber"`
LastAmountReceivedCommissionGM string `json:"LastAmountReceivedCommissionGM"`
DeliveryTimeframe string `json:"DeliveryTimeframe"`
CreatedOnTheBasis string `json:"CreatedOnTheBasis"`
UndeliveryReasonsDate string `json:"UndeliveryReasonsDate"`
RecipientWarehouseTypeRef string `json:"RecipientWarehouseTypeRef"`
WarehouseRecipientRef string `json:"WarehouseRecipientRef"`
CategoryOfWarehouse string `json:"CategoryOfWarehouse"`
WarehouseRecipientAddress string `json:"WarehouseRecipientAddress"`
WarehouseSenderInternetAddressRef string `json:"WarehouseSenderInternetAddressRef"`
WarehouseSenderAddress string `json:"WarehouseSenderAddress"`
AviaDelivery string `json:"AviaDelivery"`
BarcodeRedBox string `json:"BarcodeRedBox"`
CargoReturnRefusal string `json:"CargoReturnRefusal"`
DaysStorageCargo string `json:"DaysStorageCargo"`
Packaging any `json:"Packaging"`
PartialReturnGoods any `json:"PartialReturnGoods"`
SecurePayment string `json:"SecurePayment"`
PossibilityChangeCash2Card bool `json:"PossibilityChangeCash2Card"`
PossibilityChangeDeliveryIntervals bool `json:"PossibilityChangeDeliveryIntervals"`
PossibilityTermExtensio bool `json:"PossibilityTermExtensio"`
StorageAmount string `json:"StorageAmount"`
StoragePrice string `json:"StoragePrice"`
FreeShipping string `json:"FreeShipping"`
LoyaltyCardRecipient string `json:"LoyaltyCardRecipient"`
}
)
// GetStatusDocuments Трекінг
//
// Оновлений метод «getStatusDocuments» працює в моделі «TrackingDocument», цей метод дозволяє переглядати більш
// розширену інформацію щодо статусу відправлення.
//
// При введеному номері телефону можна отримати наступні відомості: дані відправника або одержувача, номер телефону.
//
// Метод дозволяє переглядати одночасно до 100 відправлень.
//
// Доступність: Не вимагає використання API-ключа.
//
// # Актуальні статуси трекінгу
//
// 1
// Відправник самостійно створив цю накладну, але ще не надав до відправки
//
// 2
// Видалено
//
// 3
// Номер не знайдено
//
// 4
// Відправлення у місті ХХXХ. (Статус для межобластных отправлений)
//
// 41
// Відправлення у місті ХХXХ. (Статус для услуг локал стандарт и локал экспресс - доставка в пределах города)
//
// 5
// Відправлення прямує до міста YYYY
//
// 6
// Відправлення у місті YYYY, орієнтовна доставка до ВІДДІЛЕННЯ-XXX dd-mm. Очікуйте додаткове повідомлення про прибуття
//
// 7
// Прибув на відділення
//
// 8
// Прибув на відділення (завантажено в Поштомат)
//
// 9
// Відправлення отримано
//
// 10
// Відправлення отримано %DateReceived%. Протягом доби ви одержите SMS-повідомлення про надходження грошового переказу та зможете отримати його в касі відділення «Нова пошта»
//
// 11
// Відправлення отримано %DateReceived%. Грошовий переказ видано одержувачу.
//
// 12
// Нова Пошта комплектує ваше відправлення
//
// 101
// На шляху до одержувача
//
// 102
// Відмова від отримання (Відправником створено замовлення на повернення)
//
// 103
// Відмова одержувача (отримувач відмовився від відправлення)
//
// 104
// Змінено адресу
//
// 105
// Припинено зберігання
//
// 106
// Одержано і створено ЄН зворотньої доставки
//
// 111
// Невдала спроба доставки через відсутність Одержувача на адресі або зв'язку з ним
//
// 112
// Дата доставки перенесена Одержувачем
func (c Client) GetStatusDocuments(documents Documents) (Response[StatusDocument], error) {
return request[StatusDocument](c, TrackingDocumentModel, "getStatusDocuments", documents)
}