challenge-api
challenge-api copied to clipboard
Missing billing account causes the legacy challenge activation to fail
When activating a legacy challenge the legacy processor throws 500 error because of missing billing account (Billing/PO Number is null/empty.)
As a temporary solution, the V5 Challenge API will call the https://api.topcoder.com/v3/direct/projects/<directProjectId> endpoint to fetch the billing account for the given project ID.
If the billing account does not exist, it'll not let you set the status to Active as the activation won't be possible on the legacy system.
Implications:
- We can’t create an
Activechallenge. We need to create it asDraftand then update it so the legacy processor populates thedirectProjectId - We can’t update to
Activeunless the processor has created the challenge on legacy first - if either the billing account or the
directProjectIdis missing, The API will throw a 400 error
cc @rootelement
Legacy processor PR: https://github.com/topcoder-platform/legacy-challenge-processor/pull/12 V5 API PR: https://github.com/topcoder-platform/challenge-api/pull/159
@ThomasKranitsas Is this still true? We're using v5 projects for BA info, we don't allow activation if it's not set, and the LCP should be reading the BA from the payload/api?