Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update deposits REST API docs with decoupled deposit changes #7848

Merged

Conversation

Jinksi
Copy link
Member

@Jinksi Jinksi commented Dec 7, 2023

Fixes #7847

Changes proposed in this Pull Request

This PR updates the deposits REST API documentation to reflect the "decoupled deposits" changes deployed on Jan 23 2024 in server PR 4500.

Note

I've uploaded a preview of this PR's version of the docs here.

  • GET deposits/overview-all
    • Response deposit.next_scheduled is no longer returned.
    • Response balance.pending[].deposits_count is no longer returned.
    • Response balance.instant[].transaction_ids is no longer returned.
  • GET deposits/overview
    • Response next_deposit is no longer returned.
    • Response balance.pending.deposits_count is no longer returned.
    • Response instant_balance.transaction_ids is no longer returned.
  • GET deposits
    • estimated deposits are no longer returned.
    • status_is and status_not_is filter params no longer filter by estimated.
  • GET deposits/summary
    • estimated deposits are no longer returned.
    • status_is and status_not_is filter params no longer filter by estimated.
  • GET deposits/(?P<deposit_id>\w+)
    • estimated deposits are no longer returned, will return status 404 in this case.
  • POST deposits
  • POST deposits/download
    • estimated deposits are no longer included in CSV export.
    • status_is and status_not_is filter params no longer filter by estimated.

See project thread: paJDYF-aY6-p2
See discussion on removing estimated deposits: paJDYF-bD7-p2

Testing instructions

  • Build the docs locally (requires Docker)
    • cd docs/rest-api
    • ./build.sh to build the docs via a Docker container.
    • npx serve build to serve the built HTML at localhost:3000
  • Alternatively, I've uploaded this PR's version of the docs manually here.
  • Find and navigate to the Deposits section via the sidebar
  • Ensure the changes and deprecations to the endpoint responses are correct as per the plan in server epic https://github.com/Automattic/woocommerce-payments-server/issues/4296

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests N/A
  • Tested on mobile N/A

Post merge

@botwoo
Copy link
Collaborator

botwoo commented Dec 7, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 7848 or branch name fix/7847-update-deposits-api-docs-estimated-deposits-rm in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: 9e68172
  • Build time: 2024-01-25 04:02:48 UTC

Note: the build is updated when a new commit is pushed to this PR.

Copy link
Contributor

github-actions bot commented Dec 7, 2023

Size Change: 0 B

Total Size: 1.27 MB

ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.06 kB
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.81 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.81 kB
release/woocommerce-payments/dist/blocks-checkout.js 85.2 kB
release/woocommerce-payments/dist/checkout-rtl.css 318 B
release/woocommerce-payments/dist/checkout.css 319 B
release/woocommerce-payments/dist/checkout.js 37.2 kB
release/woocommerce-payments/dist/index-rtl.css 36.9 kB
release/woocommerce-payments/dist/index.css 37 kB
release/woocommerce-payments/dist/index.js 291 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.4 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 60.9 kB
release/woocommerce-payments/dist/multi-currency.css 3.4 kB
release/woocommerce-payments/dist/multi-currency.js 56.3 kB
release/woocommerce-payments/dist/order-rtl.css 676 B
release/woocommerce-payments/dist/order.css 679 B
release/woocommerce-payments/dist/order.js 42.3 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.31 kB
release/woocommerce-payments/dist/payment-gateways.css 1.31 kB
release/woocommerce-payments/dist/payment-gateways.js 39.9 kB
release/woocommerce-payments/dist/payment-request-rtl.css 153 B
release/woocommerce-payments/dist/payment-request.css 153 B
release/woocommerce-payments/dist/payment-request.js 13.5 kB
release/woocommerce-payments/dist/product-details.js 919 B
release/woocommerce-payments/dist/settings-rtl.css 10.3 kB
release/woocommerce-payments/dist/settings.css 10.3 kB
release/woocommerce-payments/dist/settings.js 234 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.5 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 710 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.6 kB
release/woocommerce-payments/dist/tos-rtl.css 230 B
release/woocommerce-payments/dist/tos.css 231 B
release/woocommerce-payments/dist/tos.js 22.1 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 153 B
release/woocommerce-payments/dist/woopay-express-button.css 153 B
release/woocommerce-payments/dist/woopay-express-button.js 52.5 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.18 kB
release/woocommerce-payments/dist/woopay.css 4.19 kB
release/woocommerce-payments/dist/woopay.js 72.1 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 622 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 812 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.37 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.37 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.03 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 291 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 781 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.05 kB

compressed-size-action

@Jinksi
Copy link
Member Author

Jinksi commented Jan 9, 2024

Also, should it be 7.0.0 or 7.1.0?

Thanks @shendy-a8c – updated 7.0.0 → 7.1.0 in dc9227b. Changes visible on docs preview here.

@Jinksi
Copy link
Member Author

Jinksi commented Jan 22, 2024

To update this PR's progress: I'll be:

  1. validating these changes once the server deployment of https://github.com/Automattic/woocommerce-payments-server/pull/4500 has occurred.
  2. removing the redundant/deprecated fields from the docs, as discussed here: Update deposits REST API docs with decoupled deposit changes #7848 (review).
  3. re-requesting a review

@Jinksi Jinksi added pr: needs review and removed status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. labels Jan 23, 2024
@Jinksi
Copy link
Member Author

Jinksi commented Jan 23, 2024

I've validated the docs against the production server deployment of decouple deposits API changes.

I've removed the deprecated fields and values as per the discussion above.

See preview here. Ready for re-review.

@Jinksi Jinksi requested review from shendy-a8c and a team January 23, 2024 01:44
@@ -481,7 +413,7 @@ Fetches a deposit by ID.

If a deposit is found for the provided ID, the response will return a [**Deposit**](#deposit-object) object.

If no deposit is found for the provided ID, the response will be an empty array.
If no deposit is found for the provided ID, the response will return a `500` status code.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NB: The HTTP response code was changed to 404 on the server, the client still responds with 500.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting … I like the idea that we work towards no 500 errors from any of our APIs.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeh this came up in #4342 which implemented the server returning 404, only for client to swap it to a 500.

For now, the docs should reflect the current state of the REST API but we can open a new issue to ensure 404's are passed through to client REST API responses.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, yea I'm thinking long term here. Also might be a cool way into more monitoring of our APIs – e.g. monitoring can tell us when we return 500, we can work toward no 500s (maybe in API paths that we own).

Copy link
Contributor

@brucealdridge brucealdridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed test site and removals. 👍

@Jinksi Jinksi dismissed shendy-a8c’s stale review January 25, 2024 23:24

Suggestions have been applied – relevant fields have been removed from the docs.

@Jinksi Jinksi added this pull request to the merge queue Jan 25, 2024
Merged via the queue into develop with commit e2a1732 Jan 25, 2024
26 checks passed
@Jinksi Jinksi deleted the fix/7847-update-deposits-api-docs-estimated-deposits-rm branch January 25, 2024 23:31
@Jinksi
Copy link
Member Author

Jinksi commented Jan 25, 2024

Jinksi added a commit that referenced this pull request Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants