czech_post_b2b_client 1.0.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (478) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -1
  3. data/CHANGELOG.md +27 -2
  4. data/README.md +227 -199
  5. data/doc/CzechPostB2bClient.html +31 -35
  6. data/doc/CzechPostB2bClient/B2BErrors.html +26 -13
  7. data/doc/CzechPostB2bClient/B2BErrors/BadRequestError.html +7 -7
  8. data/doc/CzechPostB2bClient/B2BErrors/BaseError.html +75 -40
  9. data/doc/CzechPostB2bClient/B2BErrors/CustomerRequestsCountOverflowError.html +7 -7
  10. data/doc/CzechPostB2bClient/B2BErrors/InternalB2BServerError.html +7 -7
  11. data/doc/CzechPostB2bClient/B2BErrors/InternalBackendServerError.html +7 -7
  12. data/doc/CzechPostB2bClient/B2BErrors/InternalDataPersistenceServerError.html +7 -7
  13. data/doc/CzechPostB2bClient/B2BErrors/ProcessingUnfinishedYetError.html +7 -7
  14. data/doc/CzechPostB2bClient/B2BErrors/ServiceBusyError.html +7 -7
  15. data/doc/CzechPostB2bClient/B2BErrors/UnauthorizedContractAccessError.html +7 -7
  16. data/doc/CzechPostB2bClient/B2BErrors/UnauthorizedRoleAccessError.html +7 -7
  17. data/doc/CzechPostB2bClient/Configuration.html +33 -25
  18. data/doc/CzechPostB2bClient/Error.html +6 -6
  19. data/doc/CzechPostB2bClient/PostServices.html +197 -0
  20. data/doc/CzechPostB2bClient/PostServices/AddreseeVerification.html +129 -0
  21. data/doc/CzechPostB2bClient/PostServices/AddresseeAlertOfArrivalByEmail.html +129 -0
  22. data/doc/CzechPostB2bClient/PostServices/AddresseeAlertOfArrivalBySms.html +140 -0
  23. data/doc/CzechPostB2bClient/PostServices/AddresseeAlertOfArrivalBySmsAndEmail.html +129 -0
  24. data/doc/CzechPostB2bClient/PostServices/AddresseeVerificationOnDelivery.html +129 -0
  25. data/doc/CzechPostB2bClient/PostServices/AfternoonDelivery.html +129 -0
  26. data/doc/CzechPostB2bClient/PostServices/Base.html +351 -0
  27. data/doc/CzechPostB2bClient/PostServices/CashOnDeliveryByPKA.html +129 -0
  28. data/doc/CzechPostB2bClient/PostServices/CashOnDeliveryByPKC.html +129 -0
  29. data/doc/CzechPostB2bClient/PostServices/CashOnDeliveryInternational.html +129 -0
  30. data/doc/CzechPostB2bClient/PostServices/CertificateOfDelivery.html +148 -0
  31. data/doc/CzechPostB2bClient/PostServices/CertificateOfDeliveryWithDeliverToAdresseeOnly.html +140 -0
  32. data/doc/CzechPostB2bClient/PostServices/CertificateOfDeliveryWithDeliverToAdresseePersonOnly.html +129 -0
  33. data/doc/CzechPostB2bClient/PostServices/CompanyRegisteredMail.html +141 -0
  34. data/doc/CzechPostB2bClient/PostServices/CompleteDelivery.html +129 -0
  35. data/doc/CzechPostB2bClient/PostServices/Consignment.html +129 -0
  36. data/doc/CzechPostB2bClient/PostServices/CumbersomeParcel.html +129 -0
  37. data/doc/CzechPostB2bClient/PostServices/DeliverToAdresseeOnly.html +129 -0
  38. data/doc/CzechPostB2bClient/PostServices/DeliverToAdresseePersonOnly.html +129 -0
  39. data/doc/CzechPostB2bClient/PostServices/DeliverToCompany.html +147 -0
  40. data/doc/CzechPostB2bClient/PostServices/DepositFor10Days.html +129 -0
  41. data/doc/CzechPostB2bClient/PostServices/DepositFor10WorkingDays.html +129 -0
  42. data/doc/CzechPostB2bClient/PostServices/DepositFor3Days.html +129 -0
  43. data/doc/CzechPostB2bClient/PostServices/DepositFor7Days.html +129 -0
  44. data/doc/CzechPostB2bClient/PostServices/DepositFor90Days.html +129 -0
  45. data/doc/CzechPostB2bClient/PostServices/DepositIfAdresseeIsUnreachable.html +141 -0
  46. data/doc/CzechPostB2bClient/PostServices/DiscountForCollectiveShippment.html +129 -0
  47. data/doc/CzechPostB2bClient/PostServices/DiscountForOnlinePosting.html +129 -0
  48. data/doc/CzechPostB2bClient/PostServices/DoNotDeposit.html +129 -0
  49. data/doc/CzechPostB2bClient/PostServices/DoNotExtendCollectionTime.html +148 -0
  50. data/doc/CzechPostB2bClient/PostServices/DoNotPutIntoMailbox.html +129 -0
  51. data/doc/CzechPostB2bClient/PostServices/DoNotResend.html +129 -0
  52. data/doc/CzechPostB2bClient/PostServices/DoNotReturnLeaveItInMailbox.html +129 -0
  53. data/doc/CzechPostB2bClient/PostServices/DoNotReturnToSender.html +129 -0
  54. data/doc/CzechPostB2bClient/PostServices/Document.html +129 -0
  55. data/doc/CzechPostB2bClient/PostServices/DocumentlessCashOnDelivery.html +147 -0
  56. data/doc/CzechPostB2bClient/PostServices/DocumentsSignedAtDelivery.html +129 -0
  57. data/doc/CzechPostB2bClient/PostServices/EAlertOfDeliveryEmail.html +129 -0
  58. data/doc/CzechPostB2bClient/PostServices/EAlertOfDeliverySms.html +140 -0
  59. data/doc/CzechPostB2bClient/PostServices/EAlertOfDeliverySmsAndEmail.html +129 -0
  60. data/doc/CzechPostB2bClient/PostServices/EconomyDelivery.html +140 -0
  61. data/doc/CzechPostB2bClient/PostServices/ExtendedCollectionTime.html +129 -0
  62. data/doc/CzechPostB2bClient/PostServices/ForenoonDelivery.html +129 -0
  63. data/doc/CzechPostB2bClient/PostServices/Fragile.html +129 -0
  64. data/doc/CzechPostB2bClient/PostServices/GiftOrNonCommercialGoods.html +148 -0
  65. data/doc/CzechPostB2bClient/PostServices/GoodsWithExportDocumentsProcessed.html +148 -0
  66. data/doc/CzechPostB2bClient/PostServices/GuaranteedDeliveryTimeAtSaturday.html +129 -0
  67. data/doc/CzechPostB2bClient/PostServices/GuaranteedDeliveryTimeAtWeekend.html +129 -0
  68. data/doc/CzechPostB2bClient/PostServices/GuaranteedDeliveryTimeTo2PM.html +129 -0
  69. data/doc/CzechPostB2bClient/PostServices/HeavyParcelDeliveryToHand.html +129 -0
  70. data/doc/CzechPostB2bClient/PostServices/InformSenderAboutDelivery.html +129 -0
  71. data/doc/CzechPostB2bClient/PostServices/InternationalMail.html +129 -0
  72. data/doc/CzechPostB2bClient/PostServices/InternationalMailForBlinds.html +129 -0
  73. data/doc/CzechPostB2bClient/PostServices/InternationalPrintedMatterBag.html +129 -0
  74. data/doc/CzechPostB2bClient/PostServices/InternationalRegisteredMail.html +129 -0
  75. data/doc/CzechPostB2bClient/PostServices/InternationalRegisteredMailForBlinds.html +129 -0
  76. data/doc/CzechPostB2bClient/PostServices/InternationalRegisteredPrintedMatterBag.html +129 -0
  77. data/doc/CzechPostB2bClient/PostServices/ListedPrice.html +129 -0
  78. data/doc/CzechPostB2bClient/PostServices/Missed.html +129 -0
  79. data/doc/CzechPostB2bClient/PostServices/Missive.html +129 -0
  80. data/doc/CzechPostB2bClient/PostServices/MissiveStandard.html +129 -0
  81. data/doc/CzechPostB2bClient/PostServices/MultiParcelShippment.html +129 -0
  82. data/doc/CzechPostB2bClient/PostServices/MultiParcelShippmentBig.html +129 -0
  83. data/doc/CzechPostB2bClient/PostServices/NonStandardPackage.html +148 -0
  84. data/doc/CzechPostB2bClient/PostServices/OldApplianceRemoval.html +129 -0
  85. data/doc/CzechPostB2bClient/PostServices/OnPalette.html +140 -0
  86. data/doc/CzechPostB2bClient/PostServices/ParcelSizeL.html +129 -0
  87. data/doc/CzechPostB2bClient/PostServices/ParcelSizeM.html +129 -0
  88. data/doc/CzechPostB2bClient/PostServices/ParcelSizeS.html +129 -0
  89. data/doc/CzechPostB2bClient/PostServices/ParcelSizeXL.html +129 -0
  90. data/doc/CzechPostB2bClient/PostServices/PickupByThirdPerson.html +129 -0
  91. data/doc/CzechPostB2bClient/PostServices/PosteRestante.html +129 -0
  92. data/doc/CzechPostB2bClient/PostServices/PreprocessedBySorting.html +148 -0
  93. data/doc/CzechPostB2bClient/PostServices/PrioritaireByAir.html +129 -0
  94. data/doc/CzechPostB2bClient/PostServices/RegisteredMail.html +129 -0
  95. data/doc/CzechPostB2bClient/PostServices/RegisteredMailForBlinds.html +129 -0
  96. data/doc/CzechPostB2bClient/PostServices/RegisteredMailStandard.html +129 -0
  97. data/doc/CzechPostB2bClient/PostServices/ResendToOtherAddress.html +129 -0
  98. data/doc/CzechPostB2bClient/PostServices/ResponseEnvelope.html +129 -0
  99. data/doc/CzechPostB2bClient/PostServices/ResponseShipment.html +129 -0
  100. data/doc/CzechPostB2bClient/PostServices/ReturnByAir.html +129 -0
  101. data/doc/CzechPostB2bClient/PostServices/ReturnEconomically.html +129 -0
  102. data/doc/CzechPostB2bClient/PostServices/ReturnOfGoods.html +129 -0
  103. data/doc/CzechPostB2bClient/PostServices/ReturnToSenderAfterXDays.html +148 -0
  104. data/doc/CzechPostB2bClient/PostServices/ReturnToSenderImmediately.html +129 -0
  105. data/doc/CzechPostB2bClient/PostServices/SaveKey.html +148 -0
  106. data/doc/CzechPostB2bClient/PostServices/SubmissionByPostbox.html +129 -0
  107. data/doc/CzechPostB2bClient/PostServices/SubmissionReceiptCopy.html +129 -0
  108. data/doc/CzechPostB2bClient/PostServices/ThisSideUp.html +148 -0
  109. data/doc/CzechPostB2bClient/PostServices/ValuableContent.html +129 -0
  110. data/doc/CzechPostB2bClient/PrintingTemplates.html +16 -16
  111. data/doc/CzechPostB2bClient/PrintingTemplates/AddressData3x8.html +6 -6
  112. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel.html +6 -6
  113. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/Blank.html +6 -6
  114. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/Blank4OnPage.html +6 -6
  115. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/BlankLandscape.html +6 -6
  116. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage.html +7 -7
  117. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/EMS.html +6 -6
  118. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/EMS2x4.html +6 -6
  119. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/HarmonizedLabel.html +141 -0
  120. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/HarmonizedLabel4OnPage.html +129 -0
  121. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Standard.html +6 -6
  122. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Standard2OnPage.html +129 -0
  123. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Valuable.html +6 -6
  124. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Valuable4OnPage.html +6 -6
  125. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/Simple.html +6 -6
  126. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/SimpleWithCODVoucherA.html +6 -6
  127. data/doc/CzechPostB2bClient/PrintingTemplates/Base.html +16 -16
  128. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherA.html +6 -6
  129. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherA3OnPage.html +6 -6
  130. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherC.html +6 -6
  131. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherForCSOB.html +6 -6
  132. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration.html +115 -0
  133. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN22.html +129 -0
  134. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN224OnPage.html +129 -0
  135. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN22WithCK.html +129 -0
  136. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN22WithCK4OnPage.html +129 -0
  137. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN23.html +129 -0
  138. data/doc/CzechPostB2bClient/PrintingTemplates/DeliveryTicket.html +6 -6
  139. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope.html +6 -6
  140. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeB4.html +6 -6
  141. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeC5.html +6 -6
  142. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeC6.html +6 -6
  143. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeDL.html +6 -6
  144. data/doc/CzechPostB2bClient/PrintingTemplates/IntegratedDocument.html +6 -6
  145. data/doc/CzechPostB2bClient/PrintingTemplates/RRLabels3x8.html +6 -6
  146. data/doc/CzechPostB2bClient/RequestBuilders.html +8 -8
  147. data/doc/CzechPostB2bClient/RequestBuilders/BaseBuilder.html +9 -9
  148. data/doc/CzechPostB2bClient/RequestBuilders/GetParcelStateBuilder.html +8 -8
  149. data/doc/CzechPostB2bClient/RequestBuilders/GetParcelsPrintingBuilder.html +26 -26
  150. data/doc/CzechPostB2bClient/RequestBuilders/GetResultParcelsBuilder.html +8 -8
  151. data/doc/CzechPostB2bClient/RequestBuilders/GetStatsBuilder.html +9 -9
  152. data/doc/CzechPostB2bClient/RequestBuilders/ParcelServiceSyncBuilder.html +414 -0
  153. data/doc/CzechPostB2bClient/RequestBuilders/SendParcelsBuilder.html +32 -21
  154. data/doc/CzechPostB2bClient/ResponseCodes.html +51 -27
  155. data/doc/CzechPostB2bClient/ResponseCodes/AddressAllowedForBalikovnaOnly.html +7 -7
  156. data/doc/CzechPostB2bClient/ResponseCodes/AddressIsNotValidForSubject.html +7 -7
  157. data/doc/CzechPostB2bClient/ResponseCodes/AddressNeedsPhoneNumber.html +7 -7
  158. data/doc/CzechPostB2bClient/ResponseCodes/AddressSuitableForLocalDelivery.html +7 -7
  159. data/doc/CzechPostB2bClient/ResponseCodes/AddressValidOnlyForNaPostu.html +7 -7
  160. data/doc/CzechPostB2bClient/ResponseCodes/AddressValidOnlyForNaPostuDuplicate.html +7 -7
  161. data/doc/CzechPostB2bClient/ResponseCodes/AddresseeCityRequired.html +7 -7
  162. data/doc/CzechPostB2bClient/ResponseCodes/AlreadyAssignedOrderNumber.html +7 -7
  163. data/doc/CzechPostB2bClient/ResponseCodes/BadAddressee.html +7 -7
  164. data/doc/CzechPostB2bClient/ResponseCodes/BadCODAmount.html +7 -7
  165. data/doc/CzechPostB2bClient/ResponseCodes/BadFormatReturnNumberDays.html +7 -7
  166. data/doc/CzechPostB2bClient/ResponseCodes/BadHeight.html +7 -7
  167. data/doc/CzechPostB2bClient/ResponseCodes/BadLength.html +7 -7
  168. data/doc/CzechPostB2bClient/ResponseCodes/BadPrefix.html +7 -7
  169. data/doc/CzechPostB2bClient/ResponseCodes/BadPrefixForAddress.html +7 -7
  170. data/doc/CzechPostB2bClient/ResponseCodes/BadPrice.html +7 -7
  171. data/doc/CzechPostB2bClient/ResponseCodes/BadVariableSymbol.html +7 -7
  172. data/doc/CzechPostB2bClient/ResponseCodes/BadWeight.html +7 -7
  173. data/doc/CzechPostB2bClient/ResponseCodes/BadWidth.html +7 -7
  174. data/doc/CzechPostB2bClient/ResponseCodes/BaseCode.html +211 -121
  175. data/doc/CzechPostB2bClient/ResponseCodes/BatchClosed.html +7 -7
  176. data/doc/CzechPostB2bClient/ResponseCodes/BatchInvalid.html +7 -7
  177. data/doc/CzechPostB2bClient/ResponseCodes/BatchUnfinished.html +7 -7
  178. data/doc/CzechPostB2bClient/ResponseCodes/CODAmountOutOfRange.html +7 -7
  179. data/doc/CzechPostB2bClient/ResponseCodes/CODAmountTooBig.html +7 -7
  180. data/doc/CzechPostB2bClient/ResponseCodes/CanceledOrderNumber.html +7 -7
  181. data/doc/CzechPostB2bClient/ResponseCodes/CustomGoodQuantityOutOfRange.html +7 -7
  182. data/doc/CzechPostB2bClient/ResponseCodes/CustomerIDNotInAccordanceWithParcelCode.html +7 -7
  183. data/doc/CzechPostB2bClient/ResponseCodes/DensityOutOfRange.html +7 -7
  184. data/doc/CzechPostB2bClient/ResponseCodes/DuplicateDuplicateParcelCode.html +7 -7
  185. data/doc/CzechPostB2bClient/ResponseCodes/DuplicateParcel.html +7 -7
  186. data/doc/CzechPostB2bClient/ResponseCodes/DuplicateParcelCode.html +7 -7
  187. data/doc/CzechPostB2bClient/ResponseCodes/DuplicitParcelCode.html +7 -7
  188. data/doc/CzechPostB2bClient/ResponseCodes/FullSequence.html +7 -7
  189. data/doc/CzechPostB2bClient/ResponseCodes/FullSequenceDuplicate.html +7 -7
  190. data/doc/CzechPostB2bClient/ResponseCodes/IllegalCombinationOfServices.html +7 -7
  191. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddRequiredService75.html +7 -7
  192. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService1A.html +7 -7
  193. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService1B.html +7 -7
  194. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService1D.html +7 -7
  195. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService9.html +7 -7
  196. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddressWasModified.html +7 -7
  197. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddresseeToLong.html +7 -7
  198. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelCustCardNumber.html +7 -7
  199. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelCustCardNumberAddresseeDocument.html +7 -7
  200. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelHeight.html +7 -7
  201. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelLength.html +7 -7
  202. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelMobilePhoneOrEmailAddresseeDocument.html +7 -7
  203. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelPalettsNumber.html +7 -7
  204. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelPersonalIdentificationNumber.html +7 -7
  205. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AB.html +7 -7
  206. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1ABForService40.html +7 -7
  207. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AForPostCode.html +7 -7
  208. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AForService40.html +7 -7
  209. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AWith1B.html +7 -7
  210. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1B.html +7 -7
  211. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1BAddService1A.html +7 -7
  212. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1BForPostCode.html +7 -7
  213. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1BWith1A.html +7 -7
  214. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1D.html +7 -7
  215. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1E.html +7 -7
  216. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1V.html +7 -7
  217. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService25.html +7 -7
  218. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService27.html +7 -7
  219. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService29.html +7 -7
  220. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService30.html +7 -7
  221. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService31.html +7 -7
  222. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService34.html +7 -7
  223. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService34InvalidPhoneNumber.html +7 -7
  224. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService45.html +7 -7
  225. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService45InvalidPhoneNumber.html +7 -7
  226. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService46.html +7 -7
  227. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService47.html +7 -7
  228. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5B.html +7 -7
  229. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5BAnd5C.html +7 -7
  230. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5BAnd5D.html +7 -7
  231. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5C.html +7 -7
  232. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5CAnd5D.html +7 -7
  233. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5D.html +7 -7
  234. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService9.html +134 -0
  235. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelVSVoucher.html +7 -7
  236. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelWidth.html +7 -7
  237. data/doc/CzechPostB2bClient/ResponseCodes/InfoCityChanged.html +7 -7
  238. data/doc/CzechPostB2bClient/ResponseCodes/InfoInexactAddress.html +7 -7
  239. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidAccount.html +7 -7
  240. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidBankCode.html +7 -7
  241. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidBirthDay.html +7 -7
  242. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidCODAmount.html +7 -7
  243. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidCategoryCustomDecalaration.html +7 -7
  244. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidEmail.html +7 -7
  245. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidMobilePhoneNumber.html +7 -7
  246. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidPhoneNumber.html +7 -7
  247. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidPrefixAccount.html +7 -7
  248. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidPrice.html +7 -7
  249. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidSpecificSymbol.html +7 -7
  250. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidTelephoneNumber.html +7 -7
  251. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidWeight.html +7 -7
  252. data/doc/CzechPostB2bClient/ResponseCodes/InfoMissingPartCityServiceDeliveryOnSundayOrHolidayMayNotBeRealized.html +18 -7
  253. data/doc/CzechPostB2bClient/ResponseCodes/InfoPriceIsNotNumber.html +7 -7
  254. data/doc/CzechPostB2bClient/ResponseCodes/InfoPriceIsTooBig.html +7 -7
  255. data/doc/CzechPostB2bClient/ResponseCodes/InfoService29And47.html +7 -7
  256. data/doc/CzechPostB2bClient/ResponseCodes/InfoSpecialPackagingRequest.html +7 -7
  257. data/doc/CzechPostB2bClient/ResponseCodes/InternalApplicationError.html +7 -7
  258. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressAddresseeDocumentForParcelType.html +7 -7
  259. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressAddresseeDocumentObjectNotFound.html +7 -7
  260. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressAddresseeDocumentWrongCity.html +7 -7
  261. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForBalikovna.html +7 -7
  262. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForBigPackage.html +7 -7
  263. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForCODAmountOver20000.html +7 -7
  264. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForParcelType.html +7 -7
  265. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressee.html +7 -7
  266. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAmount.html +7 -7
  267. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAmountCurrency.html +7 -7
  268. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAmountType.html +7 -7
  269. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCODAmount.html +7 -7
  270. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCODCurrency.html +7 -7
  271. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCODCurrencyAccordance.html +7 -7
  272. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCategoryCustomDecalaration.html +7 -7
  273. data/doc/CzechPostB2bClient/ResponseCodes/InvalidContentCustomGood.html +7 -7
  274. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCurrencyCustomDecalaration.html +7 -7
  275. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCustomGoodNumber.html +7 -7
  276. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCustomerCardNumber.html +7 -7
  277. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCustomerId.html +7 -7
  278. data/doc/CzechPostB2bClient/ResponseCodes/InvalidDensity.html +7 -7
  279. data/doc/CzechPostB2bClient/ResponseCodes/InvalidEmail.html +7 -7
  280. data/doc/CzechPostB2bClient/ResponseCodes/InvalidHeight.html +7 -7
  281. data/doc/CzechPostB2bClient/ResponseCodes/InvalidHsCodeCustomGood.html +7 -7
  282. data/doc/CzechPostB2bClient/ResponseCodes/InvalidIsoCustomGood.html +7 -7
  283. data/doc/CzechPostB2bClient/ResponseCodes/InvalidIsoCustomGoodFormat.html +7 -7
  284. data/doc/CzechPostB2bClient/ResponseCodes/InvalidLength.html +7 -7
  285. data/doc/CzechPostB2bClient/ResponseCodes/InvalidLocation.html +7 -7
  286. data/doc/CzechPostB2bClient/ResponseCodes/InvalidMRNCode.html +7 -7
  287. data/doc/CzechPostB2bClient/ResponseCodes/InvalidMRNCodeControl.html +7 -7
  288. data/doc/CzechPostB2bClient/ResponseCodes/InvalidNumberClosure.html +7 -7
  289. data/doc/CzechPostB2bClient/ResponseCodes/InvalidOrderNumber.html +7 -7
  290. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelBarcode.html +7 -7
  291. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelBarcodeDuplicate.html +7 -7
  292. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelCode.html +7 -7
  293. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelCodeControl.html +7 -7
  294. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelResponseCode.html +7 -7
  295. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelTypeForID.html +7 -7
  296. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPartnerCode.html +7 -7
  297. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPayday.html +7 -7
  298. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPhoneNumber.html +7 -7
  299. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPostCode.html +7 -7
  300. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrefixAccordance.html +7 -7
  301. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrefixCombination.html +7 -7
  302. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrefixForDimensionsAndFragile.html +7 -7
  303. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrice.html +7 -7
  304. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPriceCurrency.html +7 -7
  305. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPriceCurrencyAccordance.html +7 -7
  306. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPriceCustomGood.html +7 -7
  307. data/doc/CzechPostB2bClient/ResponseCodes/InvalidQuantityCustomGood.html +7 -7
  308. data/doc/CzechPostB2bClient/ResponseCodes/InvalidResponsibleConsignmentNumber.html +7 -7
  309. data/doc/CzechPostB2bClient/ResponseCodes/InvalidReturnNumberDays.html +7 -7
  310. data/doc/CzechPostB2bClient/ResponseCodes/InvalidService18.html +7 -7
  311. data/doc/CzechPostB2bClient/ResponseCodes/InvalidService19.html +7 -7
  312. data/doc/CzechPostB2bClient/ResponseCodes/InvalidServiceCombination.html +7 -7
  313. data/doc/CzechPostB2bClient/ResponseCodes/InvalidServicesForDimensions.html +7 -7
  314. data/doc/CzechPostB2bClient/ResponseCodes/InvalidSignNumber.html +7 -7
  315. data/doc/CzechPostB2bClient/ResponseCodes/InvalidSubisoCountry.html +7 -7
  316. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTareWeight.html +7 -7
  317. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTiming.html +7 -7
  318. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTransmissionDate.html +7 -7
  319. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTypePrefix.html +7 -7
  320. data/doc/CzechPostB2bClient/ResponseCodes/InvalidUseOfService36.html +7 -7
  321. data/doc/CzechPostB2bClient/ResponseCodes/InvalidUseOfService37.html +7 -7
  322. data/doc/CzechPostB2bClient/ResponseCodes/InvalidUseOfService38.html +7 -7
  323. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeight.html +7 -7
  324. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeightCustomGood.html +7 -7
  325. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeightCustomGoodSummary.html +7 -7
  326. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeightForService11.html +7 -7
  327. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWidth.html +7 -7
  328. data/doc/CzechPostB2bClient/ResponseCodes/InvalidZPROOrderNumber.html +7 -7
  329. data/doc/CzechPostB2bClient/ResponseCodes/InvalidZPROOrderNumberFormat.html +7 -7
  330. data/doc/CzechPostB2bClient/ResponseCodes/InvalidostCodeOrCity.html +7 -7
  331. data/doc/CzechPostB2bClient/ResponseCodes/MIssingParcelCode.html +7 -7
  332. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddressee.html +7 -7
  333. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddresseeCity.html +7 -7
  334. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddresseeStreet.html +7 -7
  335. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddresseeZipCode.html +7 -7
  336. data/doc/CzechPostB2bClient/ResponseCodes/MissingCODAmount.html +7 -7
  337. data/doc/CzechPostB2bClient/ResponseCodes/MissingCODAmountType.html +7 -7
  338. data/doc/CzechPostB2bClient/ResponseCodes/MissingCategoryCustomDecalaration.html +7 -7
  339. data/doc/CzechPostB2bClient/ResponseCodes/MissingCompanyName.html +7 -7
  340. data/doc/CzechPostB2bClient/ResponseCodes/MissingContentCustomGood.html +7 -7
  341. data/doc/CzechPostB2bClient/ResponseCodes/MissingCurrencyCustomDeclaration.html +7 -7
  342. data/doc/CzechPostB2bClient/ResponseCodes/MissingHandlingInstructions.html +7 -7
  343. data/doc/CzechPostB2bClient/ResponseCodes/MissingHeight.html +7 -7
  344. data/doc/CzechPostB2bClient/ResponseCodes/MissingHsCodeCustomGood.html +7 -7
  345. data/doc/CzechPostB2bClient/ResponseCodes/MissingIsoCustomGood.html +7 -7
  346. data/doc/CzechPostB2bClient/ResponseCodes/MissingLength.html +7 -7
  347. data/doc/CzechPostB2bClient/ResponseCodes/MissingPalettsNumber.html +7 -7
  348. data/doc/CzechPostB2bClient/ResponseCodes/MissingParcelCustomGood.html +7 -7
  349. data/doc/CzechPostB2bClient/ResponseCodes/MissingParcelCustomGoods.html +7 -7
  350. data/doc/CzechPostB2bClient/ResponseCodes/MissingPhoneNumber.html +7 -7
  351. data/doc/CzechPostB2bClient/ResponseCodes/MissingPrefix.html +7 -7
  352. data/doc/CzechPostB2bClient/ResponseCodes/MissingPrice.html +7 -7
  353. data/doc/CzechPostB2bClient/ResponseCodes/MissingPriceCustomGood.html +7 -7
  354. data/doc/CzechPostB2bClient/ResponseCodes/MissingQuantityCustomGood.html +7 -7
  355. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredAddresseeDocument.html +7 -7
  356. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredAddresseeDocumentDuplicate.html +7 -7
  357. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredAddresseeEmail.html +7 -7
  358. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredEmail.html +7 -7
  359. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredFirstNameAddresseeDocument.html +7 -7
  360. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredMRNCode.html +7 -7
  361. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredMobileNumber.html +7 -7
  362. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredMobileNumberOrEmail.html +7 -7
  363. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredParcelCode.html +7 -7
  364. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPayday.html +7 -7
  365. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPhoneNumber.html +7 -7
  366. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPhoneNumberOrEmail.html +7 -7
  367. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPhoneNumberOrWhat.html +7 -7
  368. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPrice.html +7 -7
  369. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService.html +7 -7
  370. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService10.html +7 -7
  371. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService1AB.html +7 -7
  372. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService1X.html +7 -7
  373. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService2X.html +7 -7
  374. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService3X.html +7 -7
  375. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService3XTrinity.html +7 -7
  376. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService4.html +7 -7
  377. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService4X.html +7 -7
  378. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService4x.html +7 -7
  379. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredVoucherPrice.html +7 -7
  380. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredZPROOrderNumber.html +7 -7
  381. data/doc/CzechPostB2bClient/ResponseCodes/MissingReturnInstructions.html +7 -7
  382. data/doc/CzechPostB2bClient/ResponseCodes/MissingReturnNumberDays.html +7 -7
  383. data/doc/CzechPostB2bClient/ResponseCodes/MissingSenderEmail.html +7 -7
  384. data/doc/CzechPostB2bClient/ResponseCodes/MissingSizeCategory.html +7 -7
  385. data/doc/CzechPostB2bClient/ResponseCodes/MissingSurname.html +7 -7
  386. data/doc/CzechPostB2bClient/ResponseCodes/MissingVariableSymbol.html +7 -7
  387. data/doc/CzechPostB2bClient/ResponseCodes/MissingVariableSymbolDuplicate.html +7 -7
  388. data/doc/CzechPostB2bClient/ResponseCodes/MissingWeightCustomGood.html +7 -7
  389. data/doc/CzechPostB2bClient/ResponseCodes/MissingWidth.html +7 -7
  390. data/doc/CzechPostB2bClient/ResponseCodes/NoContractService41.html +7 -7
  391. data/doc/CzechPostB2bClient/ResponseCodes/NoContractServiceReturnReceipt.html +7 -7
  392. data/doc/CzechPostB2bClient/ResponseCodes/NotExistingOrderNumber.html +7 -7
  393. data/doc/CzechPostB2bClient/ResponseCodes/Ok.html +7 -7
  394. data/doc/CzechPostB2bClient/ResponseCodes/OverenoVecerniDorucovani.html +7 -7
  395. data/doc/CzechPostB2bClient/ResponseCodes/PalettsNumberOutOfRange.html +7 -7
  396. data/doc/CzechPostB2bClient/ResponseCodes/ParcelCodeNotAllowed.html +7 -7
  397. data/doc/CzechPostB2bClient/ResponseCodes/ParcelCodeNotInAssignedRange.html +7 -7
  398. data/doc/CzechPostB2bClient/ResponseCodes/ParcelDoesNotMeetTheRequirementsForm.html +7 -7
  399. data/doc/CzechPostB2bClient/ResponseCodes/PriceAndCODAmountTooBig.html +7 -7
  400. data/doc/CzechPostB2bClient/ResponseCodes/PriceOutOfRange.html +7 -7
  401. data/doc/CzechPostB2bClient/ResponseCodes/PriceTooBig.html +7 -7
  402. data/doc/CzechPostB2bClient/ResponseCodes/PriceTooLow.html +7 -7
  403. data/doc/CzechPostB2bClient/ResponseCodes/ResponsibleConsignmentNumberCannotBeImported.html +7 -7
  404. data/doc/CzechPostB2bClient/ResponseCodes/ResponsibleConsignmentNumberOutOfRange.html +7 -7
  405. data/doc/CzechPostB2bClient/ResponseCodes/ServicesCombinationNotAllowed.html +7 -7
  406. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionAlreadyClosed.html +7 -7
  407. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionNotExists.html +7 -7
  408. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionOpened.html +7 -7
  409. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionUnfinished.html +7 -7
  410. data/doc/CzechPostB2bClient/ResponseCodes/UnauthorizedAccess.html +7 -7
  411. data/doc/CzechPostB2bClient/ResponseCodes/UnknownAddresseeCity.html +7 -7
  412. data/doc/CzechPostB2bClient/ResponseCodes/UnknownAddresseePostCode.html +7 -7
  413. data/doc/CzechPostB2bClient/ResponseCodes/UnknownPrefix.html +7 -7
  414. data/doc/CzechPostB2bClient/ResponseCodes/VariableSymbolIsNotNumber.html +7 -7
  415. data/doc/CzechPostB2bClient/ResponseCodes/WeightCustomGoodOutOfRange.html +7 -7
  416. data/doc/CzechPostB2bClient/ResponseCodes/WeightIsOutOfRange.html +7 -7
  417. data/doc/CzechPostB2bClient/ResponseCodes/WeightIsOutOfRangeDuplicate.html +7 -7
  418. data/doc/CzechPostB2bClient/ResponseParsers.html +8 -8
  419. data/doc/CzechPostB2bClient/ResponseParsers/BaseParser.html +8 -8
  420. data/doc/CzechPostB2bClient/ResponseParsers/GetParcelStateParser.html +31 -16
  421. data/doc/CzechPostB2bClient/ResponseParsers/GetParcelsPrintingParser.html +21 -21
  422. data/doc/CzechPostB2bClient/ResponseParsers/GetResultParcelsParser.html +18 -12
  423. data/doc/CzechPostB2bClient/ResponseParsers/GetStatsParser.html +6 -6
  424. data/doc/CzechPostB2bClient/ResponseParsers/ParcelServiceSyncParser.html +805 -0
  425. data/doc/CzechPostB2bClient/ResponseParsers/SendParcelsParser.html +153 -10
  426. data/doc/CzechPostB2bClient/Services.html +8 -8
  427. data/doc/CzechPostB2bClient/Services/AddressSheetsGenerator.html +9 -9
  428. data/doc/CzechPostB2bClient/Services/ApiCaller.html +11 -7
  429. data/doc/CzechPostB2bClient/Services/Communicator.html +7 -7
  430. data/doc/CzechPostB2bClient/Services/DeliveringInspector.html +8 -8
  431. data/doc/CzechPostB2bClient/Services/Orchestrator.html +6 -6
  432. data/doc/CzechPostB2bClient/Services/ParcelsAsyncSender.html +402 -0
  433. data/doc/CzechPostB2bClient/Services/ParcelsSendProcessUpdater.html +8 -8
  434. data/doc/CzechPostB2bClient/Services/ParcelsSender.html +21 -233
  435. data/doc/CzechPostB2bClient/Services/ParcelsSubmissionCloser.html +12 -12
  436. data/doc/CzechPostB2bClient/Services/ParcelsSyncSender.html +464 -0
  437. data/doc/CzechPostB2bClient/Services/TimePeriodStatisticator.html +10 -10
  438. data/doc/CzechPostB2bClient/Services/XsdsDownloader.html +289 -0
  439. data/doc/SteppedService.html +8 -7
  440. data/doc/SteppedService/Base.html +31 -31
  441. data/doc/SteppedService/Errors.html +6 -6
  442. data/doc/_index.html +739 -23
  443. data/doc/class_list.html +3 -3
  444. data/doc/css/style.css +2 -2
  445. data/doc/file.README.html +219 -194
  446. data/doc/file_list.html +2 -2
  447. data/doc/frames.html +2 -2
  448. data/doc/index.html +219 -194
  449. data/doc/js/app.js +14 -3
  450. data/doc/method_list.html +278 -70
  451. data/doc/top-level-namespace.html +6 -6
  452. data/lib/czech_post_b2b_client/b2b_errors.rb +6 -7
  453. data/lib/czech_post_b2b_client/configuration.rb +12 -7
  454. data/lib/czech_post_b2b_client/post_services.rb +22 -12
  455. data/lib/czech_post_b2b_client/printing_templates.rb +143 -41
  456. data/lib/czech_post_b2b_client/request_builders.rb +1 -0
  457. data/lib/czech_post_b2b_client/request_builders/get_parcels_printing_builder.rb +6 -2
  458. data/lib/czech_post_b2b_client/request_builders/parcel_service_sync_builder.rb +286 -0
  459. data/lib/czech_post_b2b_client/request_builders/send_parcels_builder.rb +46 -20
  460. data/lib/czech_post_b2b_client/response_codes.rb +19 -16
  461. data/lib/czech_post_b2b_client/response_parsers.rb +1 -0
  462. data/lib/czech_post_b2b_client/response_parsers/base_parser.rb +7 -1
  463. data/lib/czech_post_b2b_client/response_parsers/get_parcel_state_parser.rb +4 -3
  464. data/lib/czech_post_b2b_client/response_parsers/get_result_parcels_parser.rb +4 -3
  465. data/lib/czech_post_b2b_client/response_parsers/parcel_service_sync_parser.rb +82 -0
  466. data/lib/czech_post_b2b_client/response_parsers/send_parcels_parser.rb +24 -2
  467. data/lib/czech_post_b2b_client/services.rb +4 -2
  468. data/lib/czech_post_b2b_client/services/api_caller.rb +25 -9
  469. data/lib/czech_post_b2b_client/services/delivering_inspector.rb +0 -2
  470. data/lib/czech_post_b2b_client/services/parcels_async_sender.rb +53 -0
  471. data/lib/czech_post_b2b_client/services/parcels_send_process_updater.rb +1 -1
  472. data/lib/czech_post_b2b_client/services/parcels_sender.rb +4 -45
  473. data/lib/czech_post_b2b_client/services/parcels_submission_closer.rb +1 -1
  474. data/lib/czech_post_b2b_client/services/{parcels_immediate_sender.rb → parcels_sync_sender.rb} +10 -9
  475. data/lib/czech_post_b2b_client/services/xsds_downloader.rb +61 -0
  476. data/lib/czech_post_b2b_client/version.rb +1 -1
  477. data/lib/stepped_service/base.rb +2 -1
  478. metadata +117 -7
