moysklad-api 0.5.13a1__tar.gz → 0.5.15a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/PKG-INFO +1 -1
  2. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/pyproject.toml +1 -1
  3. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/client/api.py +130 -0
  4. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/__init__.py +1 -0
  5. moysklad_api-0.5.15a1/src/moysklad_api/enums/bonus_program_welcome_mode.py +6 -0
  6. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/filters/prop.py +1 -1
  7. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/__init__.py +8 -0
  8. moysklad_api-0.5.15a1/src/moysklad_api/methods/get_bonus_program.py +18 -0
  9. moysklad_api-0.5.15a1/src/moysklad_api/methods/get_bonus_programs.py +15 -0
  10. moysklad_api-0.5.15a1/src/moysklad_api/methods/get_commissionreportin.py +21 -0
  11. moysklad_api-0.5.15a1/src/moysklad_api/methods/get_commissionreportins.py +21 -0
  12. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_current_stock.py +0 -1
  13. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/__init__.py +6 -0
  14. moysklad_api-0.5.13a1/src/moysklad_api/types/bonus_program.py → moysklad_api-0.5.15a1/src/moysklad_api/types/agent_account.py +1 -1
  15. moysklad_api-0.5.15a1/src/moysklad_api/types/bonus_program.py +24 -0
  16. moysklad_api-0.5.15a1/src/moysklad_api/types/commissionreportin.py +65 -0
  17. moysklad_api-0.5.15a1/src/moysklad_api/types/commissionreportin_position.py +17 -0
  18. moysklad_api-0.5.15a1/src/moysklad_api/types/return_to_commissioner_position.py +15 -0
  19. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/.gitignore +0 -0
  20. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/LICENSE +0 -0
  21. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/README.md +0 -0
  22. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/__init__.py +0 -0
  23. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/client/__init__.py +0 -0
  24. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/client/base.py +0 -0
  25. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/client/session/__init__.py +0 -0
  26. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/client/session/base.py +0 -0
  27. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/bonus_transaction_category_type.py +0 -0
  28. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/bonus_transaction_status.py +0 -0
  29. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/bonus_transaction_type.py +0 -0
  30. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/distribution.py +0 -0
  31. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/entity_type.py +0 -0
  32. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/event_type.py +0 -0
  33. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/group_by.py +0 -0
  34. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/object_type.py +0 -0
  35. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/quantity_mode.py +0 -0
  36. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/source.py +0 -0
  37. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/stock_mode.py +0 -0
  38. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/enums/stock_type.py +0 -0
  39. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/exceptions.py +0 -0
  40. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/filters/__init__.py +0 -0
  41. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/filters/condition.py +0 -0
  42. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/filters/filter.py +0 -0
  43. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/filters/resolver.py +0 -0
  44. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/loggers.py +0 -0
  45. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/base.py +0 -0
  46. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_assortment.py +0 -0
  47. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_audit.py +0 -0
  48. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_bonus_transaction.py +0 -0
  49. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_bonus_transactions.py +0 -0
  50. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_counterparties.py +0 -0
  51. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_counterparty.py +0 -0
  52. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_demand.py +0 -0
  53. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_demands.py +0 -0
  54. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_events.py +0 -0
  55. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_product.py +0 -0
  56. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_products.py +0 -0
  57. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_profit.py +0 -0
  58. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_purchase_order.py +0 -0
  59. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_purchase_orders.py +0 -0
  60. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_stock.py +0 -0
  61. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_token.py +0 -0
  62. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_variant.py +0 -0
  63. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_variants.py +0 -0
  64. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_webhook.py +0 -0
  65. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/get_webhooks.py +0 -0
  66. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/update_product.py +0 -0
  67. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/update_products.py +0 -0
  68. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/update_variant.py +0 -0
  69. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/methods/update_variants.py +0 -0
  70. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/account.py +0 -0
  71. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/actual_address_full.py +0 -0
  72. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/agent.py +0 -0
  73. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/alcoholic.py +0 -0
  74. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/assortment.py +0 -0
  75. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/attribute.py +0 -0
  76. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/audit.py +0 -0
  77. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/barcode.py +0 -0
  78. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/bonus_transaction.py +0 -0
  79. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/bouns_program.py +0 -0
  80. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/buy_price.py +0 -0
  81. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/contact_person.py +0 -0
  82. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/contract.py +0 -0
  83. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/counterpatry.py +0 -0
  84. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/country.py +0 -0
  85. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/currency.py +0 -0
  86. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/current_stock.py +0 -0
  87. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/demand.py +0 -0
  88. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/demand_position.py +0 -0
  89. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/diff.py +0 -0
  90. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/employee.py +0 -0
  91. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/entity.py +0 -0
  92. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/error.py +0 -0
  93. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/event.py +0 -0
  94. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/file.py +0 -0
  95. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/folder.py +0 -0
  96. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/group.py +0 -0
  97. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/image.py +0 -0
  98. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/info.py +0 -0
  99. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/meta.py +0 -0
  100. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/meta_array.py +0 -0
  101. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/min_price.py +0 -0
  102. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/note.py +0 -0
  103. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/organization.py +0 -0
  104. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/organization_account.py +0 -0
  105. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/overhead.py +0 -0
  106. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/owner.py +0 -0
  107. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/pack.py +0 -0
  108. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/parent_document.py +0 -0
  109. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/price_type.py +0 -0
  110. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/product.py +0 -0
  111. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/product_folder.py +0 -0
  112. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/profit.py +0 -0
  113. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/project.py +0 -0
  114. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/purchaseorder.py +0 -0
  115. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/purchaseorder_position.py +0 -0
  116. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/rate.py +0 -0
  117. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/region.py +0 -0
  118. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/report.py +0 -0
  119. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/sale_price.py +0 -0
  120. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/sales_channel.py +0 -0
  121. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/shipment_address_full.py +0 -0
  122. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/state.py +0 -0
  123. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/stock.py +0 -0
  124. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/store.py +0 -0
  125. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/supplier.py +0 -0
  126. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/token.py +0 -0
  127. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/uom.py +0 -0
  128. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/variant.py +0 -0
  129. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/types/webhook.py +0 -0
  130. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/utils/__init__.py +0 -0
  131. {moysklad_api-0.5.13a1 → moysklad_api-0.5.15a1}/src/moysklad_api/utils/token.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moysklad-api
