@thorprovider/medusa-extended 1.11.8 → 1.12.0

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.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, QueryEntitiesInput, QueryResponse, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, ChatAssistantHealthResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsParams, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse, TokenVerifyResult, RecoveryConfirmResult } from '@thorprovider/types';
1
+ import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, QueryEntitiesInput, QueryResponse, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, ChatAssistantHealthResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsBody, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse, TokenVerifyResult, RecoveryConfirmResult, SubmitApplicationBody, SubmitApplicationResult } from '@thorprovider/types';
2
2
 
3
3
  /**
4
4
  * @fileoverview Medusa Multi-Tenant Admin Client
@@ -395,11 +395,11 @@ declare class DropshipperClient {
395
395
  */
396
396
  getOrder(orderId: string): Promise<GetDropshipperOrderDetailResponse>;
397
397
  /**
398
- * List shipping options for a manual dropshipper order.
398
+ * List shipping groups and their valid options for a manual dropshipper order.
399
399
  *
400
- * `GET /admin/thor/dropshipper/orders/shipping-options`
400
+ * `POST /admin/thor/dropshipper/orders/shipping-options`
401
401
  */
402
- getOrderShippingOptions(params: GetDropshipperShippingOptionsParams): Promise<GetDropshipperShippingOptionsResponse>;
402
+ getOrderShippingOptions(body: GetDropshipperShippingOptionsBody): Promise<GetDropshipperShippingOptionsResponse>;
403
403
  /**
404
404
  * Manually create an order on behalf of a customer.
405
405
  *
@@ -846,10 +846,16 @@ declare class DropshipperClient {
846
846
  * - `POST /auth/user/emailpass/update` (confirm reset, consumes token)
847
847
  * - `GET /store/dropshipper/applications/activate/verify`(verify activation token, no consume)
848
848
  * - `POST /store/dropshipper/applications/activate` (confirm activation, consumes token)
849
+ * - `POST /public/dropshipper/applications` (submit application, no auth)
849
850
  *
850
851
  * Confirm methods follow the two-phase contract: verify (no consume) first,
851
852
  * then confirm (atomic consume). A re-verify after a failed confirm maps the
852
853
  * TOCTOU state (used/expired/revoked) into `RecoveryConfirmResult.status`.
854
+ *
855
+ * `submitApplication` returns a discriminated `SubmitApplicationResult` instead
856
+ * of throwing on 400/409/429 so the caller can surface the backend's structured
857
+ * payload (existing application on 409, retry window on 429). Network/5xx
858
+ * errors are re-thrown as `ProviderAPIError`.
853
859
  */
854
860
 
855
861
  /**
@@ -924,6 +930,25 @@ declare class RecoveryClient {
924
930
  * contraseña inicial. Al éxito, la UI redirige a /login sin auto-login.
925
931
  */
926
932
  activateAccount(token: string, password: string): Promise<RecoveryConfirmResult>;
933
+ /**
934
+ * Envía una solicitud de acceso dropshipper al endpoint público.
935
+ *
936
+ * `POST /public/dropshipper/applications`
937
+ *
938
+ * No requiere autenticación. Devuelve un resultado discriminado:
939
+ * - `{ ok: true }` → 201, solicitud creada (`application.number`).
940
+ * - `{ ok: false, reason: 'conflict' }` → 409, email ya registrado; la
941
+ * solicitud existente incluye `status_label`/`reason` para la UI.
942
+ * - `{ ok: false, reason: 'rate_limited' }` → 429, se respetó el límite del
943
+ * backend; `retryAfterSeconds` indica cuándo reintentar.
944
+ * - `{ ok: false, reason: 'invalid_data' }` → 400, validación del backend.
945
+ *
946
+ * Los errores de red/5xx se re-lanzan como `ProviderAPIError` para que el
947
+ * llamador los categorice (p. ej. con `parseError`). El 429 no se reintenta
948
+ * (`retryableStatusCodes` sin 429) para que el caller reciba de inmediato el
949
+ * `retry_after_seconds` del backend y pueda bloquear el envío.
950
+ */
951
+ submitApplication(body: SubmitApplicationBody): Promise<SubmitApplicationResult>;
927
952
  }
