{"__v":15,"_id":"57866f040413ad0e009e6253","category":{"project":"575aeffae12cf20e002f306c","version":"575aeffae12cf20e002f306f","_id":"57866e72b2f4060e00fa39ca","__v":0,"sync":{"url":"","isSync":false},"reference":true,"createdAt":"2016-07-13T16:38:10.846Z","from_sync":false,"order":2,"slug":"ambiente-de-testes","title":"Ambiente de Testes"},"parentDoc":null,"project":"575aeffae12cf20e002f306c","user":"57601a13af3e090e00108059","version":{"__v":30,"_id":"575aeffae12cf20e002f306f","project":"575aeffae12cf20e002f306c","createdAt":"2016-06-10T16:51:06.080Z","releaseDate":"2016-06-10T16:51:06.080Z","categories":["575aeffae12cf20e002f3070","575af039a083950e004487f7","575af5c7ba4ed70e000ca288","57602fe5b82256240055c657","57602ff6c811102000cef302","576030909b1a9a220067ca40","57604518b82256240055c722","5761a63d207db7170022fc14","5761b9a2b65324200072d79e","576832939f0bf4190014ffdf","576832c09f0bf4190014ffe1","576832cba151c10e004316f0","576832d5bb15f40e00a288ec","576832e107b1f30e0039c645","577680bf3cee3a0e00a000bc","577ff3b1ff48990e000c6806","5783f78c5cbce30e0074e2b7","5783f86292edb92200e6101c","5783f86dbfbba719003f0d8b","5783f8755cbce30e0074e2b8","5783f8b65cbce30e0074e2b9","5783f8bf5cbce30e0074e2ba","5783f8d8ce802f0e0087d574","578529f887c9280e0090394b","57852aeb87c9280e0090394d","57866e72b2f4060e00fa39ca","57ab6d5c39c2fd1900191879","57f39451ab0ee12000bef915","582499a0d90fa027009b259e","58c29df1258e5a1900b60478"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"2016","version_clean":"1.0.0","version":"1"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-07-13T16:40:36.834Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":true,"order":1,"body":"Para acessar o ambiente de testes você precisa de uma conta Gerencianet. <a href=\"https://gerencianet.com.br/#abrirconta\" title=\"Cadastro ao nosso sistema, seja nosso cliente\" target=\"_blank\">Crie sua conta</a>.\n\nO Playground (também chamado de \"sandbox\") é um ambiente de desenvolvimento/testes no qual o integrador, independente da operação a ser realizada, pode utilizar para conhecer o mecanismo e o fluxo de pagamento em um ambiente 100% de teste e descomplicado. [Conheça mais](https://dev.gerencianet.com.br/docs/playground) sobre o Playground oferecido pela Gerencianet.\n\nUm carnê é um conjunto de transações (parcelas) geradas em lote e com forma de pagamento já definida. As parcelas de um carnê vencem mensalmente, de acordo com a data definida pelo integrador.\n\n[Para gerar um carnê](https://dev.gerencianet.com.br/docs/playground-carnes#carnet), você precisa informar os seguintes dados:\n\n- Itens (ou serviço) oferecido;\n\n- Data de vencimento da 1ª parcela;\n\n- Número de parcelas (repetições).\n\nSe você quiser, também é possível definir algumas informações adicionais, metadata (URL de notificação ou custom_id), se o valor total deve ser dividido entre todas as parcelas ou se cada parcela deve possuir o valor, inserir instruções no carnê (no máximo 4 linhas), etc.\n\n## Índice contendo os endpoints listados no Playground, modalidade *\"Carnês\"*\n\n<ul><li><div class=\"\"><span class=\"post\">POST</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet\">/carnet</a> <em>(cria um carnê)</em></div></li><li><div class=\"\"><span class=\"get\">GET</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id\">/carnet/:id</a> <em>(retorna informações de carnê existente)</em></div></li><li><div class=\"\"><span class=\"put\">PUT</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_metadata\">/carnet/:id/metadata</a> <em>(incluir \"notification_url\" e \"custom_id\" em um carnê existente)</em></div></li><li><div class=\"\"><span class=\"put\">PUT</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_parcel_parcel\">/carnet/:id/parcel/:parcel</a> <em>(alterar data de vencimento de parcela específica de um carnê)</em></div></li><li><div class=\"\"><span class=\"put\">PUT</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_cancel\">/carnet/:id/cancel</a> <em>(cancela um determinado carnê)</em></div></li><li><div class=\"\"><span class=\"put\">PUT</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_parcel_parcel_cancel\">/carnet/:id/parcel/:parcel/cancel</a> <em>(cancelamento de parcela específica de um carnê existente)</em></div></li><li><div class=\"\"><span class=\"post\">POST</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_resend\">/carnet/:id/resend</a> <em>(reenvio por email um carnê)</em></div></li><li><div class=\"\"><span class=\"post\">POST</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_parcel_parcel_resend\">/carnet/:id/parcel/:parcel/resend</a> <em>(reenviar por email determinada parcela de um carnê)</em></div></li><li><div class=\"\"><span class=\"post\">POST</span> <a href=\"https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_history\">/carnet/:id/history</a> <em>(acrescentar descrição ao histórico de um carnê)</em></div></li></ul>\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet\"><span class=\"post\">POST</span></a><strong class=\"text-endpoint\">/carnet</strong></div>\n\nUtilizado para geração de um conjunto de transações (parcelas) geradas em lote e com uma forma de pagamento já definida. As parcelas de um carnê vencem mensalmente, de acordo com a data definida pelo integrador.\n\nUm carnê possui o status <code>active</code> (ativo) até o vencimento da última parcela.\n\nOs principais atributos da geração de um carnê são:\n\n- <code>Item</code>: item que está sendo vendido;\n- <code>Customer</code>: dados pessoais do pagador;\n- <code>Expire_at</code>: vencimento da primeira parcela do carnê; e\n- <code>Repeats</code>: número de parcelas do carnê.\n\nAinda cabe frisar que cada carnê gerado possui uma identificação única denominada <code>carnet_id</code>, e cada parcela desse carnê também possuem um identificador único denominado <code>charge_id</code>.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/pIyQDaL6S4OwBdknBqwI_e6eff646f4a44b0187081b7b13463257.png\",\n        \"e6eff646f4a44b0187081b7b13463257.png\",\n        \"1435\",\n        \"370\",\n        \"#c48a39\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para criar um carnê no Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"items\\\": [\\n    {\\n      \\\"name\\\": \\\"Meu Produto\\\",\\n      \\\"value\\\": 7500,\\n      \\\"amount\\\": 1\\n    }\\n  ],\\n  \\\"customer\\\": {\\n    \\\"name\\\": \\\"Gorbadoc Oldbuck\\\",\\n    \\\"cpf\\\": \\\"94271564656\\\",\\n    \\\"phone_number\\\": \\\"5144916523\\\"\\n  },\\n  \\\"expire_at\\\": \\\"2018-12-20\\\",\\n  \\\"configurations\\\": {\\n        \\\"fine\\\": 200,\\n        \\\"interest\\\": 33\\n      },\\n  \\\"message\\\": \\\"Este é um espaço de até 80 caracteres para informar algo a seu cliente\\\",\\n  \\\"repeats\\\": 5,\\n  \\\"split_items\\\": false\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200, // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n  \\\"data\\\": {\\n    \\\"carnet_id\\\": numero_id_carne, // identificador único do carnê\\n    \\\"status\\\": \\\"active\\\", // status do carnê - active (ativo) ou expired (expirado)\\n    \\\"cover\\\": \\\"link_capa_do_carne\\\", // link para visualização da capa do carnê\\n    \\\"link\\\": \\\"link_com_boletos\\\", // link contendo os boletos, de acordo as repetições\\n    \\\"charges\\\": [\\n      {\\n        \\\"charge_id\\\": id_parcela, // identificador único da primeira parcela do carnê\\n        \\\"parcel\\\": \\\"1\\\", // número da parcela do carnê\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"value\\\": 7500, // valor, em centavos, da primeira parcela do carnê (7500 equivale a R$ 75,00)\\n        \\\"expire_at\\\": \\\"2018-12-20\\\", // data de vencimento do boleto no seguinte formato: 2018-12-30\\n        \\\"url\\\": \\\"link_boleto_primeira_parcela\\\", // link do boleto da primeira parcela\\n        \\\"barcode\\\": \\\"codigo_de_barras\\\" // código de barras do boleto da primeira parcela\\n      },\\n      {\\n        \\\"charge_id\\\": id_parcela, // número identificador único da segunda parcela do carnê\\n        \\\"parcel\\\": \\\"2\\\", // número da parcela do carnê\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"value\\\": 7500, // valor, em centavos, da segunda parcela do carnê (7500 equivale a R$ 75,00)\\n        \\\"expire_at\\\": \\\"2019-01-20\\\", // data de vencimento do boleto no seguinte formato: 2019-01-20\\n        \\\"url\\\": \\\"link_boleto_segunda_parcela\\\", // link do boleto da segunda parcela\\n        \\\"barcode\\\": \\\"codigo_de_barras\\\" // código de barras do boleto da segunda parcela\\n      },\\n      {\\n        \\\"charge_id\\\": id_parcela, // identificador único da terceira parcela do carnê\\n        \\\"parcel\\\": \\\"3\\\", // número da parcela do carnê\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"value\\\": 7500, // valor, em centavos, da terceira parcela do carnê (7500 equivale a R$ 75,00)\\n        \\\"expire_at\\\": \\\"2019-02-20\\\", // data de vencimento do boleto no seguinte formato: 2019-02-20\\n        \\\"url\\\": \\\"link_boleto_terceira_parcela\\\", // link do boleto da terceira parcela\\n        \\\"barcode\\\": \\\"codigo_de_barras\\\" // código de barras do boleto da terceira parcela\\n      },\\n      {\\n        \\\"charge_id\\\": id_parcela, // identificador único da quarta parcela do carnê\\n        \\\"parcel\\\": \\\"4\\\", // número da parcela do carnê\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"value\\\": 7500, // valor, em centavos, da quarta parcela do carnê (7500 equivale a R$ 75,00)\\n        \\\"expire_at\\\": \\\"2019-03-20\\\", // data de vencimento do boleto no seguinte formato: 2019-03-20\\n        \\\"url\\\": \\\"link_boleto_quarta_parcela\\\", // link do boleto da quarta parcela\\n        \\\"barcode\\\": \\\"codigo_de_barras\\\" // código de barras do boleto da quarta parcela\\n      },\\n      {\\n        \\\"charge_id\\\": id_parcela, // identificador único da quinta parcela do carnê\\n        \\\"parcel\\\": \\\"5\\\", // número da parcela do carnê\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"value\\\": 7500, // valor, em centavos, da quinta parcela do carnê (7500 equivale a R$ 75,00)\\n        \\\"expire_at\\\": \\\"2019-04-20\\\", // data de vencimento do boleto no seguinte formato: 2019-04-20\\n        \\\"url\\\": \\\"link_boleto_quinta_parcela\\\", // link do boleto da quinta parcela\\n        \\\"barcode\\\": \\\"codigo_de_barras\\\" // código de barras do boleto da quinta parcela\\n      }\\n    ]\\n  }\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    },\n    {\n      \"code\": \"{\\n  \\\"id\\\": \\\"/Carnet\\\",\\n  \\\"type\\\": \\\"object\\\",\\n  \\\"properties\\\": {\\n    \\\"items\\\": {\\n      \\\"type\\\": \\\"array\\\",\\n      \\\"minItems\\\": 1,\\n      \\\"items\\\": {\\n        \\\"type\\\": \\\"object\\\",\\n        \\\"properties\\\": {\\n          \\\"name\\\": {\\n            \\\"type\\\": \\\"string\\\"\\n          },\\n          \\\"value\\\": {\\n            \\\"type\\\": \\\"integer\\\",\\n            \\\"minimum\\\": 0\\n          },\\n          \\\"amount\\\": {\\n            \\\"type\\\": \\\"integer\\\",\\n            \\\"minimum\\\": 1,\\n            \\\"exclusiveMinimum\\\": false\\n          }\\n        },\\n        \\\"required\\\": [\\n          \\\"name\\\",\\n          \\\"value\\\"\\n        ]\\n      }\\n    },\\n    \\\"customer\\\": {\\n      \\\"type\\\": \\\"object\\\",\\n      \\\"id\\\": \\\"/BasicCustomer\\\",\\n      \\\"properties\\\": {\\n        \\\"name\\\": {\\n          \\\"type\\\": \\\"string\\\",\\n          \\\"minLength\\\": 1,\\n          \\\"maxLength\\\": 255,\\n          \\\"pattern\\\": \\\"^[ ]*(.+[ ]+)+.+[ ]*$\\\"\\n        },\\n        \\\"cpf\\\": {\\n          \\\"type\\\": \\\"string\\\",\\n          \\\"minLength\\\": 11,\\n          \\\"maxLength\\\": 11\\n        },\\n        \\\"email\\\": {\\n          \\\"type\\\": \\\"string\\\",\\n          \\\"maxLength\\\": 255,\\n          \\\"pattern\\\": \\\"^[A-Za-z0-9_\\\\\\\\-]+(?:[.][A-Za-z0-9_\\\\\\\\-]+)*:::at:::[A-Za-z0-9_]+(?:[-.][A-Za-z0-9_]+)*\\\\\\\\.[A-Za-z0-9_]+$\\\"\\n        },\\n        \\\"phone_number\\\": {\\n          \\\"type\\\": \\\"string\\\",\\n          \\\"pattern\\\": \\\"^[1-9]{2}9?[0-9]{8}$\\\"\\n        },\\n        \\\"birth\\\": {\\n          \\\"type\\\": \\\"string\\\",\\n          \\\"pattern\\\": \\\"^[12][0-9]{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$\\\"\\n        },\\n        \\\"address\\\": {\\n          \\\"type\\\": \\\"object\\\",\\n          \\\"id\\\": \\\"/Address\\\",\\n          \\\"properties\\\": {\\n            \\\"street\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"minLength\\\": 1,\\n              \\\"maxLength\\\": 200\\n            },\\n            \\\"number\\\": {\\n              \\\"type\\\": [\\n                \\\"string\\\",\\n                \\\"integer\\\"\\n              ],\\n              \\\"minLength\\\": 1,\\n              \\\"maxLength\\\": 55\\n            },\\n            \\\"neighborhood\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"minLength\\\": 1,\\n              \\\"maxLength\\\": 255\\n            },\\n            \\\"zipcode\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"pattern\\\": \\\"^[0-9]{8}$\\\"\\n            },\\n            \\\"city\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"minLength\\\": 1,\\n              \\\"maxLength\\\": 255\\n            },\\n            \\\"complement\\\": {\\n              \\\"type\\\": [\\n                \\\"string\\\",\\n                \\\"null\\\"\\n              ],\\n              \\\"minLength\\\": 0,\\n              \\\"maxLength\\\": 45\\n            },\\n            \\\"state\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"pattern\\\": \\\"^(?:A[CLPM]|BA|CE|DF|ES|GO|M[ATSG]|P[RBAEI]|R[JNSOR]|S[CEP]|TO)$\\\"\\n            }\\n          },\\n          \\\"required\\\": [\\n            \\\"street\\\",\\n            \\\"number\\\",\\n            \\\"neighborhood\\\",\\n            \\\"zipcode\\\",\\n            \\\"city\\\",\\n            \\\"state\\\"\\n          ]\\n        },\\n        \\\"juridical_person\\\": {\\n          \\\"type\\\": \\\"object\\\",\\n          \\\"id\\\": \\\"/JuridicalPerson\\\",\\n          \\\"properties\\\": {\\n            \\\"corporate_name\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"minLength\\\": 1,\\n              \\\"maxLength\\\": 255,\\n              \\\"pattern\\\": \\\"^[ ]*(.+[ ]+)+.+[ ]*$\\\"\\n            },\\n            \\\"cnpj\\\": {\\n              \\\"type\\\": \\\"string\\\",\\n              \\\"minLength\\\": 14,\\n              \\\"maxLength\\\": 14\\n            }\\n          },\\n          \\\"required\\\": [\\n            \\\"corporate_name\\\",\\n            \\\"cnpj\\\"\\n          ]\\n        }\\n      },\\n      \\\"required\\\": [\\n        \\\"phone_number\\\"\\n      ]\\n    },\\n    \\\"expire_at\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"pattern\\\": \\\"^[12][0-9]{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$\\\"\\n    },\\n    \\\"repeats\\\": {\\n      \\\"type\\\": \\\"integer\\\",\\n      \\\"minimum\\\": 2,\\n      \\\"maximum\\\": 12,\\n      \\\"exclusiveMinimum\\\": false,\\n      \\\"exclusiveMaximum\\\": false\\n    },\\n    \\\"split_items\\\": {\\n      \\\"type\\\": \\\"boolean\\\"\\n    },\\n    \\\"metadata\\\": {\\n      \\\"type\\\": \\\"object\\\",\\n      \\\"properties\\\": {\\n        \\\"custom_id\\\": {\\n          \\\"type\\\": [\\n            \\\"string\\\",\\n            \\\"null\\\"\\n          ]\\n        },\\n        \\\"notification_url\\\": {\\n          \\\"type\\\": [\\n            \\\"string\\\",\\n            \\\"null\\\"\\n          ],\\n          \\\"format\\\": \\\"uri\\\"\\n        }\\n      }\\n    },\\n    \\\"instructions\\\": {\\n      \\\"type\\\": \\\"array\\\",\\n      \\\"minItems\\\": 1,\\n      \\\"maxItems\\\": 4,\\n      \\\"items\\\": {\\n        \\\"type\\\": \\\"string\\\",\\n        \\\"minLength\\\": 1,\\n        \\\"maxLength\\\": 90\\n      }\\n    },\\n    \\\"configurations\\\": {\\n      \\\"type\\\": \\\"object\\\",\\n      \\\"minProperties\\\": 1,\\n      \\\"properties\\\": {\\n        \\\"fine\\\": {\\n          \\\"type\\\": \\\"integer\\\",\\n          \\\"minimum\\\": 0,\\n          \\\"maximum\\\": 1000\\n        },\\n        \\\"interest\\\": {\\n          \\\"type\\\": \\\"integer\\\",\\n          \\\"minimum\\\": 0,\\n          \\\"maximum\\\": 330\\n        }\\n      }\\n    },\\n    \\\"message\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"minLength\\\": 3,\\n      \\\"maxLength\\\": 80\\n    }\\n  },\\n  \\\"required\\\": [\\n    \\\"items\\\",\\n    \\\"customer\\\",\\n    \\\"expire_at\\\",\\n    \\\"repeats\\\"\\n  ]\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Schema\"\n    }\n  ]\n}\n[/block]\nEsse JSON cria um carnê, em que o nome do produto/serviço é \"Meu Produto\", valor R$ 75,00 e quantidade 1, com os dados do comprador, a data de vencimento da primeira parcela em 20/12/2018 e contendo 5 parcelas (em meses). Ou seja, é um carnê contendo 5 parcelas de R$ 75,00, perfazendo um valor total de R$ 375,00, com a primeira parcela de R$ 75,00 vencendo em 20/12/2018, a segunda em 20/01/2019, e assim sucessivamente. Além disso, estamos usando uma mensagem de até 80 caracteres para informar algo ao cliente, e se a lâmina for paga após o vencimento, será cobrado 2% de multa e 0,033% de juros por dia.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id\"><span class=\"get\">GET</span></a><strong class=\"text-endpoint\">/carnet/:id</strong></div>\n\nRetorna informações sobre um carnê criado. Cada transação criada via carnê possui uma única chave identificadora que a identifica.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>GET /carnet/:id</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/Hl63OTvXTKOpx94PDqhn_c00f0b34a29744c9bb1e09b9918c62d2.png\",\n        \"c00f0b34a29744c9bb1e09b9918c62d2.png\",\n        \"1430\",\n        \"123\",\n        \"#11aac2\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para retornar informações sobre um carnê criado em Playground. Além disso, é possível observar a saída prevista disponível para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Parâmetro de entrada: informe o \\\"carnet_id\\\" do carnê criado\",\n      \"language\": \"text\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200, // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n  \\\"data\\\": {\\n    \\\"carnet_id\\\": 14196, // número da ID referente ao carnê\\n    \\\"status\\\": \\\"active\\\", // carnê ativo\\n    \\\"repeats\\\": 3, // número de parcelas do carnê\\n    \\\"cover\\\": \\\"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CC-93084-134363-CHOCA3\\\", // link HTTP da capa do carnê\\n    \\\"value\\\": 22500, // valor, em centavos, por exemplo: 22500 equivale a R$ 225,00\\n    \\\"custom_id\\\": null, // identificador próprio opcional\\n    \\\"notification_url\\\": null, // link URL de notificação\\n    \\\"split_items\\\": false, // dividir itens entre as parcelas (Boolean). Define se os itens do carnê serão divididos entre as parcelas (true), ou se o valor de cada parcela será o valor total dos itens (false)\\n    \\\"charges\\\": [\\n      {\\n        \\\"charge_id\\\": 184208, // número da ID referente à transação gerada\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"url\\\": \\\"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CL-93084-134363-CHOCA3/93084-134363-CHOCA3\\\", // link HTTP da primeira parcela do carnê\\n        \\\"barcode\\\": \\\"00000.00000 00000.000000 00000.000000 0 00000000000000\\\", // código de barras do boleto da primeira parcela\\n        \\\"parcel\\\": 1, // número da parcela do carnê\\n        \\\"expire_at\\\": \\\"2017-08-20\\\", // data de vencimento da primeira parcela do carnê\\n        \\\"configurations\\\": {\\n          \\\"interest\\\": 33, // valor cobrado de juros por dia após a data de vencimento\\n          \\\"fine\\\": 200 // valor cobrado de multa após o vencimento\\n        }\\n      },\\n      {\\n        \\\"charge_id\\\": 184209, // número da ID referente à transação gerada\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"url\\\": \\\"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CL-93084-134363-CHOCA3/93084-134364-XICOR1\\\", // link HTTP da segunda parcela do carnê\\n        \\\"barcode\\\": \\\"00000.00000 00000.000000 00000.000000 0 00000000000000\\\", // código de barras do boleto da segunda parcela\\n        \\\"parcel\\\": 2, // número da parcela do carnê\\n        \\\"expire_at\\\": \\\"2017-09-20\\\", // data de vencimento da segunda parcela do carnê\\n        \\\"configurations\\\": {\\n          \\\"interest\\\": 33, // valor cobrado de juros por dia após a data de vencimento\\n          \\\"fine\\\": 200 // valor cobrado de multa após o vencimento\\n        }\\n      },\\n      {\\n        \\\"charge_id\\\": 184210, // número da ID referente à transação gerada\\n        \\\"status\\\": \\\"waiting\\\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\\n        \\\"url\\\": \\\"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CL-93084-134363-CHOCA3/93084-134365-HIDA8\\\", // link HTTP da terceira parcela do carnê\\n        \\\"barcode\\\": \\\"00000.00000 00000.000000 00000.000000 0 00000000000000\\\", // código de barras do boleto da terceira parcela\\n        \\\"parcel\\\": 3, // número da parcela do carnê\\n        \\\"expire_at\\\": \\\"2017-10-20\\\", // data de vencimento da terceira parcela do carnê\\n        \\\"configurations\\\": {\\n          \\\"interest\\\": 33, // valor cobrado de juros por dia após a data de vencimento\\n          \\\"fine\\\": 200 // valor cobrado de multa após o vencimento\\n        }\\n      }\\n    ],\\n    \\\"created_at\\\": \\\"2017-02-08 09:21:36\\\",\\n    \\\"history\\\": [ // propriedades abaixo com todo o histórico deste carnê\\n      {\\n        \\\"message\\\": \\\"Carnê ativo\\\",\\n        \\\"created_at\\\": \\\"2017-02-08 09:21:36\\\"\\n      }\\n    ]\\n  }\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    }\n  ]\n}\n[/block]\nEsse JSON retorna informações de um carnê criado em Playground, conforme pode ser observado na aba \"Dados de Saída\".\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_metadata\"><span class=\"put\">PUT</span></a><strong class=\"text-endpoint\">/carnet/:id/metadata</strong></div>\n\nPermite incluir em um carnê informações como <code>notification_url</code> e <code>custom_id</code>. Para isso, você precisa informar o <code>carnet_id</code> do carnê existente no qual deseja incluir essas informações. Segue abaixo detalhes sobre as duas tags em questão:\n\n- <code>notification_url</code>: é um endereço de sua URL válida que receberá as notificações de mudanças de status das transações. As confirmações, falhas ou qualquer tipo de alteração de status serão informadas à URL fornecida na geração da transação;\n\n- <code>custom_id</code>: permite associar uma transação Gerencianet a uma ID específica de seu sistema ou aplicação, permitindo identificá-la caso você possua uma identificação específica e queira mantê-la.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/metadata</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/cJX9QumlTcOniH2o5ip7_fe22d560346c4efd88e469e4c9935f4c.png\",\n        \"fe22d560346c4efd88e469e4c9935f4c.png\",\n        \"1417\",\n        \"398\",\n        \"#d69131\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para alterar a URL de notificação e o custom_id de um carnê já existente no Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"notification_url\\\": \\\"htttp://www.meusite.com.br/notificacoes/\\\",\\n  \\\"custom_id\\\": \\\"258789877\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    },\n    {\n      \"code\": \"{\\n  \\\"type\\\": \\\"object\\\",\\n  \\\"minProperties\\\": 1,\\n  \\\"id\\\": \\\"/CarnetMetadataUpdate\\\",\\n  \\\"properties\\\": {\\n    \\\"notification_url\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"format\\\": \\\"uri\\\",\\n      \\\"minLength\\\": \\\"1\\\",\\n      \\\"maxLength\\\": \\\"255\\\"\\n    },\\n    \\\"custom_id\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"minLength\\\": \\\"1\\\",\\n      \\\"maxLength\\\": \\\"255\\\",\\n      \\\"pattern\\\": \\\"^[a-zA-Z0-9\\\\\\\\_\\\\\\\\-\\\\\\\\s]+$\\\"\\n    }\\n  }\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Schema\"\n    }\n  ]\n}\n[/block]\nEsse JSON permite alterar a URL de notificação e o custom_id de um determinado carnê.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_parcel_parcel\"><span class=\"put\">PUT</span></a><strong class=\"text-endpoint\">/carnet/:id/parcel/:parcel</strong></div>\n\nPossibilita alterar a data de vencimento de uma determinada parcela de um carnê. Para tal, é necessário que você informe o <code>carnet_id</code>, a parcela que deseja e a <code>expire_at</code> (nova data de vencimento, no formato <code>YYYY-MM-DD</code>).\n\nSomente parcelas que estejam com status <code>waiting</code> (aguardando) ou <code>unpaid</code> (não pago) podem ter suas datas de vencimento alteradas.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/parcel/:parcel</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/d6S3qHYuTMi6kWbemNet_0562b15bc885466b845f6200b0c9a366.png\",\n        \"0562b15bc885466b845f6200b0c9a366.png\",\n        \"1434\",\n        \"429\",\n        \"#da902e\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que permite alterar a data de vencimento de uma determinada parcela de um carnê. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que você deve informar o <code>carnet_id</code> e o número da parcela que deseja alterar o vencimento.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"expire_at\\\": \\\"2018-12-30\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    },\n    {\n      \"code\": \"{\\n  \\\"id\\\": \\\"/CarnetParcelUpdate\\\",\\n  \\\"type\\\": \\\"object\\\",\\n  \\\"properties\\\": {\\n    \\\"expire_at\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"pattern\\\": \\\"^[12][0-9]{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$\\\"\\n    }\\n  },\\n  \\\"required\\\": [\\n    \\\"expire_at\\\"\\n  ]\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Schema\"\n    }\n  ]\n}\n[/block]\nEsse JSON realiza a alteração da data de vencimento de um boleto no Playground, alterando para a data 30/12/2018 o vencimento de uma determinada parcela de um carnê.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_cancel\"><span class=\"put\">PUT</span></a><strong class=\"text-endpoint\">/carnet/:id/cancel</strong></div>\n\nPossibilita efetuar o cancelamento de um determinado carnê. Para isso, você deve informar o <code>carnet_id</code> que deseja efetuar o cancelamento.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/cancel</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/NUukOsrvToyK31q9V2kb_c819c30ed6e7467fa1078a02e6fac929.png\",\n        \"c819c30ed6e7467fa1078a02e6fac929.png\",\n        \"1434\",\n        \"123\",\n        \"#f7871d\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para cancelar um determinado carnê. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Parâmetro de entrada: informe a \\\"carnet_id\\\" do carnê desejado\",\n      \"language\": \"text\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    }\n  ]\n}\n[/block]\nEsse JSON efetua o cancelamento de um determinado carnê criado em Playground.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_parcel_parcel_cancel\"><span class=\"put\">PUT</span></a><strong class=\"text-endpoint\">/carnet/:id/parcel/:parcel/cancel</strong></div>\n\nPossibilita efetuar o cancelamento de uma parcela específica de um carnê existente. Para isso, você deve informar o <code>carnet_id</code> e o número da parcela que deseja efetuar o cancelamento.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/parcel/:parcel/cancel</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/2OMtigeRTVintr7cvFxC_8ef61b22e245413eb3045c54ed4a4cd9.png\",\n        \"8ef61b22e245413eb3045c54ed4a4cd9.png\",\n        \"1432\",\n        \"153\",\n        \"#f28824\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para cancelar uma parcela específica de um carnê existente. Além disso, é possível observar a saída prevista disponível para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> e o número da parcela do carnê:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Parâmetro de entrada: informe o \\\"carnet_id\\\" e o \\\"número da parcela\\\" do carnê\",\n      \"language\": \"text\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    }\n  ]\n}\n[/block]\nEsse JSON permite cancelar uma parcela específica de um carnê existente e que foi criado em Playground.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_resend\"><span class=\"post\">POST</span></a><strong class=\"text-endpoint\">/carnet/:id/resend</strong></div>\n\nEste método possibilita que o carnê seja reenviado para um endereço de email. É preciso que você informe o <code>carnet_id</code> do carnê desejado.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet/:id/resend</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/045lJwItRD6KBpKUjuAA_092014167a084e37b7552fc3716028c3.png\",\n        \"092014167a084e37b7552fc3716028c3.png\",\n        \"1416\",\n        \"394\",\n        \"#4e875b\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para reenviar por email um determinado carnê criado em Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"email\\\": \\\"email_do_cliente@servidor.com.br\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    },\n    {\n      \"code\": \"{\\n  \\\"id\\\": \\\"/CarnetResend\\\",\\n  \\\"type\\\": \\\"object\\\",\\n  \\\"properties\\\": {\\n    \\\"email\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"maxLength\\\": 255,\\n      \\\"pattern\\\": \\\"^[A-Za-z0-9_\\\\\\\\-]+(?:[.][A-Za-z0-9_\\\\\\\\-]+)*@[A-Za-z0-9_]+(?:[-.][A-Za-z0-9_]+)*\\\\\\\\.[A-Za-z0-9_]+$\\\"\\n    }\\n  },\\n  \\\"required\\\": [\\n    \\\"email\\\"\\n  ]\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Schema\"\n    }\n  ]\n}\n[/block]\nEsse JSON define que o endereço \"email_do_cliente@servidor.com.br\" receberá uma segunda via de um determinado carnê que foi criado em Playground.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_parcel_parcel_resend\"><span class=\"post\">POST</span></a><strong class=\"text-endpoint\">/carnet/:id/parcel/:parcel/resend</strong></div>\n\nEste método possibilita que uma determinada parcela de um carnê seja reenviado para um endereço de e-mail. Para tal, você deve informar o <code>carnet_id</code> desejado.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet/:id/parcel/:parcel/resend</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/5VH9L8voTIOu5oUEseCR_2ab8612babbc4db4ae7e226171cb3792.png\",\n        \"2ab8612babbc4db4ae7e226171cb3792.png\",\n        \"1416\",\n        \"427\",\n        \"#ca8639\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para reenviar por email um determinado carnê criado em Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> e o número da parcela que você deseja reenviar:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"email\\\": \\\"email_do_cliente@servidor.com.br\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    },\n    {\n      \"code\": \"{\\n  \\\"id\\\": \\\"/CarnetParcelResend\\\",\\n  \\\"type\\\": \\\"object\\\",\\n  \\\"properties\\\": {\\n    \\\"email\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"maxLength\\\": 255,\\n      \\\"pattern\\\": \\\"^[A-Za-z0-9_\\\\\\\\-]+(?:[.][A-Za-z0-9_\\\\\\\\-]+)*@[A-Za-z0-9_]+(?:[-.][A-Za-z0-9_]+)*\\\\\\\\.[A-Za-z0-9_]+$\\\"\\n    }\\n  },\\n  \\\"required\\\": [\\n    \\\"email\\\"\\n  ]\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Schema\"\n    }\n  ]\n}\n[/block]\nEsse JSON define que o endereço \"email_do_cliente@servidor.com.br\" receberá uma segunda via de uma determinada parcela de um carnê que foi criado em Playground.\n\n<br>\n<hr>\n\n<div class=\"distancia_top\"><a name=\"carnet_id_history\"><span class=\"post\">POST</span></a><strong class=\"text-endpoint\">/carnet/:id/history</strong></div>\n\nO histórico de um carnê é semelhante ao histórico de uma transação. Porém, ele reflete as ações que o carnê em si sofreu. E, da mesma forma, é possível adicionar mensagens personalizadas ao histórico de um carnê, sem que estas, contudo, influenciem no fluxo do mesmo.\n\nPara tal, você deve informar o <code>carnet_id</code> do carnê desejado. Essa descrição deve possuir no mínimo um caractere e no máximo 255 caracteres.\n\nNa imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet/:id/history</code> que estão disponíveis para utilização:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/Hctr9AK2TdqJLZEdANTc_34debf18f3fb44e1a9852eec51d7a6f6.png\",\n        \"34debf18f3fb44e1a9852eec51d7a6f6.png\",\n        \"1434\",\n        \"397\",\n        \"#4f8761\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nA seguir, um JSON simples que pode ser utilizado para acrescentar uma descrição a um determinado carnê no Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"description\\\": \\\"Camisa Polo tamanho G cor azul\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Entrada\"\n    },\n    {\n      \"code\": \"{\\n  \\\"code\\\": 200 // retorno HTTP \\\"200\\\" informando que o pedido foi bem sucedido\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Dados de Saída\"\n    },\n    {\n      \"code\": \"{\\n  \\\"type\\\": \\\"object\\\",\\n  \\\"id\\\": \\\"/CarnetHistory\\\",\\n  \\\"properties\\\": {\\n    \\\"description\\\": {\\n      \\\"type\\\": \\\"string\\\",\\n      \\\"maxLength\\\": \\\"255\\\",\\n      \\\"minLength\\\": \\\"1\\\"\\n    }\\n  },\\n  \\\"required\\\": [\\n    \\\"description\\\"\\n  ]\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Schema\"\n    }\n  ]\n}\n[/block]\nEsse JSON acrescenta a descrição \"Camisa Polo tamanho G cor azul\" em um determinado carnê que foi criado no Playground.","excerpt":"Você está em: *\"Ambiente de Testes > Playground: Carnês\"*","slug":"playground-carnes","type":"basic","title":"Playground: Carnês"}

Playground: Carnês

Você está em: *"Ambiente de Testes > Playground: Carnês"*

Para acessar o ambiente de testes você precisa de uma conta Gerencianet. <a href="https://gerencianet.com.br/#abrirconta" title="Cadastro ao nosso sistema, seja nosso cliente" target="_blank">Crie sua conta</a>. O Playground (também chamado de "sandbox") é um ambiente de desenvolvimento/testes no qual o integrador, independente da operação a ser realizada, pode utilizar para conhecer o mecanismo e o fluxo de pagamento em um ambiente 100% de teste e descomplicado. [Conheça mais](https://dev.gerencianet.com.br/docs/playground) sobre o Playground oferecido pela Gerencianet. Um carnê é um conjunto de transações (parcelas) geradas em lote e com forma de pagamento já definida. As parcelas de um carnê vencem mensalmente, de acordo com a data definida pelo integrador. [Para gerar um carnê](https://dev.gerencianet.com.br/docs/playground-carnes#carnet), você precisa informar os seguintes dados: - Itens (ou serviço) oferecido; - Data de vencimento da 1ª parcela; - Número de parcelas (repetições). Se você quiser, também é possível definir algumas informações adicionais, metadata (URL de notificação ou custom_id), se o valor total deve ser dividido entre todas as parcelas ou se cada parcela deve possuir o valor, inserir instruções no carnê (no máximo 4 linhas), etc. ## Índice contendo os endpoints listados no Playground, modalidade *"Carnês"* <ul><li><div class=""><span class="post">POST</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet">/carnet</a> <em>(cria um carnê)</em></div></li><li><div class=""><span class="get">GET</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id">/carnet/:id</a> <em>(retorna informações de carnê existente)</em></div></li><li><div class=""><span class="put">PUT</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_metadata">/carnet/:id/metadata</a> <em>(incluir "notification_url" e "custom_id" em um carnê existente)</em></div></li><li><div class=""><span class="put">PUT</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_parcel_parcel">/carnet/:id/parcel/:parcel</a> <em>(alterar data de vencimento de parcela específica de um carnê)</em></div></li><li><div class=""><span class="put">PUT</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_cancel">/carnet/:id/cancel</a> <em>(cancela um determinado carnê)</em></div></li><li><div class=""><span class="put">PUT</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_parcel_parcel_cancel">/carnet/:id/parcel/:parcel/cancel</a> <em>(cancelamento de parcela específica de um carnê existente)</em></div></li><li><div class=""><span class="post">POST</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_resend">/carnet/:id/resend</a> <em>(reenvio por email um carnê)</em></div></li><li><div class=""><span class="post">POST</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_parcel_parcel_resend">/carnet/:id/parcel/:parcel/resend</a> <em>(reenviar por email determinada parcela de um carnê)</em></div></li><li><div class=""><span class="post">POST</span> <a href="https://dev.gerencianet.com.br/docs/playground-carnes#carnet_id_history">/carnet/:id/history</a> <em>(acrescentar descrição ao histórico de um carnê)</em></div></li></ul> <br> <hr> <div class="distancia_top"><a name="carnet"><span class="post">POST</span></a><strong class="text-endpoint">/carnet</strong></div> Utilizado para geração de um conjunto de transações (parcelas) geradas em lote e com uma forma de pagamento já definida. As parcelas de um carnê vencem mensalmente, de acordo com a data definida pelo integrador. Um carnê possui o status <code>active</code> (ativo) até o vencimento da última parcela. Os principais atributos da geração de um carnê são: - <code>Item</code>: item que está sendo vendido; - <code>Customer</code>: dados pessoais do pagador; - <code>Expire_at</code>: vencimento da primeira parcela do carnê; e - <code>Repeats</code>: número de parcelas do carnê. Ainda cabe frisar que cada carnê gerado possui uma identificação única denominada <code>carnet_id</code>, e cada parcela desse carnê também possuem um identificador único denominado <code>charge_id</code>. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/pIyQDaL6S4OwBdknBqwI_e6eff646f4a44b0187081b7b13463257.png", "e6eff646f4a44b0187081b7b13463257.png", "1435", "370", "#c48a39", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para criar um carnê no Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método: [block:code] { "codes": [ { "code": "{\n \"items\": [\n {\n \"name\": \"Meu Produto\",\n \"value\": 7500,\n \"amount\": 1\n }\n ],\n \"customer\": {\n \"name\": \"Gorbadoc Oldbuck\",\n \"cpf\": \"94271564656\",\n \"phone_number\": \"5144916523\"\n },\n \"expire_at\": \"2018-12-20\",\n \"configurations\": {\n \"fine\": 200,\n \"interest\": 33\n },\n \"message\": \"Este é um espaço de até 80 caracteres para informar algo a seu cliente\",\n \"repeats\": 5,\n \"split_items\": false\n}", "language": "json", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200, // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n \"data\": {\n \"carnet_id\": numero_id_carne, // identificador único do carnê\n \"status\": \"active\", // status do carnê - active (ativo) ou expired (expirado)\n \"cover\": \"link_capa_do_carne\", // link para visualização da capa do carnê\n \"link\": \"link_com_boletos\", // link contendo os boletos, de acordo as repetições\n \"charges\": [\n {\n \"charge_id\": id_parcela, // identificador único da primeira parcela do carnê\n \"parcel\": \"1\", // número da parcela do carnê\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"value\": 7500, // valor, em centavos, da primeira parcela do carnê (7500 equivale a R$ 75,00)\n \"expire_at\": \"2018-12-20\", // data de vencimento do boleto no seguinte formato: 2018-12-30\n \"url\": \"link_boleto_primeira_parcela\", // link do boleto da primeira parcela\n \"barcode\": \"codigo_de_barras\" // código de barras do boleto da primeira parcela\n },\n {\n \"charge_id\": id_parcela, // número identificador único da segunda parcela do carnê\n \"parcel\": \"2\", // número da parcela do carnê\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"value\": 7500, // valor, em centavos, da segunda parcela do carnê (7500 equivale a R$ 75,00)\n \"expire_at\": \"2019-01-20\", // data de vencimento do boleto no seguinte formato: 2019-01-20\n \"url\": \"link_boleto_segunda_parcela\", // link do boleto da segunda parcela\n \"barcode\": \"codigo_de_barras\" // código de barras do boleto da segunda parcela\n },\n {\n \"charge_id\": id_parcela, // identificador único da terceira parcela do carnê\n \"parcel\": \"3\", // número da parcela do carnê\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"value\": 7500, // valor, em centavos, da terceira parcela do carnê (7500 equivale a R$ 75,00)\n \"expire_at\": \"2019-02-20\", // data de vencimento do boleto no seguinte formato: 2019-02-20\n \"url\": \"link_boleto_terceira_parcela\", // link do boleto da terceira parcela\n \"barcode\": \"codigo_de_barras\" // código de barras do boleto da terceira parcela\n },\n {\n \"charge_id\": id_parcela, // identificador único da quarta parcela do carnê\n \"parcel\": \"4\", // número da parcela do carnê\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"value\": 7500, // valor, em centavos, da quarta parcela do carnê (7500 equivale a R$ 75,00)\n \"expire_at\": \"2019-03-20\", // data de vencimento do boleto no seguinte formato: 2019-03-20\n \"url\": \"link_boleto_quarta_parcela\", // link do boleto da quarta parcela\n \"barcode\": \"codigo_de_barras\" // código de barras do boleto da quarta parcela\n },\n {\n \"charge_id\": id_parcela, // identificador único da quinta parcela do carnê\n \"parcel\": \"5\", // número da parcela do carnê\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"value\": 7500, // valor, em centavos, da quinta parcela do carnê (7500 equivale a R$ 75,00)\n \"expire_at\": \"2019-04-20\", // data de vencimento do boleto no seguinte formato: 2019-04-20\n \"url\": \"link_boleto_quinta_parcela\", // link do boleto da quinta parcela\n \"barcode\": \"codigo_de_barras\" // código de barras do boleto da quinta parcela\n }\n ]\n }\n}", "language": "json", "name": "Dados de Saída" }, { "code": "{\n \"id\": \"/Carnet\",\n \"type\": \"object\",\n \"properties\": {\n \"items\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"value\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"amount\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"exclusiveMinimum\": false\n }\n },\n \"required\": [\n \"name\",\n \"value\"\n ]\n }\n },\n \"customer\": {\n \"type\": \"object\",\n \"id\": \"/BasicCustomer\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 255,\n \"pattern\": \"^[ ]*(.+[ ]+)+.+[ ]*$\"\n },\n \"cpf\": {\n \"type\": \"string\",\n \"minLength\": 11,\n \"maxLength\": 11\n },\n \"email\": {\n \"type\": \"string\",\n \"maxLength\": 255,\n \"pattern\": \"^[A-Za-z0-9_\\\\-]+(?:[.][A-Za-z0-9_\\\\-]+)*@[A-Za-z0-9_]+(?:[-.][A-Za-z0-9_]+)*\\\\.[A-Za-z0-9_]+$\"\n },\n \"phone_number\": {\n \"type\": \"string\",\n \"pattern\": \"^[1-9]{2}9?[0-9]{8}$\"\n },\n \"birth\": {\n \"type\": \"string\",\n \"pattern\": \"^[12][0-9]{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$\"\n },\n \"address\": {\n \"type\": \"object\",\n \"id\": \"/Address\",\n \"properties\": {\n \"street\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 200\n },\n \"number\": {\n \"type\": [\n \"string\",\n \"integer\"\n ],\n \"minLength\": 1,\n \"maxLength\": 55\n },\n \"neighborhood\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 255\n },\n \"zipcode\": {\n \"type\": \"string\",\n \"pattern\": \"^[0-9]{8}$\"\n },\n \"city\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 255\n },\n \"complement\": {\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"minLength\": 0,\n \"maxLength\": 45\n },\n \"state\": {\n \"type\": \"string\",\n \"pattern\": \"^(?:A[CLPM]|BA|CE|DF|ES|GO|M[ATSG]|P[RBAEI]|R[JNSOR]|S[CEP]|TO)$\"\n }\n },\n \"required\": [\n \"street\",\n \"number\",\n \"neighborhood\",\n \"zipcode\",\n \"city\",\n \"state\"\n ]\n },\n \"juridical_person\": {\n \"type\": \"object\",\n \"id\": \"/JuridicalPerson\",\n \"properties\": {\n \"corporate_name\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 255,\n \"pattern\": \"^[ ]*(.+[ ]+)+.+[ ]*$\"\n },\n \"cnpj\": {\n \"type\": \"string\",\n \"minLength\": 14,\n \"maxLength\": 14\n }\n },\n \"required\": [\n \"corporate_name\",\n \"cnpj\"\n ]\n }\n },\n \"required\": [\n \"phone_number\"\n ]\n },\n \"expire_at\": {\n \"type\": \"string\",\n \"pattern\": \"^[12][0-9]{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$\"\n },\n \"repeats\": {\n \"type\": \"integer\",\n \"minimum\": 2,\n \"maximum\": 12,\n \"exclusiveMinimum\": false,\n \"exclusiveMaximum\": false\n },\n \"split_items\": {\n \"type\": \"boolean\"\n },\n \"metadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"custom_id\": {\n \"type\": [\n \"string\",\n \"null\"\n ]\n },\n \"notification_url\": {\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"format\": \"uri\"\n }\n }\n },\n \"instructions\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 4,\n \"items\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 90\n }\n },\n \"configurations\": {\n \"type\": \"object\",\n \"minProperties\": 1,\n \"properties\": {\n \"fine\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 1000\n },\n \"interest\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 330\n }\n }\n },\n \"message\": {\n \"type\": \"string\",\n \"minLength\": 3,\n \"maxLength\": 80\n }\n },\n \"required\": [\n \"items\",\n \"customer\",\n \"expire_at\",\n \"repeats\"\n ]\n}", "language": "json", "name": "Schema" } ] } [/block] Esse JSON cria um carnê, em que o nome do produto/serviço é "Meu Produto", valor R$ 75,00 e quantidade 1, com os dados do comprador, a data de vencimento da primeira parcela em 20/12/2018 e contendo 5 parcelas (em meses). Ou seja, é um carnê contendo 5 parcelas de R$ 75,00, perfazendo um valor total de R$ 375,00, com a primeira parcela de R$ 75,00 vencendo em 20/12/2018, a segunda em 20/01/2019, e assim sucessivamente. Além disso, estamos usando uma mensagem de até 80 caracteres para informar algo ao cliente, e se a lâmina for paga após o vencimento, será cobrado 2% de multa e 0,033% de juros por dia. <br> <hr> <div class="distancia_top"><a name="carnet_id"><span class="get">GET</span></a><strong class="text-endpoint">/carnet/:id</strong></div> Retorna informações sobre um carnê criado. Cada transação criada via carnê possui uma única chave identificadora que a identifica. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>GET /carnet/:id</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/Hl63OTvXTKOpx94PDqhn_c00f0b34a29744c9bb1e09b9918c62d2.png", "c00f0b34a29744c9bb1e09b9918c62d2.png", "1430", "123", "#11aac2", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para retornar informações sobre um carnê criado em Playground. Além disso, é possível observar a saída prevista disponível para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado: [block:code] { "codes": [ { "code": "Parâmetro de entrada: informe o \"carnet_id\" do carnê criado", "language": "text", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200, // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n \"data\": {\n \"carnet_id\": 14196, // número da ID referente ao carnê\n \"status\": \"active\", // carnê ativo\n \"repeats\": 3, // número de parcelas do carnê\n \"cover\": \"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CC-93084-134363-CHOCA3\", // link HTTP da capa do carnê\n \"value\": 22500, // valor, em centavos, por exemplo: 22500 equivale a R$ 225,00\n \"custom_id\": null, // identificador próprio opcional\n \"notification_url\": null, // link URL de notificação\n \"split_items\": false, // dividir itens entre as parcelas (Boolean). Define se os itens do carnê serão divididos entre as parcelas (true), ou se o valor de cada parcela será o valor total dos itens (false)\n \"charges\": [\n {\n \"charge_id\": 184208, // número da ID referente à transação gerada\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"url\": \"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CL-93084-134363-CHOCA3/93084-134363-CHOCA3\", // link HTTP da primeira parcela do carnê\n \"barcode\": \"00000.00000 00000.000000 00000.000000 0 00000000000000\", // código de barras do boleto da primeira parcela\n \"parcel\": 1, // número da parcela do carnê\n \"expire_at\": \"2017-08-20\", // data de vencimento da primeira parcela do carnê\n \"configurations\": {\n \"interest\": 33, // valor cobrado de juros por dia após a data de vencimento\n \"fine\": 200 // valor cobrado de multa após o vencimento\n }\n },\n {\n \"charge_id\": 184209, // número da ID referente à transação gerada\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"url\": \"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CL-93084-134363-CHOCA3/93084-134364-XICOR1\", // link HTTP da segunda parcela do carnê\n \"barcode\": \"00000.00000 00000.000000 00000.000000 0 00000000000000\", // código de barras do boleto da segunda parcela\n \"parcel\": 2, // número da parcela do carnê\n \"expire_at\": \"2017-09-20\", // data de vencimento da segunda parcela do carnê\n \"configurations\": {\n \"interest\": 33, // valor cobrado de juros por dia após a data de vencimento\n \"fine\": 200 // valor cobrado de multa após o vencimento\n }\n },\n {\n \"charge_id\": 184210, // número da ID referente à transação gerada\n \"status\": \"waiting\", // forma de pagamento selecionada, aguardando a confirmação do pagamento\n \"url\": \"https://visualizacaosandbox.gerencianet.com.br/emissao/93084_624_DOCOR0/A4CL-93084-134363-CHOCA3/93084-134365-HIDA8\", // link HTTP da terceira parcela do carnê\n \"barcode\": \"00000.00000 00000.000000 00000.000000 0 00000000000000\", // código de barras do boleto da terceira parcela\n \"parcel\": 3, // número da parcela do carnê\n \"expire_at\": \"2017-10-20\", // data de vencimento da terceira parcela do carnê\n \"configurations\": {\n \"interest\": 33, // valor cobrado de juros por dia após a data de vencimento\n \"fine\": 200 // valor cobrado de multa após o vencimento\n }\n }\n ],\n \"created_at\": \"2017-02-08 09:21:36\",\n \"history\": [ // propriedades abaixo com todo o histórico deste carnê\n {\n \"message\": \"Carnê ativo\",\n \"created_at\": \"2017-02-08 09:21:36\"\n }\n ]\n }\n}", "language": "json", "name": "Dados de Saída" } ] } [/block] Esse JSON retorna informações de um carnê criado em Playground, conforme pode ser observado na aba "Dados de Saída". <br> <hr> <div class="distancia_top"><a name="carnet_id_metadata"><span class="put">PUT</span></a><strong class="text-endpoint">/carnet/:id/metadata</strong></div> Permite incluir em um carnê informações como <code>notification_url</code> e <code>custom_id</code>. Para isso, você precisa informar o <code>carnet_id</code> do carnê existente no qual deseja incluir essas informações. Segue abaixo detalhes sobre as duas tags em questão: - <code>notification_url</code>: é um endereço de sua URL válida que receberá as notificações de mudanças de status das transações. As confirmações, falhas ou qualquer tipo de alteração de status serão informadas à URL fornecida na geração da transação; - <code>custom_id</code>: permite associar uma transação Gerencianet a uma ID específica de seu sistema ou aplicação, permitindo identificá-la caso você possua uma identificação específica e queira mantê-la. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/metadata</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/cJX9QumlTcOniH2o5ip7_fe22d560346c4efd88e469e4c9935f4c.png", "fe22d560346c4efd88e469e4c9935f4c.png", "1417", "398", "#d69131", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para alterar a URL de notificação e o custom_id de um carnê já existente no Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado: [block:code] { "codes": [ { "code": "{\n \"notification_url\": \"htttp://www.meusite.com.br/notificacoes/\",\n \"custom_id\": \"258789877\"\n}", "language": "json", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" }, { "code": "{\n \"type\": \"object\",\n \"minProperties\": 1,\n \"id\": \"/CarnetMetadataUpdate\",\n \"properties\": {\n \"notification_url\": {\n \"type\": \"string\",\n \"format\": \"uri\",\n \"minLength\": \"1\",\n \"maxLength\": \"255\"\n },\n \"custom_id\": {\n \"type\": \"string\",\n \"minLength\": \"1\",\n \"maxLength\": \"255\",\n \"pattern\": \"^[a-zA-Z0-9\\\\_\\\\-\\\\s]+$\"\n }\n }\n}", "language": "json", "name": "Schema" } ] } [/block] Esse JSON permite alterar a URL de notificação e o custom_id de um determinado carnê. <br> <hr> <div class="distancia_top"><a name="carnet_id_parcel_parcel"><span class="put">PUT</span></a><strong class="text-endpoint">/carnet/:id/parcel/:parcel</strong></div> Possibilita alterar a data de vencimento de uma determinada parcela de um carnê. Para tal, é necessário que você informe o <code>carnet_id</code>, a parcela que deseja e a <code>expire_at</code> (nova data de vencimento, no formato <code>YYYY-MM-DD</code>). Somente parcelas que estejam com status <code>waiting</code> (aguardando) ou <code>unpaid</code> (não pago) podem ter suas datas de vencimento alteradas. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/parcel/:parcel</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/d6S3qHYuTMi6kWbemNet_0562b15bc885466b845f6200b0c9a366.png", "0562b15bc885466b845f6200b0c9a366.png", "1434", "429", "#da902e", "" ] } ] } [/block] A seguir, um JSON simples que permite alterar a data de vencimento de uma determinada parcela de um carnê. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que você deve informar o <code>carnet_id</code> e o número da parcela que deseja alterar o vencimento. [block:code] { "codes": [ { "code": "{\n \"expire_at\": \"2018-12-30\"\n}", "language": "json", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" }, { "code": "{\n \"id\": \"/CarnetParcelUpdate\",\n \"type\": \"object\",\n \"properties\": {\n \"expire_at\": {\n \"type\": \"string\",\n \"pattern\": \"^[12][0-9]{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$\"\n }\n },\n \"required\": [\n \"expire_at\"\n ]\n}", "language": "json", "name": "Schema" } ] } [/block] Esse JSON realiza a alteração da data de vencimento de um boleto no Playground, alterando para a data 30/12/2018 o vencimento de uma determinada parcela de um carnê. <br> <hr> <div class="distancia_top"><a name="carnet_id_cancel"><span class="put">PUT</span></a><strong class="text-endpoint">/carnet/:id/cancel</strong></div> Possibilita efetuar o cancelamento de um determinado carnê. Para isso, você deve informar o <code>carnet_id</code> que deseja efetuar o cancelamento. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/cancel</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/NUukOsrvToyK31q9V2kb_c819c30ed6e7467fa1078a02e6fac929.png", "c819c30ed6e7467fa1078a02e6fac929.png", "1434", "123", "#f7871d", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para cancelar um determinado carnê. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método: [block:code] { "codes": [ { "code": "Parâmetro de entrada: informe a \"carnet_id\" do carnê desejado", "language": "text", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" } ] } [/block] Esse JSON efetua o cancelamento de um determinado carnê criado em Playground. <br> <hr> <div class="distancia_top"><a name="carnet_id_parcel_parcel_cancel"><span class="put">PUT</span></a><strong class="text-endpoint">/carnet/:id/parcel/:parcel/cancel</strong></div> Possibilita efetuar o cancelamento de uma parcela específica de um carnê existente. Para isso, você deve informar o <code>carnet_id</code> e o número da parcela que deseja efetuar o cancelamento. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>PUT /carnet/:id/parcel/:parcel/cancel</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/2OMtigeRTVintr7cvFxC_8ef61b22e245413eb3045c54ed4a4cd9.png", "8ef61b22e245413eb3045c54ed4a4cd9.png", "1432", "153", "#f28824", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para cancelar uma parcela específica de um carnê existente. Além disso, é possível observar a saída prevista disponível para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> e o número da parcela do carnê: [block:code] { "codes": [ { "code": "Parâmetro de entrada: informe o \"carnet_id\" e o \"número da parcela\" do carnê", "language": "text", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" } ] } [/block] Esse JSON permite cancelar uma parcela específica de um carnê existente e que foi criado em Playground. <br> <hr> <div class="distancia_top"><a name="carnet_id_resend"><span class="post">POST</span></a><strong class="text-endpoint">/carnet/:id/resend</strong></div> Este método possibilita que o carnê seja reenviado para um endereço de email. É preciso que você informe o <code>carnet_id</code> do carnê desejado. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet/:id/resend</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/045lJwItRD6KBpKUjuAA_092014167a084e37b7552fc3716028c3.png", "092014167a084e37b7552fc3716028c3.png", "1416", "394", "#4e875b", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para reenviar por email um determinado carnê criado em Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado: [block:code] { "codes": [ { "code": "{\n \"email\": \"email_do_cliente@servidor.com.br\"\n}", "language": "json", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" }, { "code": "{\n \"id\": \"/CarnetResend\",\n \"type\": \"object\",\n \"properties\": {\n \"email\": {\n \"type\": \"string\",\n \"maxLength\": 255,\n \"pattern\": \"^[A-Za-z0-9_\\\\-]+(?:[.][A-Za-z0-9_\\\\-]+)*@[A-Za-z0-9_]+(?:[-.][A-Za-z0-9_]+)*\\\\.[A-Za-z0-9_]+$\"\n }\n },\n \"required\": [\n \"email\"\n ]\n}", "language": "json", "name": "Schema" } ] } [/block] Esse JSON define que o endereço "email_do_cliente@servidor.com.br" receberá uma segunda via de um determinado carnê que foi criado em Playground. <br> <hr> <div class="distancia_top"><a name="carnet_id_parcel_parcel_resend"><span class="post">POST</span></a><strong class="text-endpoint">/carnet/:id/parcel/:parcel/resend</strong></div> Este método possibilita que uma determinada parcela de um carnê seja reenviado para um endereço de e-mail. Para tal, você deve informar o <code>carnet_id</code> desejado. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet/:id/parcel/:parcel/resend</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/5VH9L8voTIOu5oUEseCR_2ab8612babbc4db4ae7e226171cb3792.png", "2ab8612babbc4db4ae7e226171cb3792.png", "1416", "427", "#ca8639", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para reenviar por email um determinado carnê criado em Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> e o número da parcela que você deseja reenviar: [block:code] { "codes": [ { "code": "{\n \"email\": \"email_do_cliente@servidor.com.br\"\n}", "language": "json", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" }, { "code": "{\n \"id\": \"/CarnetParcelResend\",\n \"type\": \"object\",\n \"properties\": {\n \"email\": {\n \"type\": \"string\",\n \"maxLength\": 255,\n \"pattern\": \"^[A-Za-z0-9_\\\\-]+(?:[.][A-Za-z0-9_\\\\-]+)*@[A-Za-z0-9_]+(?:[-.][A-Za-z0-9_]+)*\\\\.[A-Za-z0-9_]+$\"\n }\n },\n \"required\": [\n \"email\"\n ]\n}", "language": "json", "name": "Schema" } ] } [/block] Esse JSON define que o endereço "email_do_cliente@servidor.com.br" receberá uma segunda via de uma determinada parcela de um carnê que foi criado em Playground. <br> <hr> <div class="distancia_top"><a name="carnet_id_history"><span class="post">POST</span></a><strong class="text-endpoint">/carnet/:id/history</strong></div> O histórico de um carnê é semelhante ao histórico de uma transação. Porém, ele reflete as ações que o carnê em si sofreu. E, da mesma forma, é possível adicionar mensagens personalizadas ao histórico de um carnê, sem que estas, contudo, influenciem no fluxo do mesmo. Para tal, você deve informar o <code>carnet_id</code> do carnê desejado. Essa descrição deve possuir no mínimo um caractere e no máximo 255 caracteres. Na imagem a seguir, é possível observar a tela de nosso ambiente de testes no qual constam os recursos atrelados ao método <code>POST /carnet/:id/history</code> que estão disponíveis para utilização: [block:image] { "images": [ { "image": [ "https://files.readme.io/Hctr9AK2TdqJLZEdANTc_34debf18f3fb44e1a9852eec51d7a6f6.png", "34debf18f3fb44e1a9852eec51d7a6f6.png", "1434", "397", "#4f8761", "" ] } ] } [/block] A seguir, um JSON simples que pode ser utilizado para acrescentar uma descrição a um determinado carnê no Playground. Além disso, é possível observar a saída prevista e o schema de validação com todas as tags (obrigatórias e opcionais) disponíveis para este método. Lembrando que também é preciso informar o parâmetro de entrada <code>carnet_id</code> do carnê desejado: [block:code] { "codes": [ { "code": "{\n \"description\": \"Camisa Polo tamanho G cor azul\"\n}", "language": "json", "name": "Dados de Entrada" }, { "code": "{\n \"code\": 200 // retorno HTTP \"200\" informando que o pedido foi bem sucedido\n}", "language": "json", "name": "Dados de Saída" }, { "code": "{\n \"type\": \"object\",\n \"id\": \"/CarnetHistory\",\n \"properties\": {\n \"description\": {\n \"type\": \"string\",\n \"maxLength\": \"255\",\n \"minLength\": \"1\"\n }\n },\n \"required\": [\n \"description\"\n ]\n}", "language": "json", "name": "Schema" } ] } [/block] Esse JSON acrescenta a descrição "Camisa Polo tamanho G cor azul" em um determinado carnê que foi criado no Playground.