@@ -4,9 +4,9 @@
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
5
  <meta charset="utf-8" />
6
6
 
7
- <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
8
8
 
9
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
10
10
 
11
11
 
12
12
 
@@ -2,9 +2,9 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <title>Documentation by YARD 0.9.19</title>
5
+ <title>Documentation by YARD 0.9.24</title>
6
6
  </head>
7
- <script type="text/javascript" charset="utf-8">
7
+ <script type="text/javascript">
8
8
  var match = unescape(window.location.hash).match(/^#!(.+)/);
9
9
  var name = match ? match[1] : 'index.html';
10
10
  name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.9.19
9
+ &mdash; Documentation by YARD 0.9.24
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
16
 
17
- <script type="text/javascript" charset="utf-8">
17
+ <script type="text/javascript">
18
18
  pathId = "README";
19
19
  relpath = '';
20
20
  </script>
@@ -57,39 +57,51 @@
57
57
  <div class="clear"></div>
58
58
  </div>
59
59
 
60
- <div id="content"><div id='filecontents'><h1 id="czechpostb2bclient">CzechPostB2bClient</h1>
61
- <p>Accessing B2B API of Czech Post for bulk processing of parcels (“B2B - WS PodáníOnline”).</p>
60
+ <div id="content"><div id='filecontents'><h1>CzechPostB2bClient</h1>
62
61
 
63
- <p>There are these supported operations of API:
64
- - <em>sendParcels</em> - stores data of parcels for async processing [HTTP POST - async response]
65
- - <em>getResultParcels</em> - return results of such processing [HTTP GET - sync response]
66
- - <em>getStats</em> - returns statistics of parcels sent in time period [HTTP GET - sync response]
67
- - <em>getParcelState</em> - returns all known states for listed parcels [HTTP GET - sync response]
68
- - <em>getParcelsPrinting</em> - returns PDF with address labels/stickers for listed parcels [HTTP GET - sync response]</p>
62
+ <p>Accessing B2B API of Czech Post for bulk processing of parcels (&quot;B2B - WS PodáníOnline&quot;).</p>
69
63
 
70
- <h2 id="installation">Installation</h2>
71
- <p>### 1) Registration at Czech Post (CP)
72
- The longterm and hardest part.
73
- - Connect Czech Post representative and make a contract with them.
74
- - Ask them for ALL documentation!(I have to ask 3 times to collect enough of it). They like to put files into DOCX file, so click on file icons!
75
- - You have to obtain “komerční certifikát PostSignum”.</p>
64
+ <p>There are these supported operations of API:</p>
76
65
 
77
- <p>Instructions (in czech) are in <a href="./documents/Postup_pro_zavedení_API_služeb_České_pošty.docx"><code>documents/Postup_pro_zavedení_API_služeb_České_pošty.docx</code></a></p>
66
+ <ul>
67
+ <li><em>parcelServiceSync</em> - stores data of one parcel and return package_code and optional PDF adress sheet [HTTP POST - sync response]
68
+ Seems to me, that there are is no place extensive Cash On Delivery data, just <code>amount</code> and <code>currency</code></li>
69
+ <li><em>sendParcels</em> - stores data of parcels for async processing [HTTP POST - async response]</li>
70
+ <li><em>getResultParcels</em> - return results of such processing [HTTP GET - sync response]</li>
71
+ <li><em>getStats</em> - returns statistics of parcels sent in time period [HTTP GET - sync response]</li>
72
+ <li><em>getParcelState</em> - returns all known states for listed parcels [HTTP GET - sync response]</li>
73
+ <li><em>getParcelsPrinting</em> - returns PDF with address labels/stickers for listed parcels [HTTP GET - sync response]</li>
74
+ </ul>
75
+
76
+ <h2>Installation</h2>
77
+
78
+ <h3>1) Registration at Czech Post (CP)</h3>
79
+
80
+ <p>The longterm and hardest part.</p>
81
+
82
+ <ul>
83
+ <li>Connect Czech Post representative and make a contract with them.</li>
84
+ <li>Ask them for ALL documentation!(I have to ask 3 times to collect enough of it). They like to put files into DOCX file, so click on file icons!</li>
85
+ <li>You have to obtain &quot;komerční certifikát PostSignum&quot;.</li>
86
+ </ul>
87
+
88
+ <p>Instructions (in czech) are in <a href="./documents/Postup_pro_zaveden%C3%AD_API_slu%C5%BEeb_%C4%8Cesk%C3%A9_po%C5%A1ty.docx"><code>documents/Postup_pro_zavedení_API_služeb_České_pošty.docx</code></a></p>
89
+
90
+ <h3>2) Preparations on PodaniOnline app</h3>
78
91
 
79
- <h3 id="preparations-on-podanionline-app">2) Preparations on PodaniOnline app</h3>
80
92
  <p>1) Sign in to <a href="https://www.postaonline.cz/rap/prihlaseni">PostaOnline</a>
81
- 2) Go to <a href="https://www.postaonline.cz/klientskazona?p_p_id=clientzone_WAR_clientZoneportlet&amp;p_p_lifecycle=0&amp;_clientzone_WAR_clientZoneportlet_action=showPol&amp;_clientzone_WAR_clientZoneportlet_implicitModel=true">“Podání Online”</a>
93
+ 2) Go to <a href="https://www.postaonline.cz/klientskazona?p_p_id=clientzone_WAR_clientZoneportlet&p_p_lifecycle=0&_clientzone_WAR_clientZoneportlet_action=showPol&_clientzone_WAR_clientZoneportlet_implicitModel=true">&quot;Podání Online&quot;</a>
82
94
  3) When You are in, select tab <strong>Nastavení</strong> and menu <strong>Podací místa</strong>
83
- 4) Add <em>Podací místo</em> and write down its ID (will be used in <code>sending_post_office_location_number</code>)
95
+ 4) Add <em>Podací místo</em> and write down it&#39;s ID (will be used in <code>sending_post_office_location_number</code>)
84
96
  5) Switch tab to <strong>Zásilky</strong> and go to menu <strong>Zásilky =&gt; Přednastavení údajů</strong>