928
953
 
929
954
  export { type ChatStreamEvent, DropshipperClient, type DropshipperClientConfig, MedusaAdminClient, type MedusaAdminClientConfig, RecoveryClient, type RecoveryClientConfig };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, QueryEntitiesInput, QueryResponse, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, ChatAssistantHealthResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsParams, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse, TokenVerifyResult, RecoveryConfirmResult } from '@thorprovider/types';
1
+ import { GetChannelCustomersOptions, GetChannelCustomersResponse, GetChannelApiKeysResponse, GetChannelCategoriesOptions, GetChannelCategoriesResponse, GetCategorySalesChannelsResponse, AssignCategoriesToChannelsBody, AssignCategoriesToChannelsResponse, UnassignCategoriesFromChannelsBody, UnassignCategoriesFromChannelsResponse, GetCollectionSalesChannelsResponse, AssignCollectionsToChannelsBody, AssignCollectionsToChannelsResponse, UnassignCollectionsFromChannelsBody, UnassignCollectionsFromChannelsResponse, GetAdminStorefrontConfigResponse, UpdateStorefrontConfigBody, UpdateStorefrontConfigResponse, GetAdminSiteConfigResponse, UpdateSiteConfigBody, UpdateSiteConfigResponse, GetAdminSiteConfigHistoryOptions, GetAdminSiteConfigHistoryResponse, RestoreSiteConfigResponse, ChatIntent, ChatSource, QueryEntitiesInput, QueryResponse, DropshipperDashboardCapabilities, GetMyProfileResponse, ChatRequest, ChatResponse, ChatAssistantHealthResponse, GetNotificationsOptions, GetNotificationsResponse, OnboardDropshipperBody, OnboardDropshipperResponse, GetDropshipperProductsOptions, GetDropshipperProductsResponse, ValidateCheckoutItemsRequest, ValidateCheckoutItemsResponse, CostPriceChangesCheckResponse, CostPriceChangesResponse, AcknowledgeCostPriceChangesResponse, UpdateDropshipperProductStatusBody, UpdateDropshipperProductStatusResponse, GetProductAttributesResponse, GetDropshipperAttributesResponse, UpdateDropshipperPricesBody, UpdateDropshipperPricesResponse, GetDropshipperOrdersOptions, GetDropshipperOrdersResponse, GetDropshipperOrderDetailResponse, GetDropshipperShippingOptionsBody, GetDropshipperShippingOptionsResponse, ExtendedCreateDropshipperOrderBody, ExtendedCreateDropshipperOrderResponse, SetPaymentCollectorBody, SetPaymentCollectorResponse, SetPaymentMethodBody, SetPaymentMethodResponse, CancelDropshipperOrderResponse, CreateOrderEditBody, CreateOrderEditResponse, AddOrderEditItemBody, AddOrderEditItemResponse, ConfirmOrderEditResponse, GetOrderNotesResponse, CreateOrderNoteBody, CreateOrderNoteResponse, DeleteOrderNoteResponse, GetProviderCategoriesResponse, GetDropshipperCategoriesOptions, GetDropshipperCategoriesResponse, CreateDropshipperCategoryBody, DropshipperCategory, UpdateDropshipperCategoryBody, DeleteDropshipperCategoryResponse, GetCategoryMappingsOptions, GetCategoryMappingsResponse, CreateCategoryMappingBody, CreateCategoryMappingResponse, DeleteCategoryMappingResponse, GetDropshipperCustomersOptions, GetDropshipperCustomersResponse, GetDropshipperCustomerDetailResponse, CreateDropshipperCustomerBody, CreateDropshipperCustomerResponse, UpdateDropshipperCustomerBody, UpdateDropshipperCustomerResponse, GetDropshipperAddressesResponse, DropshipperAddressBody, DropshipperAddressResponse, GetDropshipperAccountResponse, GetDropshipperPayableResponse, GetDropshipperReceivableResponse, GetSettlementsOptions, GetSettlementsResponse, GetSettlementDetailResponse, GetDropshipperAccountBalanceResponse, GetDropshipperAccountOrdersOptions, GetDropshipperAccountOrdersResponse, CreateSettlementBody, CreateSettlementResponse, ConfirmSettlementBody, UpdateSettlementStatusResponse, CancelSettlementBody, GetAdminDropshipperAccountsResponse, GetAdminAccountBalanceResponse, GetAdminPriceListsResponse, GetUserChannelResponse, GetAdminDropshipperAccountOrdersResponse, GetAdminDropshipperAccountSettlementsOptions, GetAdminDropshipperAccountSettlementsResponse, ResolveGuaranteeBody, ResolveGuaranteeResponse, CreateCompensacionBody, CreateCompensacionResponse, CreateAjusteBody, CreateAjusteResponse, CreateCobroBody, CreateCobroResponse, CreatePagoBody, CreatePagoResponse, CreateReversoBody, CreateReversoResponse, ConfirmMovementBody, ConfirmMovementResponse, CancelMovementBody, CancelMovementResponse, GetFinancialAnalysisResponse, RegisterPaymentBody, RegisterPaymentResponse, GetDropshipperPromotionsOptions, GetDropshipperPromotionsResponse, CreateDropshipperPromotionBody, DropshipperPromotion, UpdateDropshipperPromotionBody, DeleteDropshipperPromotionResponse, GetDashboardStatsOptions, GetDashboardStatsResponse, GetStorefrontDropshipperCategoriesResponse, GetDropshipperDraftOrdersOptions, GetDropshipperDraftOrdersResponse, GetDropshipperDraftOrderDetailResponse, CreateDropshipperDraftOrderBody, CreateDropshipperDraftOrderResponse, UpdateDropshipperDraftOrderBody, UpdateDropshipperDraftOrderResponse, ConvertDropshipperDraftOrderBody, ConvertDropshipperDraftOrderResponse, DeleteDropshipperDraftOrderResponse, GetGeoCountriesResponse, GetGeoProvincesResponse, GetGeoCitiesResponse, TokenVerifyResult, RecoveryConfirmResult, SubmitApplicationBody, SubmitApplicationResult } from '@thorprovider/types';
2
2
 
