| Required role: | Backoffice |
| PUT | /subscription/update_plan |
|---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class BackofficeApi
{
public static class SubscriptionPlanDetailsUnion
{
public PlanDetailsFreeUntil freeUntil = null;
public PlanDetailsInvoice invoice = null;
public PlanDetailsMonthlyStripe monthlyStripe = null;
public PlanDetailsFreeOnClaim freeOnClaim = null;
public PlanDetailsFreeUntil getFreeUntil() { return freeUntil; }
public SubscriptionPlanDetailsUnion setFreeUntil(PlanDetailsFreeUntil value) { this.freeUntil = value; return this; }
public PlanDetailsInvoice getInvoice() { return invoice; }
public SubscriptionPlanDetailsUnion setInvoice(PlanDetailsInvoice value) { this.invoice = value; return this; }
public PlanDetailsMonthlyStripe getMonthlyStripe() { return monthlyStripe; }
public SubscriptionPlanDetailsUnion setMonthlyStripe(PlanDetailsMonthlyStripe value) { this.monthlyStripe = value; return this; }
public PlanDetailsFreeOnClaim getFreeOnClaim() { return freeOnClaim; }
public SubscriptionPlanDetailsUnion setFreeOnClaim(PlanDetailsFreeOnClaim value) { this.freeOnClaim = value; return this; }
}
public static class PlanDetailsFreeUntil
{
public Date stopAt = null;
public Date getStopAt() { return stopAt; }
public PlanDetailsFreeUntil setStopAt(Date value) { this.stopAt = value; return this; }
}
public static class PlanDetailsInvoice
{
public Period period = null;
public Double amount = null;
public String currency = null;
public Period getPeriod() { return period; }
public PlanDetailsInvoice setPeriod(Period value) { this.period = value; return this; }
public Double getAmount() { return amount; }
public PlanDetailsInvoice setAmount(Double value) { this.amount = value; return this; }
public String getCurrency() { return currency; }
public PlanDetailsInvoice setCurrency(String value) { this.currency = value; return this; }
}
public static enum Period
{
Monthly,
Yearly;
}
public static class PlanDetailsMonthlyStripe
{
public Double amount = null;
public String currency = null;
public Integer freeStartUpMonths = null;
public Double getAmount() { return amount; }
public PlanDetailsMonthlyStripe setAmount(Double value) { this.amount = value; return this; }
public String getCurrency() { return currency; }
public PlanDetailsMonthlyStripe setCurrency(String value) { this.currency = value; return this; }
public Integer getFreeStartUpMonths() { return freeStartUpMonths; }
public PlanDetailsMonthlyStripe setFreeStartUpMonths(Integer value) { this.freeStartUpMonths = value; return this; }
}
public static class PlanDetailsFreeOnClaim
{
public Integer months = null;
public Integer getMonths() { return months; }
public PlanDetailsFreeOnClaim setMonths(Integer value) { this.months = value; return this; }
}
}
Java UpdateSubscriptionPlanRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /subscription/update_plan HTTP/1.1
Host: backoffice-api.brovs.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateSubscriptionPlanRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BackofficeApi.Dto">
<CanBeSelectedByClient>false</CanBeSelectedByClient>
<Id>0</Id>
<SubscriptionPlanDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/Entities.Common">
<d2p1:FreeOnClaim>
<d2p1:Months>0</d2p1:Months>
</d2p1:FreeOnClaim>
<d2p1:FreeUntil>
<d2p1:StopAt>0001-01-01T00:00:00</d2p1:StopAt>
</d2p1:FreeUntil>
<d2p1:Invoice>
<d2p1:Amount>0</d2p1:Amount>
<d2p1:Currency>String</d2p1:Currency>
<d2p1:Period>Monthly</d2p1:Period>
</d2p1:Invoice>
<d2p1:MonthlyStripe>
<d2p1:Amount>0</d2p1:Amount>
<d2p1:Currency>String</d2p1:Currency>
<d2p1:FreeStartUpMonths>0</d2p1:FreeStartUpMonths>
</d2p1:MonthlyStripe>
</SubscriptionPlanDetails>
</UpdateSubscriptionPlanRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <UpdateSubscriptionPlanResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BackofficeApi.Dto"> <Success>false</Success> </UpdateSubscriptionPlanResponse>