3
- Version: 0.5.13a1
3
+ Version: 0.5.15a1
4
4
  Summary: Мой Склад API
5
5
  Project-URL: Homepage, https://github.com/serdukow/moysklad-api
6
6
  Project-URL: Documentation, https://github.com/serdukow/moysklad-api#readme
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "moysklad-api"
7
- version = "0.5.13a1"
7
+ version = "0.5.15a1"
8
8
  description = "Мой Склад API"
9
9
  authors = [
10
10
  { name = "Andrei Serdiukov", email = "serdukow1@gmail.com" },
@@ -8,8 +8,12 @@ from ..filters.condition import Condition
8
8
  from ..methods import (
9
9
  GetAssortment,
10
10
  GetAudit,
11
+ GetBonusProgram,
12
+ GetBonusPrograms,
11
13
  GetBonusTransaction,
12
14
  GetBonusTransactions,
15
+ GetCommissionReportIn,
16
+ GetCommissionReportIns,
13
17
  GetCounterparty,
14
18
  GetCurrentStock,
15
19
  GetEvents,
@@ -38,6 +42,7 @@ from ..methods.get_demands import GetDemands
38
42
  from ..types import (
39
43
  Assortment,
40
44
  Audit,
45
+ BonusProgram,
41
46
  BonusTransaction,
42
47
  Counterparty,
43
48
  CurrentStock,
@@ -52,6 +57,7 @@ from ..types import (
52
57
  Variant,
53
58
  Webhook,
54
59
  )
60
+ from ..types.commissionreportin import CommissionReportIn
55
61
  from ..utils.token import validate_token
56
62
 
57
63
 
@@ -180,6 +186,63 @@ class MoyskladAPI:
180
186
  )
181
187
  return await self(call)
182
188
 
189
+ async def get_bonusprogram(
190
+ self,
191
+ bonusprogram_id: str,
192
+ filters: Condition | Sequence[Condition] | None = None,
193
+ limit: int | None = 1000,
194
+ offset: int | None = None,
195
+ expand: Sequence[str] | str | None = None,
196
+ ) -> BonusProgram:
197
+ """
198
+ Используйте этот метод для получения бонусной программы по ID.
199
+
200
+ Источник:
201
+ https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/bonus-operation#3-poluchit-bonusnuyu-operaciyu
202
+
203
+ :param bonusprogram_id: Идентификатор бонусной программы
204
+ :param filters: Фильтрация выборки
205
+ :param limit: Количество элементов в выданном списке
206
+ :param offset: Отступ в выданном списке
207
+ :param expand: Замена ссылок объектами
208
+ :return: :class:`BonusProgram`
209
+ """
210
+ call = GetBonusProgram(
211
+ bonusprogram_id=bonusprogram_id,
212
+ limit=limit,
213
+ offset=offset,
214
+ expand=expand,
215
+ filters=filters,
216
+ )
217
+ return await self(call)
218
+
219
+ async def get_bonusprograms(
220
+ self,
221
+ filters: Condition | Sequence[Condition] | None = None,
222
+ limit: int | None = 1000,
223
+ offset: int | None = None,
224
+ expand: Sequence[str] | str | None = None,
225
+ ) -> MetaArray[BonusProgram]:
226
+ """
227
+ Используйте этот метод для получения списка бонусных программ.
228
+
229
+ Источник:
230
+ https://dev.moysklad.ru/doc/api/remap/1.2/#/dictionaries/bonus-operation#3-poluchit-bonusnye-operacii
231
+
232
+ :param filters: Фильтрация выборки
233
+ :param limit: Количество элементов в выданном списке
234
+ :param offset: Отступ в выданном списке
235
+ :param expand: Замена ссылок объектами
236
+ :return: :class:`MetaArray[BonusProgram]`
237
+ """
238
+ call = GetBonusPrograms(
239
+ limit=limit,
240
+ offset=offset,
241
+ expand=expand,
242
+ filters=filters,
243
+ )
244
+ return await self(call)
245
+
183
246
  async def get_bonustransactions(
184
247
  self,
185
248
  filters: Condition | Sequence[Condition] | None = None,
@@ -528,6 +591,73 @@ class MoyskladAPI:
528
591
  )
529
592
  return await self(call)
530
593
 
594
+ async def get_commissionreportin(
595
+ self,
596
+ commissionreportin_id: str,
597
+ incoming_date: datetime | None = None,
598
+ filters: Condition | Sequence[Condition] | None = None,
599
+ limit: int | None = 1000,
600
+ offset: int | None = None,
601
+ search: str | None = None,
602
+ expand: Sequence[str] | str | None = None,
603
+ ) -> CommissionReportIn:
604
+ """
605
+ Используйте этот метод для получения отчетов комиссионера по ID.
606
+
607
+ Источник: https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/commissionreportin#3-poluchit-otchet-komissionera
608
+
609
+ :param commissionreportin_id: Идентификатор полученного отчета комиссионера
610
+ :param incoming_date: Параметр для фильтрации выборки по входящей дате
611
+ :param filters: Фильтрация выборки
612
+ :param limit: Количество элементов в выданном списке
613
+ :param offset: Отступ в выданном списке
614
+ :param search: Контекстный поиск
615
+ :param expand: Замена ссылок объектами
616
+ :return: :class:`CommissionReportIn`
617
+ """
618
+ call = GetCommissionReportIn(
619
+ commissionreportin_id=commissionreportin_id,
620
+ incoming_date=incoming_date,
621
+ filters=filters,
622
+ limit=limit,
623
+ offset=offset,
624
+ search=search,
625
+ expand=expand,
626
+ )
627
+ return await self(call)
628
+
629
+ async def get_commissionreportins(
630
+ self,
631
+ incoming_date: datetime | None = None,
632
+ filters: Condition | Sequence[Condition] | None = None,
633
+ limit: int | None = 1000,
634
+ offset: int | None = None,
635
+ search: str | None = None,
636
+ expand: Sequence[str] | str | None = None,
637
+ ) -> MetaArray[CommissionReportIn]:
638
+ """
639
+ Используйте этот метод для получения всех полученных отчетов комиссионера.
640
+
641
+ Источник: https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/commissionreportin#3-poluchit-otchety-komissionera
642
+
643
+ :param incoming_date: Параметр для фильтрации выборки по входящей дате
644
+ :param filters: Фильтрация выборки
645
+ :param limit: Количество элементов в выданном списке
646
+ :param offset: Отступ в выданном списке
647
+ :param search: Контекстный поиск
648
+ :param expand: Замена ссылок объектами
649
+ :return: :class:`MetaArray[CommissionReportIn]`
650
+ """
651
+ call = GetCommissionReportIns(
652
+ incoming_date=incoming_date,
653
+ filters=filters,
654
+ limit=limit,
655
+ offset=offset,
656
+ search=search,
657
+ expand=expand,
658
+ )
659
+ return await self(call)
660
+
531
661
  async def get_webhook(
532
662
  self,
533
663
  webhook_id: str,
@@ -1,3 +1,4 @@
1
+ from .bonus_program_welcome_mode import BonusProgramWelcomeMode as BonusProgramWelcomeMode
1
2
  from .distribution import OverheadDistribution as OverheadDistribution
2
3
  from .entity_type import EntityType as EntityType
3
4
  from .event_type import EventType as EventType
@@ -0,0 +1,6 @@
1
+ from enum import Enum
2
+
3
+
4
+ class BonusProgramWelcomeMode(str, Enum):
5
+ REGISTRATION = "REGISTRATION"
6
+ FIRST_PURCHASE = "FIRST_PURCHASE"
@@ -22,7 +22,7 @@ class Prop:
22
22
  def __le__(self, v):
23
23
  return Condition(self.k, "<=", v)
24
24
 
25
- def _is(self, v):
25
+ def is_(self, v):
26
26
  return Condition(self.k, "=", v)
27
27
 
28
28
  def contains(self, v):
@@ -1,8 +1,12 @@
1
1
  from .base import MSMethod, T
2
2
  from .get_assortment import GetAssortment
3
3
  from .get_audit import GetAudit
4
+ from .get_bonus_program import GetBonusProgram
5
+ from .get_bonus_programs import GetBonusPrograms
4
6
  from .get_bonus_transaction import GetBonusTransaction
5
7
  from .get_bonus_transactions import GetBonusTransactions
8
+ from .get_commissionreportin import GetCommissionReportIn
9
+ from .get_commissionreportins import GetCommissionReportIns
6
10
  from .get_counterparty import GetCounterparty
7
11
  from .get_current_stock import GetCurrentStock
8
12
  from .get_demand import GetDemand
@@ -50,4 +54,8 @@ __all__ = (
50
54
  "GetProfit",
51
55
  "GetBonusTransactions",
52
56
  "GetBonusTransaction",
57
+ "GetBonusProgram",
58
+ "GetBonusPrograms",
59
+ "GetCommissionReportIns",
60
+ "GetCommissionReportIn",
53
61
  )
@@ -0,0 +1,18 @@
1
+ from collections.abc import Sequence
2
+
3
+ from pydantic import Field
4
+
5
+ from ..filters.condition import Condition
6
+ from ..methods import MSMethod
7
+ from ..types import BonusProgram
8
+
9
+
10
+ class GetBonusProgram(MSMethod):
11
+ __return__ = BonusProgram
12
+ __api_method__ = "entity/bonusprogram"
13
+
14
+ id: str = Field(..., alias="bonusprogram_id")
15
+ limit: int | None = None
16
+ offset: int | None = None
17
+ expand: Sequence[str] | str | None = None
18
+ filters: Condition | Sequence[Condition] | None = None
@@ -0,0 +1,15 @@
1
+ from collections.abc import Sequence
2
+
3
+ from ..filters.condition import Condition
4
+ from ..methods import MSMethod
5
+ from ..types import BonusProgram, MetaArray
6
+
7
+
8
+ class GetBonusPrograms(MSMethod):
9
+ __return__ = MetaArray[BonusProgram]
10
+ __api_method__ = "entity/bonusprogram"
11
+
12
+ limit: int | None = None
13
+ offset: int | None = None
14
+ expand: Sequence[str] | str | None = None
15
+ filters: Condition | Sequence[Condition] | None = None
@@ -0,0 +1,21 @@
1
+ from collections.abc import Sequence
2
+ from datetime import datetime
3
+
4
+ from pydantic import Field
5
+
6
+ from ..filters.condition import Condition
7
+ from ..methods import MSMethod
8
+ from ..types.commissionreportin import CommissionReportIn
9
+
10
+
11
+ class GetCommissionReportIn(MSMethod):
12
+ __return__ = CommissionReportIn
13
+ __api_method__ = "entity/commissionreportin"
14
+
15
+ id: str = Field(..., alias="commissionreportin_id")
16
+ limit: int | None = None
17
+ offset: int | None = None
18
+ search: str | None = None
19
+ expand: Sequence[str] | str | None = None
20
+ incoming_date: datetime | None = Field(None, alias="incomingDate")
21
+ filters: Condition | Sequence[Condition] | None = None
@@ -0,0 +1,21 @@
1
+ from collections.abc import Sequence
2
+ from datetime import datetime
3
+
4
+ from pydantic import Field
5
+
6
+ from ..filters.condition import Condition
7
+ from ..methods import MSMethod
8
+ from ..types import MetaArray
9
+ from ..types.commissionreportin import CommissionReportIn
10
+
11
+
12
+ class GetCommissionReportIns(MSMethod):
13
+ __return__ = MetaArray[CommissionReportIn]
14
+ __api_method__ = "entity/commissionreportin"
15
+
16
+ limit: int | None = None
17
+ offset: int | None = None
18
+ search: str | None = None
19
+ expand: Sequence[str] | str | None = None
20
+ incoming_date: datetime | None = Field(None, alias="incomingDate")
21
+ filters: Condition | Sequence[Condition] | None = None
@@ -17,7 +17,6 @@ class GetCurrentStock(MSMethod):
17
17
  offset: int | None = None
18
18
  expand: Sequence[str] | str | None = None
19
19
  filters: Condition | Sequence[Condition] | None = None
20
-
21
20
  include: str | None = None
22
21
  changed_since: datetime | None = Field(None, alias="changedSince")
23
22
  stock_type: StockType = Field(StockType.STOCK, alias="stockType")
@@ -1,6 +1,7 @@
1
1
  from .account import Account
2
2
  from .actual_address_full import ActualAddressFull
3
3
  from .agent import Agent
4
+ from .agent_account import AgentAccount
4
5
  from .alcoholic import Alcoholic
5
6
  from .assortment import Assortment
6
7
  from .attribute import Attribute
@@ -9,6 +10,7 @@ from .barcode import Barcode
9
10
  from .bonus_program import BonusProgram
10
11
  from .bonus_transaction import BonusTransaction
11
12
  from .buy_price import BuyPrice
13
+ from .commissionreportin import CommissionReportIn
12
14
  from .contract import Contract
13
15
  from .counterpatry import Counterparty
14
16
  from .country import Country
@@ -46,6 +48,7 @@ from .purchaseorder_position import PurchaseOrderPosition
46
48
  from .rate import Rate
47
49
  from .region import Region
48
50
  from .report import Report
51
+ from .return_to_commissioner_position import ReturnToCommissionerPosition
49
52
  from .sale_price import SalePrice
50
53
  from .sales_channel import SalesChannel
51
54
  from .shipment_address_full import ShipmentAddressFull
@@ -120,4 +123,7 @@ __all__ = (
120
123
  "BonusTransaction",
121
124
  "BonusProgram",
122
125
  "ParentDocument",
126
+ "AgentAccount",
127
+ "ReturnToCommissionerPosition",
128
+ "CommissionReportIn",
123
129
  )
@@ -1,5 +1,5 @@
1
1
  from .entity import Entity
2
2
 
3
3
 
4
- class BonusProgram(Entity):
4
+ class AgentAccount(Entity):
5
5
  pass
@@ -0,0 +1,24 @@
1
+ from pydantic import Field
2
+
3
+ from ..enums import BonusProgramWelcomeMode
4
+ from .entity import Entity
5
+ from .meta import Meta
6
+
7
+
8
+ class BonusProgram(Entity):
9
+ meta: Meta | None = Field(None, alias="meta")
10
+ id: str | None = Field(None, alias="id")
11
+ account_id: str | None = Field(None, alias="accountId")
12
+ name: str | None = Field(None, alias="name")
13
+ active: bool | None = Field(None, alias="active")
14
+ all_agents: bool | None = Field(None, alias="allAgents")
15
+ all_products: bool | None = Field(None, alias="allProducts")
16
+ agent_tags: list[str] | None = Field(None, alias="agentTags")
17
+ earn_rate_roubles_to_point: int | None = Field(None, alias="earnRateRoublesToPoint")
18
+ earn_while_redeeming: bool | None = Field(None, alias="earnWhileRedeeming")
19
+ spend_rate_points_to_rouble: int | None = Field(None, alias="spendRatePointsToRouble")
20
+ max_paid_rate_percents: int | None = Field(None, alias="maxPaidRatePercents")
21
+ postponed_bonuses_delay_days: int | None = Field(None, alias="postponedBonusesDelayDays")
22
+ welcome_bonuses_enabled: bool | None = Field(None, alias="welcomeBonusesEnabled")
23
+ welcome_bonuses_mode: BonusProgramWelcomeMode | None = Field(None, alias="welcomeBonusesMode")
24
+ welcome_bonuses_value: int | None = Field(None, alias="welcomeBonusesValue")
@@ -0,0 +1,65 @@
1
+ from pydantic import Field
2
+
3
+ from .agent import Agent
4
+ from .agent_account import AgentAccount
5
+ from .attribute import Attribute
6
+ from .commissionreportin_position import CommissionReportInPosition
7
+ from .contract import Contract
8
+ from .entity import Entity
9
+ from .file import File
10
+ from .group import Group
11
+ from .meta import Meta
12
+ from .meta_array import MetaArray
13
+ from .organization import Organization
14
+ from .organization_account import OrganizationAccount
15
+ from .owner import Owner
16
+ from .project import Project
17
+ from .rate import Rate
18
+ from .return_to_commissioner_position import ReturnToCommissionerPosition
19
+
20
+
21
+ class CommissionReportIn(Entity):
22
+ id: str | None = Field(None, alias="id")
23
+ account_id: str | None = Field(None, alias="accountId")
24
+ agent: Agent | None = Field(None, alias="agent")
25
+ agent_account: AgentAccount | None = Field(None, alias="agentAccount")
26
+ applicable: bool | None = Field(None, alias="applicable")
27
+ attributes: list[Attribute] | None = Field(None, alias="attributes")
28
+ code: str | None = Field(None, alias="code")
29
+ commission_overhead: dict | None = Field(None, alias="commissionOverhead")
30
+ commission_period_end: str | None = Field(None, alias="commissionPeriodEnd")
31
+ commission_period_start: str | None = Field(None, alias="commissionPeriodStart")
32
+ commitent_sum: float | None = Field(None, alias="commitentSum")
33
+ contract: Contract | None = Field(None, alias="contract")
34
+ created: str | None = Field(None, alias="created")
35
+ deleted: str | None = Field(None, alias="deleted")
36
+ description: str | None = Field(None, alias="description")
37
+ external_code: str | None = Field(None, alias="externalCode")
38
+ files: MetaArray[File] | File | None = Field(None, alias="files")
39
+ group: Group | None = Field(None, alias="group")
40
+ meta: Meta | None = Field(None, alias="meta")
41
+ moment: str | None = Field(None, alias="moment")
42
+ name: str | None = Field(None, alias="name")
43
+ organization: Organization | None = Field(None, alias="organization")
44
+ organization_account: OrganizationAccount | None = Field(None, alias="organizationAccount")
45
+ owner: Owner | None = Field(None, alias="owner")
46
+ payed_sum: float | None = Field(None, alias="payedSum")
47
+ positions: CommissionReportInPosition | None = Field(None, alias="positions")
48
+ return_to_commissioner_positions: ReturnToCommissionerPosition | None = Field(
49
+ None, alias="returnToCommissionerPositions"
50
+ )
51
+ printed: bool | None = Field(None, alias="printed")
52
+ published: bool | None = Field(None, alias="published")
53
+ shared: bool | None = Field(None, alias="shared")
54
+ project: Project | None = Field(None, alias="project")
55
+ sales_channel: Meta | None = Field(None, alias="salesChannel")
56
+ state: Meta | None = Field(None, alias="state")
57
+ rate: Rate | None = Field(None, alias="rate")
58
+ reward_percent: int | None = Field(None, alias="rewardPercent")
59
+ reward_type: str | None = Field(None, alias="rewardType")
60
+ sum: float | None = Field(None, alias="sum")
61
+ sync_id: str | None = Field(None, alias="syncId")
62
+ updated: str | None = Field(None, alias="updated")
63
+ vat_enabled: bool | None = Field(None, alias="vatEnabled")
64
+ vat_included: bool | None = Field(None, alias="vatIncluded")
65
+ vat_sum: float | None = Field(None, alias="vatSum")
@@ -0,0 +1,17 @@
1
+ from pydantic import Field
2
+
3
+ from .assortment import Assortment
4
+ from .entity import Entity
5
+ from .pack import Pack
6
+
7
+
8
+ class CommissionReportInPosition(Entity):
9
+ id: str | None = Field(None, alias="id")
10
+ account_id: str | None = Field(None, alias="accountId")
11
+ assortment: Assortment | None = Field(None, alias="assortment")
12
+ pack: Pack | None = Field(None, alias="pack")
13
+ price: float | None = Field(None, alias="price")
14
+ quantity: float | None = Field(None, alias="quantity")
15
+ reward: float | None = Field(None, alias="reward")
16
+ vat: int | None = Field(None, alias="vat")
17
+ vat_enabled: bool | None = Field(None, alias="vatEnabled")
@@ -0,0 +1,15 @@
1
+ from pydantic import Field
2
+
3
+ from .assortment import Assortment
4
+ from .entity import Entity
5
+
6
+
7
+ class ReturnToCommissionerPosition(Entity):
8
+ id: str | None = Field(None, alias="id")
9
+ account_id: str | None = Field(None, alias="accountId")
10
+ assortment: Assortment | None = Field(None, alias="assortment")
11
+ price: float | None = Field(None, alias="price")
12
+ quantity: float | None = Field(None, alias="quantity")
13
+ reward: float | None = Field(None, alias="reward")
14
+ vat: int | None = Field(None, alias="vat")
15
+ vat_enabled: bool | None = Field(None, alias="vatEnabled")
File without changes