3
3
  /**
4
4
  * @fileoverview Medusa Multi-Tenant Admin Client
@@ -395,11 +395,11 @@ declare class DropshipperClient {
395
395
  */
396
396
  getOrder(orderId: string): Promise<GetDropshipperOrderDetailResponse>;
397
397
  /**
398
- * List shipping options for a manual dropshipper order.
398
+ * List shipping groups and their valid options for a manual dropshipper order.
399
399
  *
400
- * `GET /admin/thor/dropshipper/orders/shipping-options`
400
+ * `POST /admin/thor/dropshipper/orders/shipping-options`
401
401
  */
402
- getOrderShippingOptions(params: GetDropshipperShippingOptionsParams): Promise<GetDropshipperShippingOptionsResponse>;
402
+ getOrderShippingOptions(body: GetDropshipperShippingOptionsBody): Promise<GetDropshipperShippingOptionsResponse>;
403
403
  /**
404
404
  * Manually create an order on behalf of a customer.
405
405
  *
@@ -846,10 +846,16 @@ declare class DropshipperClient {
846
846
  * - `POST /auth/user/emailpass/update` (confirm reset, consumes token)
847
847
  * - `GET /store/dropshipper/applications/activate/verify`(verify activation token, no consume)
848
848
  * - `POST /store/dropshipper/applications/activate` (confirm activation, consumes token)
849
+ * - `POST /public/dropshipper/applications` (submit application, no auth)
849
850
  *
850
851
  * Confirm methods follow the two-phase contract: verify (no consume) first,
851
852
  * then confirm (atomic consume). A re-verify after a failed confirm maps the
852
853
  * TOCTOU state (used/expired/revoked) into `RecoveryConfirmResult.status`.
854
+ *
855
+ * `submitApplication` returns a discriminated `SubmitApplicationResult` instead
856
+ * of throwing on 400/409/429 so the caller can surface the backend's structured
857
+ * payload (existing application on 409, retry window on 429). Network/5xx
858
+ * errors are re-thrown as `ProviderAPIError`.
853
859
  */
