apple / app-store-server-library-java

MIT License
166 stars 38 forks source link

Complete Documentation for APIError Enum Values #80

Open JumpiiX opened 7 months ago

JumpiiX commented 7 months ago

Problem Statement

While working with the App Store Server API and handling various errors in Swift, I noticed that the APIError enum within the App Store Server Library lacks detailed documentation for some of its values. This makes it challenging for developers to understand the context and potential solutions for the errors returned by the API.

Proposed Solution

I propose to enhance the APIError enum by adding comprehensive documentation to each enum value. This documentation will include:

A brief description of the error. A direct link to the official Apple documentation for each specific error (where available). Suggestions for handling these errors within apps (if applicable). For example, for the error INVALID_IN_APP_OWNERSHIP_TYPE, the documentation could look like this:

/**
 * An error that indicates the ownership type of an in-app purchase is invalid.
 *
 * This error occurs when the specified ownership type does not match any of the ownership types known by the App Store. To resolve this error, ensure that the ownership type corresponds to one of the valid types described in the App Store Server API documentation.
 *
 * @see <a href="https://developer.apple.com/documentation/appstoreserverapi/invalidinappownershiptypeerror">InvalidInAppOwnershipTypeError</a>
 */
`INVALID_IN_APP_OWNERSHIP_TYPE(4000026L),

Benefits

Next Steps

I am prepared to undertake this enhancement by completing the documentation for each enum value in the APIError class. I believe this improvement will greatly benefit the developer community by making error handling more transparent and accessible.

alexanderjordanbaker commented 7 months ago

@JumpiiX Could you please describe how this is different than the existing documentation and links in APIError, for example https://github.com/apple/app-store-server-library-java/blob/0913e4383724a88b5cc1b1a0cb427a0ea6da4ccf/src/main/java/com/apple/itunes/storekit/client/APIError.java#L14

JumpiiX commented 7 months ago

@alexanderjordanbaker Thank you for your inquiry. The revisions I've introduced to the APIError documentation aim to offer more specific insights for each error, complementing the existing descriptions with further context. This added layer of detail is intended to facilitate a quicker and more informed troubleshooting process for developers.