85
97
  6) Write down value(s) in <em>Výběr technologického čísla</em> (it will be used as <code>customer_id</code>).</p>
86
98
 
87
- <h3 id="gem-installation">3) Gem installation</h3>
88
- <p>Add this line to your application’s Gemfile:</p>
99
+ <h3>3) Gem installation</h3>
89
100
 
90
- <p><code>ruby
91
- gem 'czech_post_b2b_client'
92
- </code></p>
101
+ <p>Add this line to your application&#39;s Gemfile:</p>
102
+
103
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>czech_post_b2b_client</span><span class='tstring_end'>&#39;</span></span>
104
+ </code></pre>
93
105
 
94
106
  <p>And then execute:</p>
95
107
 
@@ -101,63 +113,65 @@ gem 'czech_post_b2b_client'
101
113
  <pre class="code ruby"><code class="ruby">$ gem install czech_post_b2b_client
102
114
  </code></pre>
103
115
 
104
- <h3 id="setting-up-gem">4) Setting up gem</h3>
105
- <p>Set up your <code>contract_id</code>, <code>customer_id</code> (both from CP signed contract), <code>certificate_path</code>, <code>private_key_path</code> and <code>private_key_password</code> in configuration:
106
- ```
107
- CzechPostB2bClient.configure do |config|
108
- config.contract_id = ‘contract_id’
109
- config.customer_id = ‘customer_id’
110
- config.certificate_path = ‘full_path/to/your/postsignum_certificate.pem’
111
- config.private_key_path = full_path/to/your/postsignum_private.key’
112
- config.private_key_password = ‘your_password or nil’</p>
113
-
114
- <pre class="code ruby"><code class="ruby"> # this actually do not work, I have to use `sending_post_office_location_number`. But it is REQUIRED!
115
- config.sending_post_office_code = 12_345 # PSC of post office where parcels will be physically delivered and submitted
116
-
117
- # and You can override defaults
118
- # config.sending_post_office_location_number =&gt; 1
119
- # config.namespaces #XML namespaces
120
- # config.language =&gt; :cs # other languages are not supported now
121
- # config.logger =&gt; ::Rails.logger or ::Logger.new(STDOUT),
122
- # config.b2b_api_base_uri =&gt; &#39;https://b2b.postaonline.cz/services/POLService/v1&#39;
123
- end ```
116
+ <h3>4) Setting up gem</h3>
117
+
118
+ <p>Set up your <code>contract_id</code>, <code>customer_id</code> (both from CP signed contract), <code>certificate_path</code>, <code>private_key_path</code> and <code>private_key_password</code> in configuration:</p>
119
+
120
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="CzechPostB2bClient.html" title="CzechPostB2bClient (module)">CzechPostB2bClient</a></span></span><span class='period'>.</span><span class='id identifier rubyid_configure'><span class='object_link'><a href="CzechPostB2bClient.html#configure-class_method" title="CzechPostB2bClient.configure (method)">configure</a></span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span>
121
+ <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_contract_id'>contract_id</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>contract_id</span><span class='tstring_end'>&#39;</span></span>
122
+ <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_customer_id'>customer_id</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>customer_id</span><span class='tstring_end'>&#39;</span></span>
123
+ <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_certificate_path'>certificate_path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>full_path/to/your/postsignum_certificate.pem</span><span class='tstring_end'>&#39;</span></span>
124
+ <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_private_key_path'>private_key_path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>full_path/to/your/postsignum_private.key</span><span class='tstring_end'>&#39;</span></span>
125
+ <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_private_key_password'>private_key_password</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>your_password or nil</span><span class='tstring_end'>&#39;</span></span>
126
+
127
+ <span class='comment'># this actually do not work, I have to use `sending_post_office_location_number`. But it is REQUIRED!
128
+ </span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_sending_post_office_code'>sending_post_office_code</span> <span class='op'>=</span> <span class='int'>12_345</span> <span class='comment'># PSC of post office where parcels will be physically delivered and submitted
129
+ </span>
130
+ <span class='comment'># and You can override defaults
131
+ </span> <span class='comment'># config.sending_post_office_location_number =&gt; 1
132
+ </span> <span class='comment'># config.namespaces #XML namespaces
133
+ </span> <span class='comment'># config.language =&gt; :cs # other languages are not supported now
134
+ </span> <span class='comment'># config.logger =&gt; ::Rails.logger or ::Logger.new(STDOUT),
135
+ </span> <span class='comment'># config.b2b_api_base_uri =&gt; &#39;https://b2b.postaonline.cz/services/POLService/v1&#39;
136
+ </span><span class='kw'>end</span>
124
137
  </code></pre>