854
860
 
855
861
  /**
@@ -924,6 +930,25 @@ declare class RecoveryClient {
924
930
  * contraseña inicial. Al éxito, la UI redirige a /login sin auto-login.
925
931
  */
926
932
  activateAccount(token: string, password: string): Promise<RecoveryConfirmResult>;
933
+ /**
934
+ * Envía una solicitud de acceso dropshipper al endpoint público.
935
+ *
936
+ * `POST /public/dropshipper/applications`
937
+ *
938
+ * No requiere autenticación. Devuelve un resultado discriminado:
939
+ * - `{ ok: true }` → 201, solicitud creada (`application.number`).
940
+ * - `{ ok: false, reason: 'conflict' }` → 409, email ya registrado; la
941
+ * solicitud existente incluye `status_label`/`reason` para la UI.
942
+ * - `{ ok: false, reason: 'rate_limited' }` → 429, se respetó el límite del
943
+ * backend; `retryAfterSeconds` indica cuándo reintentar.
944
+ * - `{ ok: false, reason: 'invalid_data' }` → 400, validación del backend.
945
+ *
946
+ * Los errores de red/5xx se re-lanzan como `ProviderAPIError` para que el
947
+ * llamador los categorice (p. ej. con `parseError`). El 429 no se reintenta
948
+ * (`retryableStatusCodes` sin 429) para que el caller reciba de inmediato el
949
+ * `retry_after_seconds` del backend y pueda bloquear el envío.
950
+ */
951
+ submitApplication(body: SubmitApplicationBody): Promise<SubmitApplicationResult>;
927
952
  }
928
953
 
929
954
  export { type ChatStreamEvent, DropshipperClient, type DropshipperClientConfig, MedusaAdminClient, type MedusaAdminClientConfig, RecoveryClient, type RecoveryClientConfig };
package/dist/index.js CHANGED
@@ -845,20 +845,18 @@ var DropshipperClient = class {
845
845
  );
846
846
  }
847
847
  /**
848
- * List shipping options for a manual dropshipper order.
848
+ * List shipping groups and their valid options for a manual dropshipper order.
849
849
  *
850
- * `GET /admin/thor/dropshipper/orders/shipping-options`
850
+ * `POST /admin/thor/dropshipper/orders/shipping-options`
851
851
  */
