| Método | POST |
| Endpoint | https://api.rockty.com/recurrences/v1/renew |
| Content-Type | application/json |
| Autenticação | Authorization: Bearer <TOKEN> |
Authorization (o mesmo usado nas demais rotas da API). A renovação só funciona em assinaturas do próprio tenant do token — nenhum identificador de tenant é enviado no corpo; ele é lido do token.{
"recurrenceId": "ROP12345678"
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
recurrenceId | string | Sim | Identificador da assinatura a renovar. Aceita dois formatos: o id da recorrência ou o id de pesquisa iniciado em ROP... (a forma mais comum). O id do pedido inicial completo também é aceito. |
Importante: erros de negócio retornam HTTP 200 com o array errorsno corpo — o status HTTP não indica o resultado da operação. Trate assim: corpo semerrors= sucesso; corpo comerrors= falha (o código do erro vem emerrors[0].message). Já401/403indicam problema de autenticação (token ausente ou inválido).
errors){
"data": {
"renewSubscription": {
"newRecurrenceId": "SUB4F7A2C9E",
"newPreOrderId": "ROP8B3D5F1A",
"status": "active"
}
}
}| Campo | Tipo | Descrição |
|---|---|---|
data.renewSubscription.newRecurrenceId | string | Identificador da nova assinatura criada pela renovação. |
data.renewSubscription.newPreOrderId | string | Novo id de pesquisa (ROP...) da renovação — use este id para consultar a nova assinatura nas demais rotas. |
data.renewSubscription.status | string | Status da nova assinatura. active = primeira cobrança aprovada e assinatura ativa. |
errors){
"errors": [
{
"message": "renewal_subscription_not_completed"
}
]
}errors estiver presente, ignore o conteúdo de data. O código em errors[0].message está na tabela abaixo.renewal_already_done). Para renovar de novo no futuro, a chamada deve usar a assinatura nova.Código (errors[0].message) | Quando acontece | O que fazer |
|---|---|---|
recurrenceId_is_required | Campo recurrenceId ausente ou vazio. | Enviar o id da assinatura ou o ROP.... |
recurrence_not_found | Id/ROP não encontrado no seu tenant. | Confirmar o identificador e o token usado. |
renewal_subscription_not_found | A assinatura não possui vínculo com o processador de pagamento. | Não renovável — verificar o caso com o suporte. |
renewal_check_unavailable | Falha temporária ao consultar o processador de pagamento. | Tentar novamente em instantes. |
renewal_subscription_not_completed | A assinatura ainda está ativa/pausada, ou foi cancelada. | Ativa: usar os fluxos normais (retry, troca de cartão). Cancelada: novo checkout. |
renewal_invalid_status | A assinatura está cancelada ou pausada na plataforma. | Não renovável por esta operação. |
renewal_already_done | Esta assinatura já foi renovada antes. | Usar a assinatura nova (retornada na primeira renovação). |
renewal_vaulted_token_not_found | Não há cartão salvo utilizável na assinatura anterior. | Cliente precisa fazer novo checkout. |
renewal_customer_not_found | Cadastro do cliente não localizado no processador. | Verificar o caso com o suporte. |
renewal_amount_not_found | Não foi possível determinar o valor da cobrança. | Verificar o caso com o suporte. |
renewal_payment_declined | A primeira cobrança foi recusada pelo emissor do cartão. | Nada foi criado. Pode tentar novamente (ex.: após o cliente regularizar o cartão). |
renewal_payment_not_confirmed | A confirmação da cobrança não chegou no tempo esperado; a assinatura criada foi cancelada por segurança. | Tentar novamente. Se persistir, contatar o suporte. |
renewal_claim_conflict | Duas renovações simultâneas para a mesma assinatura. | Aguardar e consultar a assinatura — a outra chamada pode ter concluído. |
newPreOrderId retornado como identificador da nova assinatura nas demais rotas de consulta — é o mesmo padrão de id (ROP...) já usado hoje.