125
138
 
126
139
  <ul>
127
- <li><code>contract_id</code> is <em>“ID CČK”</em> (can be found in contract; eg.: <em>“2511327004”</em>)</li>
128
- <li><code>customer_id</code> is <em>“Technologické číslo”</em> (can be found in contract; eg.: <em>“U123”</em> or <em>“L03022”</em>; also is visible at <a href="https://www.postaonline.cz/podanionline/PrednastaveniUdajuZasilky.action">PodaníOnline</a></li>
140
+ <li><code>contract_id</code> is <em>&quot;ID CČK&quot;</em> (can be found in contract; eg.: <em>&quot;2511327004&quot;</em>)</li>
141
+ <li><code>customer_id</code> is <em>&quot;Technologické číslo&quot;</em> (can be found in contract; eg.: <em>&quot;U123&quot;</em> or <em>&quot;L03022&quot;</em>; also is visible at <a href="https://www.postaonline.cz/podanionline/PrednastaveniUdajuZasilky.action">PodaníOnline</a></li>
129
142
  </ul>
130
143
 
131
144
  <p>Because PostSignum Certificate Authority is not trusted by default, correct certificate chain is in <code>certs/</code> folder. If You have problem with them, create a issue here. Maybe they are outdated now.</p>
132
145
 
133
- <h2 id="usage">Usage</h2>
134
- <p><strong>You have to know which parcel type (according to CP) you sending!</strong> Eg. ‘BA’ or ‘RR’. See <a href="./documents/parcel_types.md"><code>documents/parcel_types.md</code></a>.</p>
146
+ <h2>Usage</h2>
147
+
148
+ <p><strong>You have to know which parcel type (according to CP) you sending!</strong> Eg. &#39;BA&#39; or &#39;RR&#39;. See <a href="./documents/parcel_types.md"><code>documents/parcel_types.md</code></a>.</p>
135
149
 
136
150
  <p><strong>And what services You will use for each parcel</strong>, see <a href="./documents/services_list.md"><code>documents/services_list.md</code></a> and <a href="./documents/parcels_type_and_services_restrictions.md"><code>documents/parcels_type_and_services_restrictions.md</code></a>.</p>
137
151
 
138
- <p>Hashes used is service calls bellow:
139
- ```
140
- short_sender_data = { address: {
141
- company_name: Oriflame’,
142
- addition_to_name: perfume’, # optional
143
- street: V olšinách’,
144
- house_number: 16’,
145
- city_part: Strašnice’,
146
- city: Praha’,
147
- post_code: 10_000,
148
- },
149
- mobile_phone: ‘+420777888999’,
150
- email: rehor.jan@cpost.cz }
151
- sending_data = { contract_id: configuration.contract_id,
152
- parcels_sending_date: Date.today,
153
- sending_post_office_location_number: 1,
154
- sender: short_sender_data,
155
- cash_on_delivery: {
156
- address: short_sender_data[:address]
157
- bank_account: 123456-1234567890/1234
158
- } }</p>
159
-
160
- <pre class="code ruby"><code class="ruby">short_addressee_data = { address: {
152
+ <p>Hashes used is service calls bellow:</p>
153
+
154
+ <pre class="code ruby"><code class="ruby">short_sender_data = { address: {
155
+ company_name: &#39;Oriflame&#39;,
156
+ addition_to_name: &#39;perfume&#39;, # optional
157
+ street: &#39;V olšinách&#39;,
158
+ house_number: &#39;16&#39;,
159
+ city_part: &#39;Strašnice&#39;,
160
+ city: &#39;Praha&#39;,
161
+ post_code: 10_000,
162
+ },
163
+ mobile_phone: &#39;+420777888999&#39;,
164
+ email: &#39;rehor.jan@cpost.cz&#39; }
165
+ sending_data = { contract_id: configuration.contract_id,
166
+ parcels_sending_date: Date.today,
167
+ sending_post_office_location_number: 1,
168
+ sender: short_sender_data,
169
+ cash_on_delivery: {
170
+ address: short_sender_data[:address]
171
+ bank_account: &#39;123456-1234567890/1234&#39;
172
+ } }
173
+
174
+ short_addressee_data = { address: {
161
175
  first_name: &#39;Petr&#39;,
162
176
  last_name: &#39;Foton&#39;,
163
177
  street: &#39;Fischerova&#39;,
@@ -196,160 +210,171 @@ parcels = [
196
210
  weight_in_kg: 1.9 },
197
211
  services: [7,&#39;M&#39;]
198
212
  }
199
- ] ```
213
+ ]
214
+ </code></pre>
215
+
216
+ <p>1 ) Pack your parcel(s)</p>
217
+
218
+ <p>2 ) If you have many parcels and treats them as bulk, use ASYNC registration process (steps 3a - 7a)[15 000 calls per day allowed]. If You want to register parcel and get parcel_code and address sheet immediatelly (3 sec), use SYNC process (step 3b)[1 000 calls per day allowed]</p>
219
+
220
+ <p>3a) Call <code>ParcelsAsyncSender</code>, this will setup <code>transmission_id</code> and expected time to ask for results.</p>
221
+
222
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_psender'>psender</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="CzechPostB2bClient.html" title="CzechPostB2bClient (module)">CzechPostB2bClient</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services.html" title="CzechPostB2bClient::Services (module)">Services</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services/ParcelsAsyncSender.html" title="CzechPostB2bClient::Services::ParcelsAsyncSender (class)">ParcelsAsyncSender</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'><span class='object_link'><a href="SteppedService/Base.html#call-class_method" title="SteppedService::Base.call (method)">call</a></span></span><span class='lparen'>(</span><span class='label'>sending_data:</span> <span class='id identifier rubyid_sending_data'>sending_data</span><span class='comma'>,</span> <span class='label'>parcels:</span> <span class='id identifier rubyid_parcels'>parcels</span><span class='rparen'>)</span>
223
+
224
+ <span class='kw'>if</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_success?'>success?</span>
225
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span>
226
+ <span class='id identifier rubyid_processing_end_time_utc'>processing_end_time_utc</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_processing_end_expected_at'>processing_end_expected_at</span> <span class='op'>-</span> <span class='lparen'>(</span><span class='int'>60</span> <span class='op'>*</span><span class='int'>60</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_utc'>utc</span> <span class='comment'># API returns time in CET but marked as UTC
227
+ </span> <span class='id identifier rubyid_transaction_id'>transaction_id</span> <span class='op'>=</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_transaction_id'>transaction_id</span>
228
+ <span class='kw'>else</span>
229
+ <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_full_messages'>full_messages</span>
230
+ <span class='kw'>end</span>
231
+ </code></pre>
232
+
233
+ <p>For now, <code>parcels</code> is array of complicated hashes; each parcel must have <code>parcel_id</code> key (your ID of parcel).</p>
234
+
235
+ <p>4a) When such expected time pass, ask for results by calling <code>ParcelsSendProcessUpdater</code>. You can get error <code>Processing is not yet finished</code> or hash based on <code>parcel_id</code> keys.</p>
236
+
237
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_pudater'>pudater</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="CzechPostB2bClient.html" title="CzechPostB2bClient (module)">CzechPostB2bClient</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services.html" title="CzechPostB2bClient::Services (module)">Services</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services/ParcelsSendProcessUpdater.html" title="CzechPostB2bClient::Services::ParcelsSendProcessUpdater (class)">ParcelsSendProcessUpdater</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'><span class='object_link'><a href="SteppedService/Base.html#call-class_method" title="SteppedService::Base.call (method)">call</a></span></span><span class='lparen'>(</span><span class='label'>transmission_id:</span> <span class='id identifier rubyid_transmission_id'>transmission_id</span><span class='rparen'>)</span>
238
+
239
+ <span class='kw'>if</span> <span class='id identifier rubyid_pupdater'>pupdater</span><span class='period'>.</span><span class='id identifier rubyid_success?'>success?</span>
240
+ <span class='id identifier rubyid_update_my_parcels_with'>update_my_parcels_with</span><span class='lparen'>(</span><span class='id identifier rubyid_pupdater'>pupdater</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span><span class='rparen'>)</span> <span class='comment'># =&gt; { &#39;parcel_1of2&#39; =&gt; { parcel_code: &#39;BA12354678&#39;, states: [{ code: 1, text: &#39;OK&#39; }]},
241
+ </span> <span class='comment'># &#39;parcel_2of2&#39; =&gt; { parcel_code: &#39;BA12354679&#39;, states: [{ code: 1, text: &#39;OK&#39; }]},
242
+ </span> <span class='comment'># &#39;parcel_3&#39; =&gt; { parcel_code: &#39;BA12354680&#39;, states: [{ code: 1, text: &#39;OK&#39; }]}
243
+ </span><span class='kw'>else</span>
244
+ <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_full_messages'>full_messages</span> <span class='comment'># =&gt; &quot;response_state: ResponseCode[19 BATCH_INVALID] V dávce se vyskytují chybné záznamy&quot;
245
+ </span> <span class='comment'># &quot;parcels: Parcel[parcel_2of2] =&gt; ResponseCode[104 INVALID_WEIGHT] Hmotnost mimo povolený rozsah&quot;
246
+ </span> <span class='comment'># &quot;parcels: Parcel[parcel_2of2] =&gt; ResponseCode[261 MISSING_SIZE_CATEGORY] Neuvedena rozměrová kategorie zásilky&quot;
247
+ </span> <span class='comment'># &quot;parcels: Parcel[parcel_3] =&gt; ResponseCode[310 INVALID_PREFIX] Neplatný typ zásilky&quot;
248
+ </span><span class='kw'>end</span>
200
249
  </code></pre>