852
- async getOrderShippingOptions(params) {
853
- const qs = new URLSearchParams({
854
- currency_code: params.currency_code.toLowerCase(),
855
- ...params.country_code ? { country_code: params.country_code.toLowerCase() } : {},
856
- ...params.province ? { province: params.province } : {},
857
- ...params.city ? { city: params.city } : {}
858
- });
852
+ async getOrderShippingOptions(body) {
859
853
  return this.request(
860
- "GET",
861
- `/admin/thor/dropshipper/orders/shipping-options?${qs}`
854
+ "POST",
855
+ "/admin/thor/dropshipper/orders/shipping-options",
856
+ {
857
+ ...body,
858
+ currency_code: body.currency_code.toLowerCase()
859
+ }
862
860
  );
863
861
  }
864
862
  /**
@@ -1914,7 +1912,7 @@ var RecoveryClient = class {
1914
1912
  // -------------------------------------------------------------------------
1915
1913
  // Private — HTTP helper
1916
1914
  // -------------------------------------------------------------------------
1917
- async request(method, path, body) {
1915
+ async request(method, path, body, retryConfig) {
1918
1916
  const url = `${this.baseUrl}${path}`;
1919
1917
  this.logger.debug(`[recovery] ${method} ${path}`);
1920
1918
  const headers = {
@@ -1927,7 +1925,7 @@ var RecoveryClient = class {
1927
1925
  };
1928
1926
  let response;
1929
1927
  try {
1930
- response = await fetchBackendWithResilience(url, init);
1928
+ response = await fetchBackendWithResilience(url, init, retryConfig);
1931
1929
  } catch (networkError) {
1932
1930
  throw new import_adapters4.ProviderAPIError(
1933
1931
  `[recovery] Network error on ${method} ${path}: ${networkError.message}`,
@@ -1937,15 +1935,18 @@ var RecoveryClient = class {
1937
1935
  }
1938
1936
  if (!response.ok) {
1939
1937
  let message = `HTTP ${response.status}`;
1938
+ let details;
1940
1939
  try {
1941
1940
  const json = await response.json();
1942
1941
  message = json?.message ?? message;
1942
+ details = json && typeof json === "object" ? json : void 0;
1943
1943
  } catch {
1944
1944
  }
1945
1945
  throw new import_adapters4.ProviderAPIError(
1946
1946
  `[recovery] ${method} ${path} failed: ${message}`,
1947
1947
  `RECOVERY_API_${response.status}`,
1948
- response.status
1948
+ response.status,
1949
+ details
1949
1950
  );
1950
1951
  }
1951
1952
  return response.json();
@@ -2070,6 +2071,64 @@ var RecoveryClient = class {
2070
2071
  }
2071
2072
  }
2072
2073
  }
2074
+ // -------------------------------------------------------------------------
2075
+ // Dropshipper application submission
2076
+ // -------------------------------------------------------------------------
2077
+ /**
2078
+ * Envía una solicitud de acceso dropshipper al endpoint público.
2079
+ *
2080
+ * `POST /public/dropshipper/applications`
2081
+ *
2082
+ * No requiere autenticación. Devuelve un resultado discriminado:
2083
+ * - `{ ok: true }` → 201, solicitud creada (`application.number`).
2084
+ * - `{ ok: false, reason: 'conflict' }` → 409, email ya registrado; la
2085
+ * solicitud existente incluye `status_label`/`reason` para la UI.
2086
+ * - `{ ok: false, reason: 'rate_limited' }` → 429, se respetó el límite del
2087
+ * backend; `retryAfterSeconds` indica cuándo reintentar.
2088
+ * - `{ ok: false, reason: 'invalid_data' }` → 400, validación del backend.
2089
+ *
2090
+ * Los errores de red/5xx se re-lanzan como `ProviderAPIError` para que el
2091
+ * llamador los categorice (p. ej. con `parseError`). El 429 no se reintenta
2092
+ * (`retryableStatusCodes` sin 429) para que el caller reciba de inmediato el
2093
+ * `retry_after_seconds` del backend y pueda bloquear el envío.
2094
+ */
2095
+ async submitApplication(body) {
2096
+ try {
2097
+ const response = await this.request(
2098
+ "POST",
2099
+ "/public/dropshipper/applications",
2100
+ body,
2101
+ { retryableStatusCodes: [408, 500, 502, 503, 504] }
2102
+ );
2103
+ return { ok: true, application: response.application };
2104
+ } catch (error) {
2105
+ if (error instanceof import_adapters4.ProviderAPIError) {
2106
+ const details = error.details ?? {};
2107
+ if (error.status === 409 && details.application) {
2108
+ return {
2109
+ ok: false,
2110
+ reason: "conflict",
2111
+ application: details.application
2112
+ };
2113
+ }
2114
+ if (error.status === 429 && typeof details.retry_after_seconds === "number") {
2115
+ return {
2116
+ ok: false,
2117
+ reason: "rate_limited",
2118
+ retryAfterSeconds: details.retry_after_seconds
2119
+ };
2120
+ }
2121
+ if (error.status === 400) {
2122
+ return {
2123
+ ok: false,
2124
+ reason: "invalid_data",
2125
+ fields: details.fields
2126
+ };
2127
+ }
2128
+ }
2129
+ throw error;
2130
+ }
2131
+ }
2073
2132
  };
2074
2133
  // Annotate the CommonJS export names for ESM import in node:
2075
2134
  0 && (module.exports = {