{"_id":"57603085c811102000cef308","version":{"_id":"575aeffae12cf20e002f306f","project":"575aeffae12cf20e002f306c","__v":30,"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"},"__v":66,"category":{"_id":"57602fe5b82256240055c657","version":"575aeffae12cf20e002f306f","__v":0,"project":"575aeffae12cf20e002f306c","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-06-14T16:25:09.214Z","from_sync":false,"order":14,"slug":"opções-avançadas","title":"Outros Recursos da API"},"user":"57601a13af3e090e00108059","parentDoc":null,"project":"575aeffae12cf20e002f306c","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-14T16:27:49.219Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"É possível adicionar mensagens personalizadas ao histórico de uma transação ou carnê, sem que estas, contudo, influenciem no fluxo das mesmas, apenas em seus históricos.\n\nO restante desta página apresenta os procedimentos detalhados, mas você precisa instalar uma de nossas bibliotecas em seu servidor para executar os códigos de exemplo. [Certifique-se que a SDK da Gerencianet foi instalada](https://dev.gerencianet.com.br/docs#section-bibliotecas).\n\nVá direto ao ponto ­- utilize o índice abaixo e veja diretamente o que você precisa:\n\n1. [Histórico de uma transação](https://dev.gerencianet.com.br/docs/historico-personalizado#section-1-hist-rico-de-uma-transa-o)\n\n2. [Histórico de um carnê](https://dev.gerencianet.com.br/docs/historico-personalizado#section-2-hist-rico-de-um-carn-)\n\n# 1. Histórico de uma transação\n\nO histórico de uma transação representa todas as ações que ocorreram com esta transação até o presente momento. As mensagens personalizadas não influenciam na transação em si, apenas em seu histórico.\n\nEste pode ser visualizado tanto no detalhamento da transação pela interface quanto usando o *endpoint* de detalhes da transação.\n\nPara isso, basta enviar o identificador <code>charge_id</code> e a mensagem a ser adicionada ao histórico da transação.\n\nPara adicionar mensagens personalizadas no histórico de uma transação, você deve enviar uma requisição <code>POST</code> para a rota <code>/charge/:id/history</code>, onde <code>:id</code> é o <code>charge_id</code> da transação desejada.\n\nO exemplo abaixo mostra como isto pode ser feito, utilizando as SDK's disponíveis:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<?php\\n \\nrequire __DIR__.'/../../vendor/autoload.php'; // caminho relacionado a SDK\\n \\nuse Gerencianet\\\\Exception\\\\GerencianetException;\\nuse Gerencianet\\\\Gerencianet;\\n \\n$clientId = 'your_client_id'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)\\n$clientSecret = 'your_client_secret'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)\\n \\n$options = [\\n  'client_id' => $clientId,\\n  'client_secret' => $clientSecret,\\n  'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)\\n];\\n \\n// $charge_id refere-se ao ID da transação gerada anteriormente\\n$params = [\\n  'id' => $charge_id\\n];\\n \\n$body = [\\n  'description' => 'Custom history' // mensagem que será inserida ao histórico do carnê\\n];\\n \\ntry {\\n    $api = new Gerencianet($options);\\n    $response = $api->createChargeHistory($params, $body);\\n \\n    print_r($response);\\n} catch (GerencianetException $e) {\\n    print_r($e->code);\\n    print_r($e->error);\\n    print_r($e->errorDescription);\\n} catch (Exception $e) {\\n    print_r($e->getMessage());\\n}\\n\",\n      \"language\": \"php\"\n    },\n    {\n      \"code\": \"\\n'use strict';\\n \\nvar Gerencianet = require('gn-api-sdk-node');\\n \\nvar clientId = 'your_client_id';\\nvar clientSecret = 'your_client_secret';\\n \\nvar options = {\\n  client_id: clientId,\\n  client_secret: clientSecret,\\n  sandbox: true\\n}\\n \\nvar params = {\\n  id: 1000\\n}\\n \\nvar body = {\\n  description: 'Custom history'\\n}\\n \\nvar gerencianet = new Gerencianet(options);\\n \\ngerencianet\\n  .createChargeHistory(params, body)\\n  .then(console.log)\\n  .catch(console.log)\\n  .done();\\n\",\n      \"language\": \"javascript\",\n      \"name\": \"NodeJS\"\n    },\n    {\n      \"code\": \"\\nrequire \\\"gerencianet\\\"\\n \\noptions = {\\n  client_id: \\\"client_id\\\",\\n  client_secret: \\\"client_secret\\\",\\n  sandbox: true\\n}\\n \\nparams = {\\n  id: 1000\\n}\\n \\nbody = {\\n  description: 'Custom description'\\n}\\n \\ngerencianet = Gerencianet.new(options)\\ngerencianet.create_charge_history(params: params, body: body)\\n\",\n      \"language\": \"ruby\",\n      \"name\": null\n    },\n    {\n      \"code\": \"\\nfrom gerencianet import Gerencianet\\n \\noptions = {\\n    'client_id': 'client_id',\\n    'client_secret': 'client_secret',\\n    'sandbox': True\\n}\\n \\ngn = Gerencianet(options)\\n \\nparams = {\\n    'id': 1000\\n}\\n \\nbody = {\\n    'description': 'Custom description'\\n}\\n \\ngn.create_carnet_history(params=params, body=body)\\n\",\n      \"language\": \"python\"\n    },\n    {\n      \"code\": \"\\ndynamic endpoints = new Endpoints(\\\"client_id\\\", \\\"client_secret\\\", true);\\n \\nvar params = new {\\n    id = 1000\\n};\\n \\nvar body = new\\n{\\n    description = \\\"This charge was not fully paid\\\"\\n};\\n \\nvar response = endpoints.CreateChargeHistory(params, body);\\n\",\n      \"language\": \"asp\",\n      \"name\": \".NET\"\n    },\n    {\n      \"code\": \"// Para detalhes, acesse o documento específico em nosso Github:\\n// https://github.com/gerencianet/gn-api-sdk-java/blob/master/docs/CHARGE_CREATE_HISTORY.md\",\n      \"language\": \"java\"\n    },\n    {\n      \"code\": \"interface\\nfunction CreateChargeHistory(Id: String): String;\\n\\nimplementation\\nuses uGerenciaClient, uGerenciaNetClientUtilities;\\n{... your code ... }\\n\\nfunction CreateChargeHistory(Id: String): String;\\nvar\\n  Body : String;\\n  UpdateParams : String;\\nbegin\\n    EnableService( 'GerenciaNet.dll' ); \\n    ConfigureService( ToPAnsiChar( 'client_id' ),ToPAnsiChar( 'client_secret' ),'sandbox','config.json',''); \\n    GerenciaNetAuthorize();\\n\\n    UpdateParams := CreateRequestParams( [ 'id='+Id ] ).Text;\\n    Body := '{\\\"description\\\": \\\"This carnet is about a service\\\"}';\\n    Result := ExecuteGerenciaNetRequest( 'createChargeHistory',UpdateParams, '', Body );\\nend;\",\n      \"language\": \"json\",\n      \"name\": \"Delphi\"\n    }\n  ]\n}\n[/block]\n<br>\n\n## a) Estrutura hierárquica dos atributos do Schema que podem ser utilizados:\n\n<pre>\"id\": \"/ChargeHistory\"\n    \"description\"</pre>\n\n<br>\n\n## b) Atributos que podem ser usados para acrescentar mensagens ao histórico da transação:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Atributo\",\n    \"h-1\": \"Descrição\",\n    \"h-2\": \"Obrigatório\",\n    \"h-3\": \"Tipo\",\n    \"0-3\": \"String\",\n    \"0-2\": \"Sim\",\n    \"0-0\": \"<code>id</code>\",\n    \"0-1\": \"Identificador da transação - <code>charge_id</code>\\n\\n<span class=\\\"tab1\\\"><em>Atributos de id</em></span>\\n\\n<div class=\\\"tab2\\\"><code>description</code> // Mensagem que será inserida ao histórico da transação. \\n<strong class=\\\"descricao-atributo\\\"><span class=\\\"atributo\\\">Mínimo de 1 caractere e máximo de 255 caracteres.</span></strong></div>\"\n  },\n  \"cols\": 4,\n  \"rows\": 1\n}\n[/block]\n<br>\n\n<hr>\n\n# 2. Histórico de um carnê\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 isso, basta enviar o identificador <code>carnet_id</code> e a mensagem a ser adicionada ao histórico do carnê.\n\nPara adicionar mensagens personalizadas no histórico de um carnê, você deve enviar uma requisição <code>POST</code> para a rota <code>/carnet/:id/history</code>, onde <code>:id</code> é o <code>carnet_id</code> do carnê desejado.\n\nO exemplo abaixo mostra como isto pode ser feito, utilizando as SDK's disponíveis:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<?php\\n \\nrequire __DIR__.'/../../vendor/autoload.php'; // caminho relacionado a SDK\\n \\nuse Gerencianet\\\\Exception\\\\GerencianetException;\\nuse Gerencianet\\\\Gerencianet;\\n \\n$clientId = 'your_client_id'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)\\n$clientSecret = 'your_client_secret'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)\\n \\n$options = [\\n  'client_id' => $clientId,\\n  'client_secret' => $clientSecret,\\n  'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)\\n];\\n \\n// $charge_id refere-se ao ID da transação gerada anteriormente\\n$params = [\\n  'id' => $charge_id\\n];\\n \\n$body = [\\n  'description' => 'Custom history' // mensagem que será inserida ao histórico do carnê\\n];\\n \\ntry {\\n    $api = new Gerencianet($options);\\n    $response = $api->createCarnetHistory($params, $body);\\n \\n    print_r($response);\\n} catch (GerencianetException $e) {\\n    print_r($e->code);\\n    print_r($e->error);\\n    print_r($e->errorDescription);\\n} catch (Exception $e) {\\n    print_r($e->getMessage());\\n}\",\n      \"language\": \"php\"\n    },\n    {\n      \"code\": \"'use strict';\\n \\nvar Gerencianet = require('gn-api-sdk-node');\\n \\nvar clientId = 'your_client_id';\\nvar clientSecret = 'your_client_secret';\\n \\nvar options = {\\n  client_id: clientId,\\n  client_secret: clientSecret,\\n  sandbox: true\\n}\\n \\nvar params = {\\n  id: 1000\\n}\\n \\nvar body = {\\n  description: 'Custom history'\\n}\\n \\nvar gerencianet = new Gerencianet(options);\\n \\ngerencianet\\n  .createCarnetHistory(params, body)\\n  .then(console.log)\\n  .catch(console.log)\\n  .done();\",\n      \"language\": \"javascript\",\n      \"name\": \"NodeJS\"\n    },\n    {\n      \"code\": \"require \\\"gerencianet\\\"\\n \\noptions = {\\n  client_id: \\\"client_id\\\",\\n  client_secret: \\\"client_secret\\\",\\n  sandbox: true\\n}\\n \\nparams = {\\n  id: 1000\\n}\\n \\nbody = {\\n  description: 'Custom description'\\n}\\n \\ngerencianet = Gerencianet.new(options)\\ngerencianet.create_carnet_history(params: params, body: body)\\n\",\n      \"language\": \"ruby\"\n    },\n    {\n      \"code\": \"\\nfrom gerencianet import Gerencianet\\n \\noptions = {\\n    'client_id': 'client_id',\\n    'client_secret': 'client_secret',\\n    'sandbox': True\\n}\\n \\ngn = Gerencianet(options)\\n \\nparams = {\\n    'id': 1000\\n}\\n \\nbody = {\\n    'description': 'Custom description'\\n}\\n \\ngn.create_charge_history(params=params, body=body)\\n\",\n      \"language\": \"python\"\n    },\n    {\n      \"code\": \"\\ndynamic endpoints = new Endpoints(\\\"client_id\\\", \\\"client_secret\\\", true);\\n \\nvar params = new {\\n    id = 1000\\n};\\n \\nvar body = new\\n{\\n    description = \\\"This carnet is about a service\\\"\\n};\\n \\nvar response = endpoints.CreateCarnetHistory(params, body);\\n\",\n      \"language\": \"asp\",\n      \"name\": \".NET\"\n    },\n    {\n      \"code\": \"// Para detalhes, acesse o documento específico em nosso Github:\\n// https://github.com/gerencianet/gn-api-sdk-java/blob/master/docs/CHARGE_CREATE_HISTORY.md\",\n      \"language\": \"java\"\n    },\n    {\n      \"code\": \"interface\\nfunction CreateCarnetHistory(CarnetID: String):: String;\\n\\nimplementation\\nuses uGerenciaClient, uGerenciaNetClientUtilities;\\n{... your code ... }\\n\\nfunction CreateCarnetHistory(CarnetID: String): String;\\nvar\\n  Body : String;\\n  UpdateParcelParams : String;\\nbegin\\n    EnableService( 'GerenciaNet.dll' ); \\n    ConfigureService( ToPAnsiChar( 'client_id' ),ToPAnsiChar( 'client_secret' ),'sandbox','config.json',''); \\n    GerenciaNetAuthorize();\\n\\n    UpdateParcelParams := CreateRequestParams( [ 'id='+CarnetID ] ).Text;\\n    Body := '{\\\"description\\\": \\\"This carnet is about a service\\\"}';\\n    Result := ExecuteGerenciaNetRequest( 'createCarnetHistory',UpdateParcelParams, '', Body );\\nend;\",\n      \"language\": \"json\",\n      \"name\": \"Delphi\"\n    }\n  ]\n}\n[/block]\n<br>\n\n## a) Estrutura hierárquica dos atributos do Schema que podem ser utilizados:\n\n<pre>\"id\": \"/CarnetHistory\"\n    \"description\"</pre>\n\n<br>\n\n## b) Atributos que podem ser usados para acrescentar mensagens ao histórico de um carnê:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Atributo\",\n    \"h-1\": \"Descrição\",\n    \"h-2\": \"Obrigatório\",\n    \"h-3\": \"Tipo\",\n    \"0-0\": \"<code>id</code>\",\n    \"0-1\": \"Identificador do carnê - <code>carnet_id</code>\\n\\n<span class=\\\"tab1\\\"><em>Atributos de id</em></span>\\n\\n<div class=\\\"tab2\\\"><code>description</code> // Mensagem que será inserida ao histórico do carnê. \\n<strong class=\\\"descricao-atributo\\\"><span class=\\\"atributo\\\">Mínimo de 1 caractere e máximo de 255 caracteres.</span></strong></div>\",\n    \"0-2\": \"Sim\",\n    \"0-3\": \"String\"\n  },\n  \"cols\": 4,\n  \"rows\": 1\n}\n[/block]","excerpt":"Você está em: *\"Outros Recursos da API > Histórico Personalizado\"*","slug":"historico-personalizado","type":"basic","title":"Histórico Personalizado"}

Histórico Personalizado

Você está em: *"Outros Recursos da API > Histórico Personalizado"*

É possível adicionar mensagens personalizadas ao histórico de uma transação ou carnê, sem que estas, contudo, influenciem no fluxo das mesmas, apenas em seus históricos. O restante desta página apresenta os procedimentos detalhados, mas você precisa instalar uma de nossas bibliotecas em seu servidor para executar os códigos de exemplo. [Certifique-se que a SDK da Gerencianet foi instalada](https://dev.gerencianet.com.br/docs#section-bibliotecas). Vá direto ao ponto ­- utilize o índice abaixo e veja diretamente o que você precisa: 1. [Histórico de uma transação](https://dev.gerencianet.com.br/docs/historico-personalizado#section-1-hist-rico-de-uma-transa-o) 2. [Histórico de um carnê](https://dev.gerencianet.com.br/docs/historico-personalizado#section-2-hist-rico-de-um-carn-) # 1. Histórico de uma transação O histórico de uma transação representa todas as ações que ocorreram com esta transação até o presente momento. As mensagens personalizadas não influenciam na transação em si, apenas em seu histórico. Este pode ser visualizado tanto no detalhamento da transação pela interface quanto usando o *endpoint* de detalhes da transação. Para isso, basta enviar o identificador <code>charge_id</code> e a mensagem a ser adicionada ao histórico da transação. Para adicionar mensagens personalizadas no histórico de uma transação, você deve enviar uma requisição <code>POST</code> para a rota <code>/charge/:id/history</code>, onde <code>:id</code> é o <code>charge_id</code> da transação desejada. O exemplo abaixo mostra como isto pode ser feito, utilizando as SDK's disponíveis: [block:code] { "codes": [ { "code": "<?php\n \nrequire __DIR__.'/../../vendor/autoload.php'; // caminho relacionado a SDK\n \nuse Gerencianet\\Exception\\GerencianetException;\nuse Gerencianet\\Gerencianet;\n \n$clientId = 'your_client_id'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)\n$clientSecret = 'your_client_secret'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)\n \n$options = [\n 'client_id' => $clientId,\n 'client_secret' => $clientSecret,\n 'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)\n];\n \n// $charge_id refere-se ao ID da transação gerada anteriormente\n$params = [\n 'id' => $charge_id\n];\n \n$body = [\n 'description' => 'Custom history' // mensagem que será inserida ao histórico do carnê\n];\n \ntry {\n $api = new Gerencianet($options);\n $response = $api->createChargeHistory($params, $body);\n \n print_r($response);\n} catch (GerencianetException $e) {\n print_r($e->code);\n print_r($e->error);\n print_r($e->errorDescription);\n} catch (Exception $e) {\n print_r($e->getMessage());\n}\n", "language": "php" }, { "code": "\n'use strict';\n \nvar Gerencianet = require('gn-api-sdk-node');\n \nvar clientId = 'your_client_id';\nvar clientSecret = 'your_client_secret';\n \nvar options = {\n client_id: clientId,\n client_secret: clientSecret,\n sandbox: true\n}\n \nvar params = {\n id: 1000\n}\n \nvar body = {\n description: 'Custom history'\n}\n \nvar gerencianet = new Gerencianet(options);\n \ngerencianet\n .createChargeHistory(params, body)\n .then(console.log)\n .catch(console.log)\n .done();\n", "language": "javascript", "name": "NodeJS" }, { "code": "\nrequire \"gerencianet\"\n \noptions = {\n client_id: \"client_id\",\n client_secret: \"client_secret\",\n sandbox: true\n}\n \nparams = {\n id: 1000\n}\n \nbody = {\n description: 'Custom description'\n}\n \ngerencianet = Gerencianet.new(options)\ngerencianet.create_charge_history(params: params, body: body)\n", "language": "ruby", "name": null }, { "code": "\nfrom gerencianet import Gerencianet\n \noptions = {\n 'client_id': 'client_id',\n 'client_secret': 'client_secret',\n 'sandbox': True\n}\n \ngn = Gerencianet(options)\n \nparams = {\n 'id': 1000\n}\n \nbody = {\n 'description': 'Custom description'\n}\n \ngn.create_carnet_history(params=params, body=body)\n", "language": "python" }, { "code": "\ndynamic endpoints = new Endpoints(\"client_id\", \"client_secret\", true);\n \nvar params = new {\n id = 1000\n};\n \nvar body = new\n{\n description = \"This charge was not fully paid\"\n};\n \nvar response = endpoints.CreateChargeHistory(params, body);\n", "language": "asp", "name": ".NET" }, { "code": "// Para detalhes, acesse o documento específico em nosso Github:\n// https://github.com/gerencianet/gn-api-sdk-java/blob/master/docs/CHARGE_CREATE_HISTORY.md", "language": "java" }, { "code": "interface\nfunction CreateChargeHistory(Id: String): String;\n\nimplementation\nuses uGerenciaClient, uGerenciaNetClientUtilities;\n{... your code ... }\n\nfunction CreateChargeHistory(Id: String): String;\nvar\n Body : String;\n UpdateParams : String;\nbegin\n EnableService( 'GerenciaNet.dll' ); \n ConfigureService( ToPAnsiChar( 'client_id' ),ToPAnsiChar( 'client_secret' ),'sandbox','config.json',''); \n GerenciaNetAuthorize();\n\n UpdateParams := CreateRequestParams( [ 'id='+Id ] ).Text;\n Body := '{\"description\": \"This carnet is about a service\"}';\n Result := ExecuteGerenciaNetRequest( 'createChargeHistory',UpdateParams, '', Body );\nend;", "language": "json", "name": "Delphi" } ] } [/block] <br> ## a) Estrutura hierárquica dos atributos do Schema que podem ser utilizados: <pre>"id": "/ChargeHistory" "description"</pre> <br> ## b) Atributos que podem ser usados para acrescentar mensagens ao histórico da transação: [block:parameters] { "data": { "h-0": "Atributo", "h-1": "Descrição", "h-2": "Obrigatório", "h-3": "Tipo", "0-3": "String", "0-2": "Sim", "0-0": "<code>id</code>", "0-1": "Identificador da transação - <code>charge_id</code>\n\n<span class=\"tab1\"><em>Atributos de id</em></span>\n\n<div class=\"tab2\"><code>description</code> // Mensagem que será inserida ao histórico da transação. \n<strong class=\"descricao-atributo\"><span class=\"atributo\">Mínimo de 1 caractere e máximo de 255 caracteres.</span></strong></div>" }, "cols": 4, "rows": 1 } [/block] <br> <hr> # 2. Histórico de um carnê 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 isso, basta enviar o identificador <code>carnet_id</code> e a mensagem a ser adicionada ao histórico do carnê. Para adicionar mensagens personalizadas no histórico de um carnê, você deve enviar uma requisição <code>POST</code> para a rota <code>/carnet/:id/history</code>, onde <code>:id</code> é o <code>carnet_id</code> do carnê desejado. O exemplo abaixo mostra como isto pode ser feito, utilizando as SDK's disponíveis: [block:code] { "codes": [ { "code": "<?php\n \nrequire __DIR__.'/../../vendor/autoload.php'; // caminho relacionado a SDK\n \nuse Gerencianet\\Exception\\GerencianetException;\nuse Gerencianet\\Gerencianet;\n \n$clientId = 'your_client_id'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)\n$clientSecret = 'your_client_secret'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)\n \n$options = [\n 'client_id' => $clientId,\n 'client_secret' => $clientSecret,\n 'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)\n];\n \n// $charge_id refere-se ao ID da transação gerada anteriormente\n$params = [\n 'id' => $charge_id\n];\n \n$body = [\n 'description' => 'Custom history' // mensagem que será inserida ao histórico do carnê\n];\n \ntry {\n $api = new Gerencianet($options);\n $response = $api->createCarnetHistory($params, $body);\n \n print_r($response);\n} catch (GerencianetException $e) {\n print_r($e->code);\n print_r($e->error);\n print_r($e->errorDescription);\n} catch (Exception $e) {\n print_r($e->getMessage());\n}", "language": "php" }, { "code": "'use strict';\n \nvar Gerencianet = require('gn-api-sdk-node');\n \nvar clientId = 'your_client_id';\nvar clientSecret = 'your_client_secret';\n \nvar options = {\n client_id: clientId,\n client_secret: clientSecret,\n sandbox: true\n}\n \nvar params = {\n id: 1000\n}\n \nvar body = {\n description: 'Custom history'\n}\n \nvar gerencianet = new Gerencianet(options);\n \ngerencianet\n .createCarnetHistory(params, body)\n .then(console.log)\n .catch(console.log)\n .done();", "language": "javascript", "name": "NodeJS" }, { "code": "require \"gerencianet\"\n \noptions = {\n client_id: \"client_id\",\n client_secret: \"client_secret\",\n sandbox: true\n}\n \nparams = {\n id: 1000\n}\n \nbody = {\n description: 'Custom description'\n}\n \ngerencianet = Gerencianet.new(options)\ngerencianet.create_carnet_history(params: params, body: body)\n", "language": "ruby" }, { "code": "\nfrom gerencianet import Gerencianet\n \noptions = {\n 'client_id': 'client_id',\n 'client_secret': 'client_secret',\n 'sandbox': True\n}\n \ngn = Gerencianet(options)\n \nparams = {\n 'id': 1000\n}\n \nbody = {\n 'description': 'Custom description'\n}\n \ngn.create_charge_history(params=params, body=body)\n", "language": "python" }, { "code": "\ndynamic endpoints = new Endpoints(\"client_id\", \"client_secret\", true);\n \nvar params = new {\n id = 1000\n};\n \nvar body = new\n{\n description = \"This carnet is about a service\"\n};\n \nvar response = endpoints.CreateCarnetHistory(params, body);\n", "language": "asp", "name": ".NET" }, { "code": "// Para detalhes, acesse o documento específico em nosso Github:\n// https://github.com/gerencianet/gn-api-sdk-java/blob/master/docs/CHARGE_CREATE_HISTORY.md", "language": "java" }, { "code": "interface\nfunction CreateCarnetHistory(CarnetID: String):: String;\n\nimplementation\nuses uGerenciaClient, uGerenciaNetClientUtilities;\n{... your code ... }\n\nfunction CreateCarnetHistory(CarnetID: String): String;\nvar\n Body : String;\n UpdateParcelParams : String;\nbegin\n EnableService( 'GerenciaNet.dll' ); \n ConfigureService( ToPAnsiChar( 'client_id' ),ToPAnsiChar( 'client_secret' ),'sandbox','config.json',''); \n GerenciaNetAuthorize();\n\n UpdateParcelParams := CreateRequestParams( [ 'id='+CarnetID ] ).Text;\n Body := '{\"description\": \"This carnet is about a service\"}';\n Result := ExecuteGerenciaNetRequest( 'createCarnetHistory',UpdateParcelParams, '', Body );\nend;", "language": "json", "name": "Delphi" } ] } [/block] <br> ## a) Estrutura hierárquica dos atributos do Schema que podem ser utilizados: <pre>"id": "/CarnetHistory" "description"</pre> <br> ## b) Atributos que podem ser usados para acrescentar mensagens ao histórico de um carnê: [block:parameters] { "data": { "h-0": "Atributo", "h-1": "Descrição", "h-2": "Obrigatório", "h-3": "Tipo", "0-0": "<code>id</code>", "0-1": "Identificador do carnê - <code>carnet_id</code>\n\n<span class=\"tab1\"><em>Atributos de id</em></span>\n\n<div class=\"tab2\"><code>description</code> // Mensagem que será inserida ao histórico do carnê. \n<strong class=\"descricao-atributo\"><span class=\"atributo\">Mínimo de 1 caractere e máximo de 255 caracteres.</span></strong></div>", "0-2": "Sim", "0-3": "String" }, "cols": 4, "rows": 1 } [/block]