201
250
 
202
- <p>1) Pack your parcel(s)</p>
203
-
204
- <p>2) Call <code>ParcelsSender</code>, this will store in <code>result</code> <code>transmission_id</code> and expected time to ask for results.
205
- ```
206
- psender = ParcelsSender.call(sending_data: sending_data, parcels: parcels)</p>
207
-
208
- <pre class="code ruby"><code class="ruby"> if psender.success?
209
- result = psender.result
210
- processing_end_time_utc = (result.processing_end_expected_at - (60 *60)).utc # API returns time in CET but marked as UTC
211
- transaction_id = result.transaction_id
212
- else
213
- puts psender.errors.full_messages
214
- end
215
- ```
216
- For now, `parcels` is array of complicated hashes; each parcel must have `parcel_id` key (your ID of parcel).
251
+ <p><code>parcel_code</code> is CzechPost Tracking number of parcel and is used in following calls.</p>
252
+
253
+ <p>5a) Print address sheets of parcel(s) by calling <code>AddressSheetsGenerator</code>.
254
+ See <a href="./lib/czech_post_b2b_client/printing_templates.rb">template_classes</a> for available templates.</p>
255
+
256
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_parcel_codes'>parcel_codes</span> <span class='op'>=</span> <span class='qwords_beg'>%w[</span><span class='tstring_content'>RA123456789</span><span class='words_sep'> </span><span class='tstring_content'>RR123456789F</span><span class='words_sep'> </span><span class='tstring_content'>RR123456789G</span><span class='words_sep'>]</span> <span class='comment'># beware of parcel_id!
257
+ </span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span>
258
+ <span class='label'>customer_id:</span> <span class='id identifier rubyid_configuration'>configuration</span><span class='period'>.</span><span class='id identifier rubyid_customer_id'>customer_id</span><span class='comma'>,</span> <span class='comment'># required
259
+ </span> <span class='label'>contract_number:</span> <span class='id identifier rubyid_configuration'>configuration</span><span class='period'>.</span><span class='id identifier rubyid_contract_id'>contract_id</span><span class='comma'>,</span> <span class='comment'># not required
260
+ </span> <span class='label'>template_id:</span> <span class='int'>24</span><span class='comma'>,</span> <span class='comment'># &#39;obalka 3 - B4&#39; #
261
+ </span> <span class='label'>margin_in_mm:</span> <span class='lbrace'>{</span> <span class='label'>top:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>left:</span> <span class='int'>3</span> <span class='rbrace'>}</span> <span class='comment'># required
262
+ </span> <span class='rbrace'>}</span>
263
+
264
+ <span class='id identifier rubyid_adrprinter'>adrprinter</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="CzechPostB2bClient.html" title="CzechPostB2bClient (module)">CzechPostB2bClient</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services.html" title="CzechPostB2bClient::Services (module)">Services</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services/AddressSheetsGenerator.html" title="CzechPostB2bClient::Services::AddressSheetsGenerator (class)">AddressSheetsGenerator</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'><span class='object_link'><a href="SteppedService/Base.html#call-class_method" title="SteppedService::Base.call (method)">call</a></span></span><span class='lparen'>(</span><span class='label'>parcel_codes:</span> <span class='id identifier rubyid_parcel_codes'>parcel_codes</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='id identifier rubyid_options'>options</span> <span class='rparen'>)</span>
265
+
266
+ <span class='kw'>if</span> <span class='id identifier rubyid_adrprinter'>adrprinter</span><span class='period'>.</span><span class='id identifier rubyid_success?'>success?</span>
267
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>adrsheet.pdf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_adrprinter'>adrprinter</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_pdf_content'>pdf_content</span><span class='rparen'>)</span>
268
+ <span class='kw'>else</span>
269
+ <span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='id identifier rubyid_adrprinter'>adrprinter</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_full_messages'>full_messages</span><span class='rparen'>)</span>
270
+ <span class='kw'>end</span>
217
271
  </code></pre>
218
272
 
219
- <p>3) When such expected time pass, ask for results by calling <code>ParcelsSendProcessUpdater</code>.</p>
220
-
221
- <pre class="code ruby"><code class="ruby"> You can get error `Processing is not yet finished` or hash based on `parcel_id` keys.
222
- Eg. :
223
- ```
224
- pudater = ParcelsSendProcessUpdater.call(transmission_id: transmission_id)
225
-
226
- if pupdater.success?
227
- update_my_parcels_with(pupdater.result) # =&gt; { &#39;parcel_1of2&#39; =&gt; { parcel_code: &#39;BA12354678&#39;, states: [{ code: 1, text: &#39;OK&#39; }]},
228
- # &#39;parcel_2of2&#39; =&gt; { parcel_code: &#39;BA12354679&#39;, states: [{ code: 1, text: &#39;OK&#39; }]},
229
- # &#39;parcel_3&#39; =&gt; { parcel_code: &#39;BA12354680&#39;, states: [{ code: 1, text: &#39;OK&#39; }]}
230
- else
231
- puts psender.errors.full_messages # =&gt; &quot;response_state: ResponseCode[19 BATCH_INVALID] V dávce se vyskytují chybné záznamy&quot;
232
- # &quot;parcels: Parcel[parcel_2of2] =&gt; ResponseCode[104 INVALID_WEIGHT] Hmotnost mimo povolený rozsah&quot;
233
- # &quot;parcels: Parcel[parcel_2of2] =&gt; ResponseCode[261 MISSING_SIZE_CATEGORY] Neuvedena rozměrová kategorie zásilky&quot;
234
- # &quot;parcels: Parcel[parcel_3] =&gt; ResponseCode[310 INVALID_PREFIX] Neplatný typ zásilky&quot;
235
- end
236
- ```
237
- `parcel_code` is CzechPost ID of parcel and is used in following calls.
273
+ <p>6a) Repeat steps 1-4 until You decide to deliver packages to post office.</p>
274
+
275
+ <p>7a) Close your parcels submission with call <code>ParcelsSubmissionCloser.call(sending_data: sender_data)</code>.</p>
276
+
277
+ <p>3b) For immediate (one) parcel registering call <code>ParcelsSyncSender</code>. You can optionally request address sheet pdf in response (see step 5a for info)</p>
278
+
279
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_s_data'>s_data</span> <span class='op'>=</span> <span class='id identifier rubyid_sending_data'>sending_data</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='label'>print_params:</span> <span class='lbrace'>{</span> <span class='label'>template_id:</span> <span class='int'>40</span><span class='comma'>,</span> <span class='label'>margin_in_mm:</span> <span class='lbrace'>{</span> <span class='label'>top:</span> <span class='int'>1</span><span class='comma'>,</span> <span class='label'>left:</span> <span class='int'>1</span> <span class='rbrace'>}</span><span class='rbrace'>}</span><span class='rparen'>)</span>
280
+ <span class='id identifier rubyid_psender'>psender</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="CzechPostB2bClient.html" title="CzechPostB2bClient (module)">CzechPostB2bClient</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services.html" title="CzechPostB2bClient::Services (module)">Services</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services/ParcelsSyncSender.html" title="CzechPostB2bClient::Services::ParcelsSyncSender (class)">ParcelsSyncSender</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'><span class='object_link'><a href="SteppedService/Base.html#call-class_method" title="SteppedService::Base.call (method)">call</a></span></span><span class='lparen'>(</span><span class='label'>sending_data:</span> <span class='id identifier rubyid_s_data'>s_data</span><span class='comma'>,</span> <span class='label'>parcels:</span> <span class='lbracket'>[</span><span class='id identifier rubyid_parcels'>parcels</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='rbracket'>]</span><span class='rparen'>)</span>
281
+
282
+ <span class='kw'>if</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_success?'>success?</span>
283
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span>
284
+ <span class='id identifier rubyid_update_my_parcels_with'>update_my_parcels_with</span><span class='lparen'>(</span><span class='id identifier rubyid_result'>result</span><span class='rparen'>)</span> <span class='comment'># =&gt; { &#39;parcel_1of2&#39; =&gt; { parcel_code: &#39;BA12354678&#39;, states: [{ code: 1, text: &#39;OK&#39; }]},
285
+ </span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>adrsheet.pdf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_pdf_content'>pdf_content</span><span class='rparen'>)</span>
286
+ <span class='kw'>else</span>
287
+ <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_psender'>psender</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_full_messages'>full_messages</span>
288
+ <span class='kw'>end</span>
238
289
  </code></pre>
239
290
 
240
- <p>4) Print address sheets of parcels(s) by calling <code>AddressSheetsGenerator</code>.
241
- See <a href="./lib/czech_post_b2b_client/printing_templates.rb">template_classes</a> for available templates.
242
- Eg. :
243
- ```
244
- parcel_codes = %w[RA123456789 RR123456789F RR123456789G] # beware of parcel_id!
245
- options = {
246
- customer_id: configuration.customer_id, # required
247
- contract_number: configuration.contract_id, # not required
248
- template_id: 24, # ‘obalka 3 - B4’ #
249
- margin_in_mm: { top: 5, left: 3 } # required
250
- }</p>
251
-
252
- <pre class="code ruby"><code class="ruby"> adrprinter = AddressSheetsGenerator.call(parcel_codes: parcel_codes, options: options )
253
-
254
- if adrprinter.success?
255
- File.write(&quot;adrsheet.pdf&quot;, adrprinter.result.pdf_content)
256
- else
257
- puts(adrprinter.errors.full_messages)
258
- end
259
- ```
291
+ <p><code>parcel_code</code> is CzechPost Tracking number of parcel and is used in following calls.</p>
292
+
293
+ <p>8_) <em>They will await You at post office with warm welcome (hopefully). Parcels which are not delivered within 60 days are removed from CzechPost systems for free :-)</em></p>
294
+
295
+ <p>9_) You can check current status of delivering with <code>DeliveringInspector</code>, which will return hash based on <code>parcel_code</code> keys.</p>
296
+
297
+ <pre class="code ruby"><code class="ruby">delivery_boy = CzechPostB2bClient::Services::DeliveringInspector.call(parcel_codes: parcel_codes)
298
+
299
+ if delivery_boy.success?
300
+ update_my_parcels_delivery_status_with(delivery_boy.result)
301
+ # result is like:
302
+ # { &#39;RA12345687&#39; =&gt; { current_state: { id: &#39;91&#39;,
303
+ date: Date.parse(&#39;2015-09-04&#39;),
304
+ text: &#39;Dodání zásilky.&#39;,
305
+ post_code: &#39;25756&#39;,
306
+ post_name: &#39;Neveklov&#39;},
307
+ deposited_until: Date.new(2015, 9, 2),
308
+ deposited_for_days: 15,
309
+ all_states: [
310
+ { id: &#39;21&#39;, date: Date.parse(&#39;2015-09-02&#39;), text: &#39;Podání zásilky.&#39;, post_code: &#39;26701&#39;, post_name: &#39;Králův Dvůr u Berouna&#39; },
311
+ { id: &#39;-F&#39;, date: Date.parse(&#39;2015-09-03&#39;), text: &#39;Vstup zásilky na SPU.&#39;, post_code: &#39;22200&#39;, post_name: &#39;SPU Praha 022&#39; },
312
+ { id: &#39;-I&#39;, date: Date.parse(&#39;2015-09-03&#39;), text: &#39;Výstup zásilky z SPU.&#39;, post_code: &#39;22200&#39;, post_name: &#39;SPU Praha 022&#39; },
313
+ { id: &#39;-B&#39;, date: Date.parse(&#39;2015-09-03&#39;), text: &#39;Přeprava zásilky k dodací poště.&#39;, post_code: nil, post_name: nil },
314
+ { id: &#39;51&#39;, date: Date.parse(&#39;2015-09-04&#39;), text: &#39;Příprava zásilky k doručení.&#39;, post_code: &#39;25607&#39;, post_name: &#39;Depo Benešov 70&#39; },
315
+ { id: &#39;53&#39;, date: Date.parse(&#39;2015-09-04&#39;), text: &#39;Doručování zásilky.&#39;, post_code: &#39;25756&#39;, post_name: &#39;Neveklov&#39; },
316
+ { id: &#39;91&#39;, date: Date.parse(&#39;2015-09-04&#39;), text: &#39;Dodání zásilky.&#39;, post_code: &#39;25756&#39;, post_name: &#39;Neveklov&#39; }
317
+ ]},
318
+ &#39;BA56487125&#39; =&gt; {...}
319
+ }
320
+ else
321
+ puts(delivery_boy.errors.full_messages)
322
+ end
260
323
  </code></pre>
261
324
 
262
- <p>5) Repeat steps 1-4 until You decide to deliver packages to post office.</p>
263
-
264
- <p>6) Close your parcels submission with call <code>ParcelsSubmissionCloser.call(sending_data: sender_data)</code>.</p>
265
-
266
- <p>7) <em>They will await You at post office with warm welcome (hopefully). Parcels which are not delivered within 60 days are removed from CzechPost systems for free :-)</em></p>
267
-
268
- <p>8) You can check current status of delivering with <code>DeliveringInspector</code>, which will return hash based on <code>parcel_code</code> keys.
269
- Eg. :
270
- ```
271
- delivery_boy = DeliveringInspector.call(parcel_codes: parcel_codes)</p>
272
-
273
- <pre class="code ruby"><code class="ruby"> if delivery_boy.success?
274
- update_my_parcels_delivery_status_with(delivery_boy.result)
275
- # result is like:
276
- # { &#39;RA12345687&#39; =&gt; { current_state: { id: &#39;91&#39;,
277
- date: Date.parse(&#39;2015-09-04&#39;),
278
- text: &#39;Dodání zásilky.&#39;,
279
- post_code: &#39;25756&#39;,
280
- post_name: &#39;Neveklov&#39;},
281
- deposited_until: Date.new(2015, 9, 2),
282
- deposited_for_days: 15,
283
- all_states: [
284
- { id: &#39;21&#39;, date: Date.parse(&#39;2015-09-02&#39;), text: &#39;Podání zásilky.&#39;, post_code: &#39;26701&#39;, post_name: &#39;Králův Dvůr u Berouna&#39; },
285
- { id: &#39;-F&#39;, date: Date.parse(&#39;2015-09-03&#39;), text: &#39;Vstup zásilky na SPU.&#39;, post_code: &#39;22200&#39;, post_name: &#39;SPU Praha 022&#39; },
286
- { id: &#39;-I&#39;, date: Date.parse(&#39;2015-09-03&#39;), text: &#39;Výstup zásilky z SPU.&#39;, post_code: &#39;22200&#39;, post_name: &#39;SPU Praha 022&#39; },
287
- { id: &#39;-B&#39;, date: Date.parse(&#39;2015-09-03&#39;), text: &#39;Přeprava zásilky k dodací poště.&#39;, post_code: nil, post_name: nil },
288
- { id: &#39;51&#39;, date: Date.parse(&#39;2015-09-04&#39;), text: &#39;Příprava zásilky k doručení.&#39;, post_code: &#39;25607&#39;, post_name: &#39;Depo Benešov 70&#39; },
289
- { id: &#39;53&#39;, date: Date.parse(&#39;2015-09-04&#39;), text: &#39;Doručování zásilky.&#39;, post_code: &#39;25756&#39;, post_name: &#39;Neveklov&#39; },
290
- { id: &#39;91&#39;, date: Date.parse(&#39;2015-09-04&#39;), text: &#39;Dodání zásilky.&#39;, post_code: &#39;25756&#39;, post_name: &#39;Neveklov&#39; }
291
- ]},
292
- &#39;BA56487125&#39; =&gt; {...}
293
- }
294
- else
295
- puts(delivery_boy.errors.full_messages)
296
- end
297
- ```
325
+ <p>10_) And You can always ask for statistics!</p>
326
+
327
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_tps'>tps</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="CzechPostB2bClient.html" title="CzechPostB2bClient (module)">CzechPostB2bClient</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services.html" title="CzechPostB2bClient::Services (module)">Services</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="CzechPostB2bClient/Services/TimePeriodStatisticator.html" title="CzechPostB2bClient::Services::TimePeriodStatisticator (class)">TimePeriodStatisticator</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'><span class='object_link'><a href="SteppedService/Base.html#call-class_method" title="SteppedService::Base.call (method)">call</a></span></span><span class='lparen'>(</span><span class='label'>from_date:</span> <span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_today'>today</span> <span class='op'>-</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>to_date:</span> <span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_today'>today</span><span class='rparen'>)</span>
328
+ <span class='kw'>if</span> <span class='id identifier rubyid_tps'>tps</span><span class='period'>.</span><span class='id identifier rubyid_success?'>success?</span>
329
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_tps'>tps</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span>
330
+ <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_requests'>requests</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span> <span class='comment'># =&gt; 26,
331
+ </span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_requests'>requests</span><span class='period'>.</span><span class='id identifier rubyid_with_errors'>with_errors</span> <span class='comment'># =&gt; 16
332
+ </span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_requests'>requests</span><span class='period'>.</span><span class='id identifier rubyid_successful'>successful</span> <span class='comment'># =&gt; 10
333
+ </span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_imported_parcels'>imported_parcels</span> <span class='comment'># =&gt; 3
334
+ </span><span class='kw'>else</span>
335
+ <span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='id identifier rubyid_tps'>tps</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_full_messages'>full_messages</span><span class='rparen'>)</span>
336
+ <span class='kw'>end</span>
298
337
  </code></pre>
299
338
 
300
- <p>9) And You can always ask for statistics!
301
- <code>
302
- tps = TimePeriodStatisticator.call(from_date: Date.today - 5, to_date: Date.today)
303
- if tps.success?
304
- result = tps.result
305
- result.requests.total # =&gt; 26,
306
- result.requests.with_errors # =&gt; 16
307
- result.requests.successful # =&gt; 10
308
- result.imported_parcels # =&gt; 3
309
- else
310
- puts(tps.errors.full_messages)
311
- end
312
- </code></p>
313
-
314
- <h3 id="example-usage">Example usage</h3>
339
+ <h3>Example usage</h3>
315
340
 
316
341
  <p>See <code>test/integration_test.rb</code> for almost production usage. HTTP calls to B2B services are blocked and responses from them are stubbed.</p>
317
342
 
318
343
  <p>You can quickly check you setup by altering config and run <code>ruby try_api_calls.rb</code> see <a href="./examples/try_api_calls.rb"><code>try_api_calls.rb</code></a>.</p>
319
344
 
320
- <h2 id="troubleshooting">Troubleshooting</h2>
345
+ <h2>Troubleshooting</h2>
321
346
 
322
- <p>1) Read all stuff in <code>doc</code>, maybe it helps.
323
- 2) If You get handshake protocol failed You do not have correct setup for certificates. If You get any xml response (see logger in debug mode) certificates are ok.
324
- You can always try <code>TimePeriodStatisticator</code> for that check, it do not need any before actions.
325
- 3) Error <code>UNAUTHORIZED_ROLE_ACCESS</code> means wrong <code>customer_id</code> or You are not yet registered in PodáníOnline
347
+ <p>1) Read all stuff in <a href="./documents/"><code>./documents</code></a> and <a href="./doc/index.html">Yard docs</a>, maybe it helps.
348
+ 2) If You get &quot;handshake protocol failed&quot; You do not have correct setup for certificates. If You get any xml response (see logger in debug mode) certificates are ok.
349
+ You can always try <code>TimePeriodStatisticator</code> for that check, it do not need any &quot;before&quot; actions.
350
+ 3) Error <code>UNAUTHORIZED_ROLE_ACCESS</code> means wrong <code>customer_id</code> or You are not yet registered in &quot;PodáníOnline&quot;
326
351
  4) Error <code>11: INVALID_LOCATION</code> was occuring when only <code>sending_post_office_code</code> was used. Try to use <code>sending_post_office_location_number</code>.
327
- 5) And last tip <code>261 MISSING_SIZE_CATEGORY</code> -&gt; add correct size service to services (eg: S’, M)
352
+ 5) And last tip <code>261 MISSING_SIZE_CATEGORY</code> -&gt; add correct &quot;size service&quot; to services (eg: &#39;S&#39;, &#39;M&#39;)
328
353
  6) Compare resulting request XML with examples in <code>test/request_builders</code></p>
329
354
 
330
- <h2 id="development">Development</h2>
355
+ <h2>Development</h2>
331
356
 
332
357
  <p>After checking out the repo, run <code>bin/setup</code> to install dependencies. Then, run <code>rake test</code> to run the tests. You can also run <code>bin/console</code> for an interactive prompt that will allow you to experiment.</p>
333
358
 
334
359
  <p>To install this gem onto your local machine, run <code>bundle exec rake install</code>. To release a new version, update the version number in <code>lib/czech_post_b2b_client/version.rb</code>, and then run <code>bundle exec rake release</code>, which will create a git tag for the version, push git commits and tags, and push the <code>.gem</code> file to <a href="https://rubygems.org">rubygems.org</a>.</p>
335
360
 
336
- <h2 id="contributing">Contributing</h2>
361
+ <h2>Contributing</h2>
337
362
 
338
- <p>Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/czech_post_b2b_client. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the <a href="http://contributor-covenant.org">Contributor Covenant</a> code of conduct.</p>
363
+ <p>Bug reports and pull requests are welcome on GitHub at <a href="https://github.com/%5BUSERNAME%5D/czech_post_b2b_client">https://github.com/[USERNAME]/czech_post_b2b_client</a>. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the <a href="http://contributor-covenant.org">Contributor Covenant</a> code of conduct.</p>
339
364
 
340
- <h2 id="license">License</h2>
365
+ <h2>License</h2>
341
366
 
342
367
  <p>The gem is available as open source under the terms of the <a href="https://opensource.org/licenses/MIT">MIT License</a>.</p>
343
368
 
344
- <h2 id="code-of-conduct">Code of Conduct</h2>
369
+ <h2>Code of Conduct</h2>
345
370
 
346
- <p>Everyone interacting in the CzechPostB2bClient project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the <a href="https://github.com/[USERNAME]/czech_post_b2b_client/blob/master/CODE_OF_CONDUCT.md">code of conduct</a>.</p>
371
+ <p>Everyone interacting in the CzechPostB2bClient project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the <a href="https://github.com/%5BUSERNAME%5D/czech_post_b2b_client/blob/master/CODE_OF_CONDUCT.md">code of conduct</a>.</p>
347
372
  </div></div>
348
373
 
349
374
  <div id="footer">
350
- Generated on Fri Mar 20 17:49:05 2020 by
375
+ Generated on Thu May 28 17:06:47 2020 by
351
376
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
352
- 0.9.19 (ruby-2.4.1).
377
+ 0.9.24 (ruby-2.4.1).
353
378
  </div>
354
379
 
355
380
  </div>