Cartão
Os eventos referentes a cartão disparam mensagens ao destinatário quando:
- Um cartão é emitido;
- O status de um cartão é alterado;
- Um cartão físico começa a ser confeccionado;
- O status ou histórico de rastreio de um cartão físico é alterado;
- A data de expiração de um cartão está próxima do vencimento;
- A modalidade de um cartão combo tem seu status alterado.
Para mais informações sobre quando essas mensagens são disparadas e sobre o seu conteúdo, consulte as páginas:
- Emissão de cartão;
- Alteração do status do cartão;
- Rastreio de cartões;
Pré-requisitos
Para receber esses eventos, o parceiro deverá:
- Configurar previamente o recebedor de eventos do webhook.
- Conhecer a estrutura básica dos eventos que acompanha o objeto data.
Informações sobre os eventos
Contexto e nome do evento
Os campos context e name poderão variar de acordo com a tabela a seguir:
| context | name | Descrição |
|---|---|---|
Card | CARD_WAS_ISSUED | O cartão foi emitido. |
Card | CARD_WAS_EMBOSSED | O cartão físico está sendo confeccionado. |
Card | TRACKING_STATUS_CHANGED | Houve uma atualização no status de rastreio. |
Card | TRACKING_STATUS_SEND_HISTORY | Durante o processo de entrega do cartão, o status de rastreamento do cartão emitido é atualizado, acionando o evento TRACKING_STATUS_CHANGED. Em paralelo, o evento TRACKING_STATUS_SEND_HISTORY é disparado para comunicar o histórico completo da situação de rastreio, desde a sua criação até a entrega ao destinatário, organizado do mais recente para o mais antigo. |
Card | CARD_STATUS_WAS_MODIFIED | O status do cartão foi alterado. |
Card | CARD_EXPIRATION_DATE_IS_APPROACHING | O cartão está próximo do vencimento. |
Fluxo dos eventos
Os fluxogramas a seguir descrevem a sequência em que os eventos ocorrem com base no contexto em que eles estão inseridos. Clique nas imagens para ampliá-las:
Emissão de cartão físico
NotaO processo de emissão de cartão virtual gera apenas o evento CARD_WAS_ISSUED, pois, além de não precisar ser transportado após sua emissão, o cartão já fica ativado assim que é criado (status "Active").
Identificador (entityId)
O campo entityId é o identificador da entidade emissora do evento e seu valor depende do contexto de sua emissão.
No contexto de Cartão o entityId é o código identificador do cartão (proxy).
NotaNo caso do evento TRACKING_STATUS_CHANGED, o entityId é o código de rastreio gerado pelo Banco Liquidante para ser utilizado pelo operador logístico. O seu valor não é retornado no objeto data do payload, somente no campo entityId presente no cabeçalho do evento.
Dados dos eventos
CARD_WAS_ISSUED
Este evento sinaliza que o cartão foi emitido.
Descrição do objeto data do evento
O objeto data traz detalhes específicos do contexto em que o evento ocorre. Neste caso, o objeto trará os campos de acordo com a tabela:
| Nome | Tipo | Descrição |
|---|---|---|
proxy | string | Código identificador do cartão. |
activateCode | string | Código atrelado ao cartão no momento de sua emissão. |
trackingCode | string | Código de rastreio do cartão. Campo retornado apenas para cartões físicos. |
alias | string | Apelido dado ao cartão. |
name | string | Nome gravado no cartão, também conhecido como nome de embossing. |
program | object | Objeto que contém informações sobre o programa escolhido pelo parceiro. |
program.id | string | Identificador do programa, o qual é passado no momento da emissão do cartão. |
program.type | string | Tipo de programa. Para emissão de cartão avulso, os mais comuns são: “PhysicalPre”, “VirtualPre” e "Pos", que dizem respeito ao pré-pago físico/virtual e pós-pago físico, respectivamente. Se a emissão for feita em lote, há mais duas opções disponíveis: "LotPre" e "LotPos". |
program.bin | string | O BIN, ou Bank Identification Number , são os seis ou oito primeiros dígitos do cartão, utilizados para identificar a instituição bancária que o emitiu. |
program.brand | string | Bandeira do cartão. |
program.name | string | Nome cadastral do programa definido no Banco Liquidante, o qual segue o padrão o qual segue o padrão “COMPANYKEY_PRODUTO_FISICO/VIRTUAL”. |
program.product | object | Objeto que contém informações sobre o tipo de produto do cartão. |
program.product.type | string | Tipo de produto que atribui um conjunto de vantagens de acordo com o perfil do portador. |
program.product.additionalInfo | string | Informações complementares sobre o produto do cartão. Observação: só deve existir se o program.product.type for igual a "OUTROS". |
lastFourDigits | string | Quatro últimos dígitos do cartão. |
cardType | string | Tipo do cartão, que pode ser “Physical” ou “Virtual”. |
status | string | Status do cartão. Exemplos: “Active”, “Building”, “Sleeping”, “Inactive”, dentre outros. Confira a tabela com os possíveis status reversíveis e irreversíveis na página Possíveis status do cartão. |
function | string | Função do cartão, que pode ser “Pre”, “Pos” ou “Debit”. |
allowContactless | boolean | Indica se é permitido pagamento por aproximação. |
isAdditional | boolean | Indica se é um cartão adicional ou não. |
functionalities[] | array of objects | Lista de objetos contendo informações sobre as funcionalidades do cartão. |
functionalities[].type | string | Tipo de funcionalidade associada ao cartão, que pode ser “Debit", "Pos" ou "Pre". |
functionalities[].program | object | Objeto que contém informações sobre o programa ao qual a funcionalidade está vinculada. |
functionalities[].program.id | number | Identificador único do programa. |
functionalities[].program.bin | string | O BIN, ou Bank Identification Number, são os seis ou oito primeiros dígitos do cartão, utilizados para identificar a instituição bancária que o emitiu. |
functionalities[].program.type | string | Tipo do programa que define a modalidade do cartão. |
functionalities[].program.brand | string | Bandeira do cartão. |
functionalities[].program.name | string | Nome cadastral do programa definido no Banco Liquidante, o qual segue o padrão o qual segue o padrão “COMPANYKEY_PRODUTO_FISICO/VIRTUAL”. |
functionalities[].program.product | object | Objeto que contém informações sobre o tipo de produto do cartão. |
functionalities[].program.product.type | string | Tipo de produto que atribui um conjunto de vantagens de acordo com o perfil do portador. |
functionalities[].program.product.additionalInfo | string | Informações complementares sobre o produto do cartão. Observação: só deve existir se o program.product.type for igual a "OUTROS". |
functionalities[].status | string | Status da modalidade, que pode ser “Enabled" (ativado), "Disabled" (desativado), "Blocked" (bloqueado) e “BlockedByContract" (bloqueado por contrato). |
address | object | Objeto que contém informações sobre o endereço comercial ou residencial do titular do cartão. |
address.ziCode | string | Código postal do endereço. |
address.addressLine | string | Logradouro (nome da rua, avenida etc.). |
address.number | string | Número do imóvel. |
address.neighborhood | string | Nome do bairro. |
address.complement | string | Complemento do endereço. |
address.city | string | Nome da cidade. |
address.state | string | Nome do estado. |
address.country | string | Nome do país. |
holder | object | Objeto que contém informações sobre o titular do cartão. |
holder.document | object | Objeto que contém informações sobre o documento do titular do cartão. |
holder.document.value | string | Número do documento. |
holder.document.type | string | Tipo do documento, que pode ser “CPF” ou “CNPJ”. |
holder.name | string | Nome cadastrado. |
holder.account | object | Objeto que contém informações sobre a conta do titular do cartão. Observação: cartões antigos podem não ter essa informação armazenada em seus dados. |
holder.account.branch | string | Número da agência. |
holder.account.number | string | Número da conta. |
holder.account.bank | object | Objeto que contém informações sobre o banco ao qual a conta do titular do cartão pertence. |
holder.account.bank.ispb | string | ISPB (Identificador de Sistema de Pagamentos Brasileiro) do banco. |
holder.account.bank.code | string | Código do banco. |
holder.account.bank.name | string | Nome do banco. |
holder.account.isExternalBankingCore | boolean | Indicador de utilização de core bancário externo, que pode ser true ou false. |
holder.phone | object | Objeto que contém informações sobre o telefone do titular do cartão. |
holder.phone.countryCode | string | Código DDI do país. |
holder.phone.number | string | Número de telefone incluindo DDD. |
credit | object | Objeto que contém informações sobre sobre o contrato de crédito. Campo retornado apenas para cartões do tipo pós, quando já há um contrato. |
credit.contractNumber | string | Número do contrato de crédito. |
credit.limitTotal | object | Objeto que contém informações sobre o limite total disponibilizado no contrato. |
credit.limitTotal.value | number | Valor do total disponibilizado no contrato. |
credit.limitTotal.currency | string | Código da moeda com base na ISO 4217. Exemplo: “BRL”. |
batch | object | Objeto que contém informação sobre o lote que originou o cartão. Esse objeto somente será retornado caso o cartão tenha sido emitido dentro de um lote. |
batch.id | string | Identificador único do lote. |
previousCard | object | Objeto que contém informação sobre a via anterior deste cartão. Esse objeto somente será retornado em caso de segunda via (cartão físico). |
previousCard.proxy | string | Código identificador do cartão da via anterior. |
previousCard.purpose | string | Razão da nova emissão (”Duplicate”). |
previousCard.cancellation | object | Objeto que contém informações sobre o cancelamento da via anterior do cartão. |
previousCard.cancellation.mode | string | Momento de cancelamento da primeira via, que pode ser “Immediately” (cancelamento imediato), “Later” (cancelamento tardio), “CanceledAlready” (cartão já cancelado). |
previousCard.cancellation.proxy | string | Código identificador do cartão a ser cancelado. Importante: caso este campo retorne null ou não seja enviado, considere o valor retornado no campo previousCard.proxy. |
previousCard.cancellation.reason | string | Motivo pelo qual a via anterior do cartão foi ou será cancelada. |
expirationDate | string | Data de expiração do cartão, no formato "yyyy-MM-dd" . |
additional | object | Objeto que contém informações sobre o cartão adicional. Observação: Esse objeto somente será retornado caso seja um cartão adicional. |
additional.holder | object | Objeto que contém informações sobre o portador do cartão adicional. |
additional.holder.name | string | Nome do portador do cartão adicional. |
additional.holder.document | object | Objeto que contém informações sobre o documento do portador do cartão adicional. |
additional.holder.document.value | string | Número do documento do cliente (11 ou 14 dígitos). |
additional.holder.document.type | string | Tipo do documento do cliente (CPF ou CNPJ). |
additional.mainProxy | string | Código identificador do cartão titular associado ao cartão adicional. |
Payload do evento
Os payloads abaixo exemplificam a estrutura do evento que deverá ser recebido pelo parceiro. Clique na seta para expandi-los:
Exemplo de payload
{
"idempotencyKey": "0c908f19-6a3e-4a0b-90aa-606d9a659dfb",
"context": "Card",
"name": "CARD_WAS_ISSUED",
"timestamp": "2022-04-25T12:27:24.1773777Z",
"entityId": "2500441005128861608",
"companyKey": "HIPERBANCO_SANDBOX",
"correlationId": "496b8b38-c956-415a-8668-c21cd146285b",
"metadata": {
"created": "2022-04-25T12:27:04.294+00:00"
},
"data": {
"proxy": "0000000000000000000",
"activateCode": "A49000000095",
"trackingCode": "JRDRVSQ00000",
"alias": "0422",
"name": "Nísia Floresta",
"program": {
"id": "53",
"type": "Pre",
"bin": "123456",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"lastFourDigits": "0000",
"cardType": "Physical",
"status": "Active",
"function": "Pre",
"allowContactless": true,
"functionalities": [
{
"type": "Pre",
"program": {
"id": 53,
"bin": "234028",
"type": "PhysicalPre",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"status": "ENABLED"
}
],
"address": {
"zipCode": "68060100",
"addressLine": "Rua 6 de Março",
"number": "2500",
"neighborhood": "Alter do Chão",
"complement": "Apartamento",
"city": "Santarém",
"state": "PA",
"country": "BR"
},
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
},
"name": "Nísia Floresta",
"phone": {
"countryCode": "55",
"number": "23415162342"
}
},
"expirationDate": "2030-03-31"
}
} {
"idempotencyKey": "0c908f19-6a3e-4a0b-90aa-606d9a659dfb",
"context": "Card",
"name": "CARD_WAS_ISSUED",
"timestamp": "2022-04-25T12:27:24.1773777Z",
"entityId": "2500441005128861608",
"companyKey": "HIPERBANCO_SANDBOX",
"correlationId": "496b8b38-c956-415a-8668-c21cd146285b",
"metadata": {
"created": "2022-04-25T12:27:04.294+00:00"
},
"data": {
"proxy": "0000000000000000000",
"activateCode": "A49000000095",
"trackingCode": "JRDRVSQ00000",
"alias": "0422",
"name": "Nísia Floresta",
"program": {
"id": "53",
"type": "Pre",
"bin": "123456",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"lastFourDigits": "0000",
"cardType": "Physical",
"status": "Active",
"function": "Pre",
"allowContactless": true,
"functionalities": [
{
"type": "Pre",
"program": {
"id": 53,
"bin": "234028",
"type": "Pre",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"status": "ENABLED"
}
],
"address": {
"zipCode": "68060100",
"addressLine": "Rua 6 de Março",
"number": "2500",
"neighborhood": "Alter do Chão",
"complement": "Apartamento",
"city": "Santarém",
"state": "PA",
"country": "BR"
},
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
},
"name": "Nísia Floresta",
"phone": {
"countryCode": "55",
"number": "23415162342"
}
},
"previousCard": {
"proxy": "1111111111111111111",
"purpose": "Duplicate",
"cancellation": {
"mode": "Immediately",
"proxy": "1111111111111111111",
"reason": "CardDamagedCanceled"
}
},
"expirationDate": "2030-03-31"
}
}{
"entityId": "24906A3D54FC",
"idempotencyKey": "86447d19-687f-4fa8-80cf-a5aa406457b9",
"companyKey": "HIPERBANCO_SANDBOX",
"version": "1",
"context": "Card",
"name": "TRACKING_STATUS_CHANGED",
"timestamp": "2021-10-06T13:07:25.3853601Z",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"metadata": {
"created": "2021-11-10T20:40:24.282+00:00",
"modified": "2021-11-18T20:40:24.282+00:00"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"estimatedDeliveryDate": "2021-11-25T23:59:59.282+00:00",
"status": {
"type": "InProgress",
"reason": "Object on the way"
}
}
}CARD_WAS_EMBOSSED
Este evento indica que o cartão físico está sendo confeccionado.
Descrição do objeto data do evento
O objeto data traz detalhes específicos do contexto em que o evento ocorre. Neste caso, o objeto trará os campos de acordo com a tabela:
| Nome | Tipo | Descrição |
|---|---|---|
proxy | string | Código identificador do cartão. |
activateCode | string | Código atrelado ao cartão no momento de sua emissão. |
trackingCode | string | Código de rastreio do cartão. Campo retornado apenas para cartões físicos. |
alias | string | Apelido definido pelo proprietário para o cartão. |
name | string | Nome gravado no cartão, também conhecido como nome de embossing. |
program | object | Objeto que contém informações sobre o programa escolhido pelo parceiro. |
program.id | number | Identificador do programa, o qual é passado no momento da emissão do cartão. |
program.type | string | Tipo de programa. Para emissão de cartão avulso, os mais comuns são: “PhysicalPre”, “VirtualPre” e "Pos", que dizem respeito ao pré-pago físico/virtual e pós-pago físico, respectivamente. Se a emissão for feita em lote, há mais duas opções disponíveis: "LotPre" e "LotPos". |
program.bin | string | O BIN, ou Bank Indetification Number, são os seis ou oito primeiros dígitos do cartão, utilizados para identificar a instituição bancária que o emitiu. |
program.brand | string | Bandeira do cartão. |
program.name | string | Nome cadastral do programa definido no Banco Liquidante, o qual segue o padrão “COMPANYKEY_PRODUTO_FISICO/VIRTUAL”. |
lastFourDigits | string | Quatro últimos dígitos do cartão. |
cardType | string | Tipo do cartão, que pode ser “Physical” ou “Virtual”. |
status | string | Status do cartão. Exemplos: “Active”, “Building”, “Sleeping”, “Inactive”, dentre outros. Confira a tabela com os possíveis status reversíveis e irreversíveis na página Possíveis status do cartão. |
function | string | Função do cartão, que pode ser “Pre”, “Pos” ou “Debit”. |
allowContactless | boolean | Indica se é permitido pagamento por aproximação. |
functionalities[] | array of objects | Lista de objetos contendo informações sobre as modalidades do cartão. |
functionalities[].type | number | Tipo de modalidade associada ao cartão, que pode ser “Debit", "Pos" ou "Pre". |
functionalities[].program | object | Objeto que contém informações sobre o programa ao qual a modalidade está vinculada. |
functionalities[].program.id | number | Identificador único do programa. |
functionalities[].program.bin | string | O BIN, ou Bank Indetification Number, são os seis ou oito primeiros dígitos do cartão, utilizados para identificar a instituição bancária que o emitiu. |
functionalities[].program.type | string | Tipo do programa que define a modalidade do cartão. |
functionalities[].program.brand | string | Bandeira do cartão. |
functionalities[].program.name | string | Nome cadastral do programa definido no Banco Liquidante, o qual segue o padrão o qual segue o padrão “COMPANYKEY_PRODUTO_FISICO/VIRTUAL”. |
functionalities[].status | string | Status da modalidade, que pode ser “Enabled" (ativado), "Disabled" (desativado), "Blocked" (bloqueado) e “BlockedByContract" (bloqueado por contrato). |
address | object | Objeto que contém informações sobre o endereço comercial ou residencial do titular do cartão. |
address.zipCode | string | Código postal do endereço. |
address.addressLine | string | Logradouro (nome da rua, avenida etc.). |
address.number | string | Número do imóvel. |
address.neighborhood | string | Nome do bairro. |
address.complement | string | Complemento do endereço. |
address.city | string | Nome da cidade. |
address.state | string | Nome do estado. |
address.country | string | Nome do país. |
holder | object | Objeto que contém informações sobre o titular do cartão. |
holder.document | object | Objeto que contém informações sobre o documento do titular do cartão. |
holder.document.value | string | Número do documento. |
holder.document.type | string | Tipo do documento, que pode ser “CPF” ou “CNPJ”. |
holder.name | string | Nome cadastrado. |
holder.phone | object | Objeto que contém informações sobre o telefone do titular do cartão. |
holder.phone.countryCode | string | Código DDI do país. |
holder.phone.number | string | Número de telefone incluindo DDD. |
credit | object | Objeto que contém informações sobre sobre o contrato de crédito. Campo retornado apenas para cartões do tipo pós, quando já há um contrato. |
credit.contractNumber | string | Número do contrato de crédito. |
credit.limitTotal | object | Objeto que contém informações sobre o limite total disponibilizado no contrato. |
credit.limitTotal.value | number | Valor do total disponibilizado no contrato. |
credit.limitTotal.currency | string | Código da moeda com base na ISO 4217. Exemplo: “BRL”. |
embosser | object | Objeto que contém informações sobre os dados de envio para confecção. |
embosser.factory | string | Fábrica de confecção do cartão. |
embosser.fileName | string | Nome do arquivo em que o cartão foi enviado para confecção. |
embosser.embossedAt | string | Data e hora do envio, no formato ISO 8601 - UTC. |
embosser.customFields | object | Objeto que contém informações sobre os campos customizados enviados à fábrica. |
embosser.customFields.PlasticCode | string | Código do plástico do cartão. |
batch | object | Objeto que contém informação sobre o lote que originou o cartão. Esse objeto somente será retornado caso o cartão tenha sido emitido dentro de um lote. |
batch.id | string | Identificador único do lote. |
previousCard | object | Objeto que contém informação sobre a via anterior deste cartão. Esse objeto somente será retornado em caso de segunda via (cartão físico). |
previousCard.proxy | string | Código identificador do cartão da via anterior. |
previousCard.purpose | string | Razão da nova emissão (”Duplicate”). |
previousCard.cancellation | object | Objeto que contém informações sobre o cancelamento da via anterior do cartão. |
previousCard.cancellation.mode | string | Momento de cancelamento da primeira via, que pode ser “Immediately” (cancelamento imediato), “Later” (cancelamento tardio), “CanceledAlready” (cartão já cancelado). |
previousCard.cancellation.proxy | string | Código identificador do cartão a ser cancelado. Importante: caso este campo retorne null ou não seja enviado, considere o valor retornado no campo previousCard.proxy. |
previousCard.cancellation.reason | string | Motivo pelo qual a via anterior do cartão foi ou será cancelada. |
expirationDate | string | Data de expiração do cartão, no formato "yyyy-MM-dd" . |
NotaO objeto metadata deste evento retornará as informações enviadas pelo parceiro no objeto metadata dos endpoints de emissão de cartão.
Payload do evento
Os payloads abaixo exemplificam a estrutura do evento que deverá ser recebido pelo parceiro. Clique na seta para expandi-los:
Exemplo de payload
{
"name": "CARD_WAS_EMBOSSED",
"idempotencyKey": "914e0649-034f-4fb2-b20a-d87422c863cd",
"context": "Card",
"timestamp": "2022-12-30T01:11:07.4151363Z",
"entityId": "2500441000000000001",
"companyKey": "HIPERBANCO_SANDBOX",
"correlationId": "5ba3cd76-53bf-4cc4-8ba2-eea0fb1b1071",
"version": "1",
"metadata": {
"capturedAt": "2022-12-30T01:11:07.4019873Z"
},
"data": {
"proxy": "2500441000000000001",
"activateCode": "A395FFES110C",
"alias": "1222",
"name": "Nísia Floresta",
"program": {
"id": "1000",
"name": "HIPERBANCO_SANDBOX - Physical",
"type": "VirtualPre",
"bin": "234028",
"brand": "Mastercard"
},
"lastFourDigits": "8944",
"cardType": "Virtual",
"status": "InTransitLocked",
"function": "Pre",
"allowContactless": true,
"functionalities": [
{
"type": "Pre",
"program": {
"id": 53,
"bin": "234028",
"type": "VirtualPre",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"status": "ENABLED"
}
],
"address": {
"zipCode": "68060100",
"addressLine": "Rua 6 de Março",
"number": "2500",
"neighborhood": "Alter do Chão",
"complement": "Apartamento",
"city": "Santarém",
"state": "PA",
"country": "BR"
},
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
},
"name": "Nísia Floresta",
"phone": {
"countryCode": "55",
"number": "23415162342"
}
},
"embosser": {
"factory": "TestCard",
"fileName": "ACESSO20221230_275.txt",
"embossedAt": "2022-12-30T01:10:41Z",
"customFields": {
"plasticCode": "0000"
}
},
"expirationDate": "2030-03-31"
}
} {
"name":"CARD_WAS_EMBOSSED",
"idempotencyKey":"914e0649-034f-4fb2-b20a-d87422c863cd",
"context":"Card",
"timestamp":"2022-12-30T01:11:07.4151363Z",
"entityId":"2500441000000000001",
"companyKey":"HIPERBANCO_SANDBOX",
"correlationId":"5ba3cd76-53bf-4cc4-8ba2-eea0fb1b1071",
"version": "1",
"metadata":{
"capturedAt":"2022-12-30T01:11:07.4019873Z"
},
"data":{
"proxy":"2500441000000000001",
"activateCode":"A395FFES110C",
"trackingCode": "JRDRVSQ00000",
"alias":"1222",
"name":"Nísia Floresta",
"program":{
"id":"1000",
"name": "HIPERBANCO_SANDBOX - Physical",
"type":"PhysicalPre",
"bin": "234028",
"brand": "Mastercard"
},
"lastFourDigits":"8944",
"cardType":"Physical",
"status":"InTransitLocked",
"function":"Pre",
"allowContactless":true,
"functionalities": [
{
"type": "Pre",
"program": {
"id": 53,
"bin": "234028",
"type": "PhysicalPre",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"status": "ENABLED"
}
],
"address":{
"zipCode":"68060100",
"addressLine":"Rua 6 de Março",
"number":"2500",
"neighborhood":"Alter do Chão",
"complement":"Apartamento",
"city":"Santarém",
"state":"PA",
"country":"BR"
},
"holder":{
"document":{
"value":"47742663023",
"type":"CPF"
},
"name":"Nísia Floresta",
"phone": {
"countryCode": "55",
"number": "23415162342"
}
},
"embosser":{
"factory":"TestCard",
"fileName":"ACESSO20221230_275.txt",
"embossedAt":"2022-12-30T01:10:41Z",
"customFields": {
"plasticCode": "0000"
}
},
"expirationDate": "2030-03-31"
}
}TRACKING_STATUS_CHANGED
Este evento sinaliza que houve uma atualização no status de rastreio.
Descrição do objeto data do evento
O objeto data traz detalhes específicos do contexto em que o evento ocorre. Neste caso, o objeto trará os campos de acordo com a tabela:
| Nome | Tipo | Descrição |
|---|---|---|
card | object | Objeto que contém informações sobre o cartão. |
card.proxy | string | Código identificador do cartão. |
card.alias | string | Apelido definido pelo proprietário do cartão. |
externalTracking | object | Objeto que contém informações sobre a transportadora responsável pela entrega do cartão. Este objeto somente será enviado caso o operador logístico terceirize a entrega do cartão. |
externalTracking.code | string | Código de rastreio proveniente da transportadora. |
externalTracking.partner | string | Nome da transportadora. |
estimatedDeliveryDate | string | Data de entrega estimada, no formato ISO 8601 - UTC. |
status | object | Objeto que contém informações sobre o histórico dos status desde a criação do cartão até a entrega ao destinatário. |
status.type | string | Status de rastreio do cartão. |
status.reason | string | Descrição do status de rastreio. |
finalized | object | Objeto que contém informações sobre quem recebeu o cartão e o número de tentativas de entrega. Retornado apenas após a entrega do cartão (Delivered). |
finalized.recipient | object | Objeto que contém informações sobre quem recebeu o cartão. |
finalized.recipient.name | string | Nome do recebedor do cartão. |
finalized.recipient.kinship | string | Relacionamento do titular do cartão com a pessoa que o recebeu. |
finalized.recipient.document | object | Objeto que contém informações sobre o documento do recebedor do cartão. |
finalized.recipient.document.type | string | Tipo do documento, que pode ser “CPF” ou “CNPJ”. |
finalized.recipient.document.number | string | Número do documento. |
finalized.recipient.attempts | integer | Número de tentativas de entrega realizadas. |
NotaNo caso do evento TRACKING_STATUS_CHANGED, o entityId é o código de rastreio gerado pelo Banco Liquidante para ser utilizado pelo operador logístico. O seu valor não é retornado no objeto data do payload, somente no campo entityId presente no cabeçalho do evento.
Payloads do evento
Os payloads abaixo exemplificam a estrutura do evento que deverá ser recebido pelo parceiro. Clique na seta para expandi-los:
Exemplo de payload
{
"companyKey": "HIPERBANCO_SANDBOX",
"context": "Card",
"entityId": "24906A3D54FC",
"name": "TRACKING_STATUS_CHANGED",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"timestamp": "2025-02-06T10:08:38.476Z",
"metadata": {
"created": "2025-02-06T10:08:37.868Z",
"modified": "2025-02-06T10:08:37.868Z"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"estimatedDeliveryDate": "2025-02-21T23:59:59.000Z",
"status": {
"reason": "Waiting for post",
"type": "Created"
}
}
}{
"entityId": "24906A3D54FC",
"idempotencyKey": "86447d19-687f-4fa8-80cf-a5aa406457b9",
"companyKey": "HIPERBANCO_SANDBOX",
"version": "1",
"context": "Card",
"name": "TRACKING_STATUS_CHANGED",
"timestamp": "2021-10-06T13:07:25.3853601Z",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"metadata": {
"created": "2021-11-10T20:40:24.282+00:00",
"modified": "2021-11-18T20:40:24.282+00:00"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"externalTracking": {
"code": "111",
"partner": "CORREIOS"
},
"estimatedDeliveryDate": "2021-11-25T23:59:59.282+00:00",
"status": {
"type": "InProgress",
"reason": "Object on the way"
}
}
}{
"entityId": "24906A3D54FC",
"idempotencyKey": "86447d19-687f-4fa8-80cf-a5aa406457b9",
"companyKey": "HIPERBANCO_SANDBOX",
"version": "1",
"context": "Card",
"name": "TRACKING_STATUS_CHANGED",
"timestamp": "2021-10-06T13:07:25.3853601Z",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"metadata": {
"created": "2021-11-10T20:40:24.282+00:00",
"modified": "2021-11-18T20:40:24.282+00:00"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"externalTracking": {
"code": "111",
"partner": "CORREIOS"
},
"estimatedDeliveryDate": "2021-11-25T23:59:59.282+00:00",
"status": {
"type": "Delivered",
"reason": "Object delivered"
},
"finalized": {
"recipient": {
"name": "Maria Quitéria de Jesus",
"kinship": "Mãe",
"document": {
"type": "CPF",
"number": "09992220074"
}
},
"attempts": 1
}
}
}{
"companyKey": "HIPERBANCO_SANDBOX",
"context": "Card",
"entityId": "24906A3D54FC",
"name": "TRACKING_STATUS_CHANGED",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"timestamp": "2025-02-07T02:18:55.535Z",
"metadata": {
"created": "2025-02-01T14:28:33.071Z",
"modified": "2025-02-06T11:29:50.169Z"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"estimatedDeliveryDate": "2025-02-14T23:59:59.000Z",
"status": {
"reason": "Out",
"type": "NotDelivered"
}
}
}{
"companyKey": "HIPERBANCO_SANDBOX",
"context": "Card",
"entityId": "24906A3D54FC",
"name": "TRACKING_STATUS_CHANGED",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"timestamp": "2025-02-16T02:15:43.209Z",
"metadata": {
"created": "2025-02-10T22:01:35.136Z",
"modified": "2025-02-14T19:41:19.426Z"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"estimatedDeliveryDate": "2025-02-21T23:59:59.000Z",
"status": {
"reason": "Waiting action",
"type": "Custody"
}
}
}{
"entityId": "24906A3D54FC",
"idempotencyKey": "86447d19-687f-4fa8-80cf-a5aa406457b9",
"companyKey": "HIPERBANCO_SANDBOX",
"version": "1",
"context": "Card",
"name": "TRACKING_STATUS_CHANGED",
"timestamp": "2021-10-06T13:07:25.3853601Z",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"metadata": {
"created": "2021-11-10T20:40:24.282+00:00",
"modified": "2021-11-18T20:40:24.282+00:00"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"estimatedDeliveryDate": "2021-11-25T23:59:59.282+00:00",
"status": {
"type": "InProgress",
"reason": "Object on the way"
}
}
}{
"entityId": "24906A3D54FC",
"idempotencyKey": "86447d19-687f-4fa8-80cf-a5aa406457b9",
"companyKey": "HIPERBANCO_SANDBOX",
"version": "1",
"context": "Card",
"name": "TRACKING_STATUS_CHANGED",
"timestamp": "2021-10-06T13:07:25.3853601Z",
"correlationId": "7a1bfc3f-50e6-458c-aa9b-d42a22ddb84d",
"metadata": {
"created": "2021-11-10T20:40:24.282+00:00",
"modified": "2021-11-18T20:40:24.282+00:00"
},
"data": {
"card": {
"proxy": "2229141009436273825",
"alias": "Nísia Floresta"
},
"estimatedDeliveryDate": "2021-11-25T23:59:59.282+00:00",
"status": {
"type": "Delivered",
"reason": "Object delivered"
},
"finalized": {
"recipient": {
"name": "Maria Quitéria de Jesus",
"kinship": "Mãe",
"document": {
"type": "CPF",
"number": "09992220074"
}
},
"attempts": 1
}
}
}{
"companyKey": "HIPERBANCO_SANDBOX",
"context": "Card",
"entityId": "PI000058125BR",
"name": "TRACKING_STATUS_CHANGED",
"correlationId": "d44c8283-1762-4c6b-bbcc-561c1399b3c5",
"timestamp": "2025-03-11T01:02:50.9698317Z",
"metadata": {
"created": "2025-03-10T23:01:40.219Z",
"modified": "2025-03-11T01:02:50.969Z"
},
"data": {
"card": {
"proxy": "2234626770402896338",
"alias": "Cartão corporativo"
},
"estimatedDeliveryDate": "2025-03-27T20:59:59.000Z",
"status": {
"reason": "Waiting for post",
"type": "Building"
}
}
}TRACKING_STATUS_SEND_HISTORY
Este evento é disparado em conjunto com o TRACKING_STATUS_CHANGED, após a atualização do status de rastreio do cartão emitido, e informa detalhes sobre o histórico completo dos seus status, desde a sua criação até a entrega ao destinatário, ordenados do mais recente para o mais antigo.
Descrição do objeto data do evento
O objeto data traz detalhes específicos do contexto em que o evento ocorre. Neste caso, o objeto trará os campos de acordo com a tabela:
| Nome | Tipo | Descrição | Número máximo de caracteres |
|---|---|---|---|
card | object | Objeto que contém informações sobre o cartão que sofreu alteração em seu status de rastreio. | — |
card.proxy | string | Código identificador do cartão. | — |
card.alias | string | Apelido do cartão. | — |
estimateDeliveryDate | string | Data de entrega estimada. Importante: este campo só será retornado quando o cartão ainda não tiver sido entregue. | — |
status[] | array of objects | Lista de objetos com o histórico dos status desde a criação do cartão até a entrega ao destinatário, do mais recente para o mais antigo. | — |
status[].reason | string | Lista de possíveis reasons. | — |
status[].type | string | Tipo ou nome dos status em que se encontra o cartão criado. Consulte a lista de possíveis type para mais detalhes. | — |
address[] | array of objects | Lista de objetos contendo informações sobre os endereços de entrega cadastrados pelo titular do cartão. Importante: ao cadastrar um novo endereço de entrega, ele será exibido nesta lista. | — |
address[].address | string | Logradouro (nome da rua, avenida etc.). | — |
address[].number | string | Número do imóvel. | — |
address[].neighboorhood | string | Nome do bairro. | — |
address[].complement | string | Complemento do endereço (quando houver). | — |
address[].city | string | Nome da cidade. | — |
address[].state | string | Sigla do estado brasileiro conforme a ISO 3166-2:BR. Exemplo: SP. | — |
address[].country | string | Sigla do país (Brasil) conforme a ISO 3166-2. Exemplo: BR. | — |
address[].createdDate | string | Data e hora da inserção do endereço de entrega na base de dados, no formato ISO 8601 - UTC. | — |
address[].isActive | boolean | Indica se o endereço está habilitado para entrega, sendo true para ativo e false para inativo. | — |
address[].zipCode | string | Código postal do endereço. | — |
Payload do evento
O payload abaixo exemplifica a estrutura do evento que deverá ser recebido pelo parceiro. Clique na seta para expandi-lo:
Exemplo de payload
{
"companyKey": "HIPERBANCO_SANDBOX",
"context": "Card",
"entityId": "RGKXSTS31942",
"name": "TRACKING_STATUS_SEND_HISTORY",
"correlationId": "28cad10c-8b11-4e34-bfdb-467f891bb656",
"idempotencyKey": "bed33c52-716b-4204-9bde-99c0daab1137",
"timestamp": "2024-04-15T12:48:49.149Z",
"metadata": {
"created": "2024-04-12T19:44:45.078Z",
"modified": "2024-04-15T12:48:19.602Z"
},
"data": {
"card": {
"proxy": "2234626776444794789",
"alias": "Gastos corporativos"
},
"estimatedDeliveryDate": "2024-04-26T23:59:59.000Z",
"status": [
{
"reason": "Sent to ship company",
"type": "Building"
},
{
"reason": "Object delivered",
"type": "Delivered"
},
{
"reason": "In route to delivery",
"type": "InProgress"
},
{
"reason": "Received by the shipping company",
"type": "InProgress"
},
{
"reason": "Building completed",
"type": "Building"
},
{
"reason": "Waiting for post",
"type": "Created"
}
],
"address": [
{
"address": "Rua 6 de Março",
"number": "2500",
"neighborhood": "Alter do Chão",
"complement": "",
"city": "Santarém",
"state": "PA",
"country": "BR",
"createdDate": "2024-04-12T19:44:46.026Z",
"isActive": true,
"zipCode": "68060100"
}
]
}
}CARD_STATUS_WAS_MODIFIED
Este evento sinaliza que o status do cartão foi alterado.
Descrição do objeto data do evento
O objeto data traz detalhes específicos do contexto em que o evento ocorre. Neste caso, o objeto trará os campos de acordo com a tabela:
| Nome | Tipo | Descrição |
|---|---|---|
proxy | string | Código identificador do cartão. |
status | string | Status atual do cartão. Confira a tabela com os possíveis status reversíveis e irreversíveis na página Possíveis status do cartão. |
statusPrevious | string | Status anterior do cartão. Confira a tabela com os possíveis status reversíveis e irreversíveis na página Possíveis status do cartão. |
Payload do evento
O payload abaixo exemplifica a estrutura do evento que deverá ser recebido pelo parceiro. Clique na seta para expandi-lo:
Exemplo de payload
{
"idempotencyKey": "423f240d-539e-4f4c-9f1b-05cb4d7a819a",
"context": "Card",
"name": "CARD_STATUS_WAS_MODIFIED",
"timestamp": "2022-07-11T17:31:21.9632827Z",
"entityId": "234026100039584752",
"companyKey": "HIPERBANCO_SANDBOX",
"correlationId": "10d5aad9-4de4-4f96-903e-6816d30e043a",
"version": "1",
"metadata": {
"updatedAt": "2022-07-11T17:31:21.5238611Z"
},
"data": {
"proxy": "234026100039584752",
"status": "CanceledByCustomer",
"statusPrevious": "Active"
}
}
ImportanteEste evento não é disparado quando o status do cartão se altera de Building para Active ou de Building para InTransitLocked, pois esses cenários já são contemplados pelo evento de emissão de cartão.
CARD_EXPIRATION_DATE_IS_APPROACHING
Este evento sinaliza a quantidade de dias restantes para um cartão expirar.
Descrição do objeto data do evento
O objeto data traz detalhes específicos do contexto em que o evento ocorre. Neste caso, o objeto trará os campos de acordo com a tabela:
| Nome | Tipo | Descrição |
|---|---|---|
proxy | string | Código identificador do cartão. |
activateCode | string | Código atrelado ao cartão no momento de sua emissão. |
trackingCode | string | Código de rastreio do cartão. Campo retornado apenas para cartões físicos. |
alias | string | Apelido dado ao cartão. |
name | string | Nome gravado no cartão, também conhecido como nome de embossing. |
program | object | Objeto que contém informações sobre o programa escolhido pelo parceiro. |
program.id | string | Identificador do programa, o qual é passado no momento da emissão do cartão. |
program.type | string | Tipo de programa. Para emissão de cartão avulso, os mais comuns são: “PhysicalPre”, “VirtualPre” e "Pos", que dizem respeito ao pré-pago físico/virtual e pós-pago físico, respectivamente. Se a emissão for feita em lote, há mais duas opções disponíveis: "LotPre" e "LotPos". |
program.bin | string | O BIN (Bank Identification Number) são os seis ou oito primeiros dígitos do cartão, utilizados para identificar a instituição bancária que o emitiu. |
program.brand | string | Bandeira do cartão. |
program.name | string | Nome cadastral do programa definido no Banco Liquidante, seguindo o padrão “COMPANYKEY_PRODUTO_FISICO/VIRTUAL”. |
lastFourDigits | string | Quatro últimos dígitos do cartão. |
cardType | string | Tipo do cartão, que pode ser “Physical” ou “Virtual”. |
status | string | Status do cartão. Exemplos: “Active”, “Building”, “Sleeping”, “Inactive”, dentre outros. Confira a tabela com os possíveis status reversíveis e irreversíveis na página Possíveis status do cartão. |
function | string | Função do cartão, que pode ser “Pre”, “Pos” ou “Debit”. |
allowContactless | boolean | Indica se é permitido pagamento por aproximação. |
functionalities[] | array of objects | Lista de objetos contendo informações sobre as funcionalidades do cartão. |
functionalities[].type | string | Tipo de funcionalidade associada ao cartão, que pode ser “Debit", "Pos" ou "Pre". |
functionalities[].program | object | Objeto que contém informações sobre o programa ao qual a funcionalidade está vinculada. |
functionalities[].program.id | number | Identificador único do programa. |
functionalities[].program.bin | string | O BIN (Bank Identification Number), utilizado para identificar a instituição bancária que o emitiu. |
functionalities[].program.type | string | Tipo do programa que define a modalidade do cartão. |
functionalities[].program.brand | string | Bandeira do cartão. |
functionalities[].program.name | string | Nome cadastral do programa definido no Banco Liquidante, seguindo o padrão “COMPANYKEY_PRODUTO_FISICO/VIRTUAL”. |
functionalities[].status | string | Status da modalidade, que pode ser “Enabled", "Disabled", "Blocked" e “BlockedByContract". |
address | object | Objeto que contém informações sobre o endereço comercial ou residencial do titular do cartão. |
address.zipCode | string | Código postal do endereço. |
address.addressLine | string | Logradouro (nome da rua, avenida etc.). |
address.number | string | Número do imóvel. |
address.neighborhood | string | Nome do bairro. |
address.complement | string | Complemento do endereço. |
address.city | string | Nome da cidade. |
address.state | string | Nome do estado. |
address.country | string | Nome do país. |
holder | object | Objeto que contém informações sobre o titular do cartão. |
holder.document | object | Objeto que contém informações sobre o documento do titular do cartão. |
holder.document.value | string | Número do documento. |
holder.document.type | string | Tipo do documento, que pode ser “CPF” ou “CNPJ”. |
holder.name | string | Nome cadastrado. |
holder.phone | object | Objeto que contém informações sobre o telefone do titular do cartão. |
holder.phone.countryCode | string | Código DDI do país. |
holder.phone.number | string | Número de telefone incluindo DDD. |
credit | object | Objeto que contém informações sobre o contrato de crédito. Retornado apenas para cartões do tipo pós, quando já há contrato. |
credit.contractNumber | string | Número do contrato de crédito. |
credit.limitTotal | object | Objeto que contém informações sobre o limite total disponibilizado no contrato. |
credit.limitTotal.value | number | Valor total disponibilizado no contrato. |
credit.limitTotal.currency | string | Código da moeda conforme a ISO 4217. Exemplo: “BRL”. |
batch | object | Objeto que contém informações sobre o lote que originou o cartão. Retornado apenas se o cartão foi emitido em lote. |
batch.id | string | Identificador único do lote. |
previousCard | object | Objeto com informações sobre a via anterior do cartão. Retornado em caso de segunda via (cartão físico). |
previousCard.proxy | string | Código identificador do cartão da via anterior. |
previousCard.purpose | string | Razão da nova emissão (ex: “Duplicate”). |
previousCard.cancellation | object | Objeto com informações sobre o cancelamento da via anterior. |
previousCard.cancellation.mode | string | Momento do cancelamento: “Immediately”, “Later” ou “CanceledAlready”. |
previousCard.cancellation.proxy | string | Código identificador do cartão a ser cancelado. Se ausente, considerar previousCard.proxy. |
previousCard.cancellation.reason | string | Motivo pelo qual a via anterior foi ou será cancelada. |
expirationDate | string | Data de expiração do cartão, no formato "yyyy-MM-dd". |
Payload do evento
Os payloads abaixo exemplificam a estrutura do evento que deverá ser recebido pelo parceiro. Clique na seta para expandi-los:
Exemplo de payload
{
"idempotencyKey": "0c908f19-6a3e-4a0b-90aa-606d9a659dfb",
"context": "Card",
"name": "CARD_EXPIRATION_DATE_IS_APPROACHING",
"timestamp": "2022-04-25T12:27:24.1773777Z",
"entityId": "2500441005128861608",
"companyKey": "HIPERBANCO_SANDBOX",
"correlationId": "496b8b38-c956-415a-8668-c21cd146285b",
"metadata": {
"created": "2022-04-25T12:27:04.294+00:00"
},
"data": {
"proxy": "0000000000000000000",
"activateCode": "A49000000095",
"trackingCode": "JRDRVSQ00000",
"alias": "0422",
"name": "Nísia Floresta",
"program": {
"id": "53",
"type": "Pre",
"bin": "123456",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"lastFourDigits": "0000",
"cardType": "Physical",
"status": "Active",
"function": "Pre",
"allowContactless": true,
"functionalities": [
{
"type": "Pre",
"program": {
"id": 53,
"bin": "234028",
"type": "PhysicalPre",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"status": "ENABLED"
}
],
"address": {
"zipCode": "68060100",
"addressLine": "Rua 6 de Março",
"number": "2500",
"neighborhood": "Alter do Chão",
"complement": "Apartamento",
"city": "Santarém",
"state": "PA",
"country": "BR"
},
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
},
"name": "Nísia Floresta",
"phone": {
"countryCode": "55",
"number": "23415162342"
}
},
"expirationDate": "2030-03-31"
}
}{
"idempotencyKey": "0c908f19-6a3e-4a0b-90aa-606d9a659dfb",
"context": "Card",
"name": "CARD_EXPIRATION_DATE_IS_APPROACHING",
"timestamp": "2022-04-25T12:27:24.1773777Z",
"entityId": "2500441005128861608",
"companyKey": "HIPERBANCO_SANDBOX",
"correlationId": "496b8b38-c956-415a-8668-c21cd146285b",
"metadata": {
"created": "2022-04-25T12:27:04.294+00:00"
},
"data": {
"proxy": "0000000000000000000",
"activateCode": "A49000000095",
"trackingCode": "JRDRVSQ00000",
"alias": "0422",
"name": "Nísia Floresta",
"program": {
"id": "53",
"type": "Pre",
"bin": "123456",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"lastFourDigits": "0000",
"cardType": "Physical",
"status": "Active",
"function": "Pre",
"allowContactless": true,
"functionalities": [
{
"type": "Pre",
"program": {
"id": 53,
"bin": "234028",
"type": "Pre",
"brand": "Mastercard",
"name": "HIPERBANCO_SANDBOX - Physical"
},
"status": "ENABLED"
}
],
"address": {
"zipCode": "68060100",
"addressLine": "Rua 6 de Março",
"number": "2500",
"neighborhood": "Alter do Chão",
"complement": "Apartamento",
"city": "Santarém",
"state": "PA",
"country": "BR"
},
"holder": {
"document": {
"value": "47742663023",
"type": "CPF"
},
"name": "Nísia Floresta",
"phone": {
"countryCode": "55",
"number": "23415162342"
}
},
"previousCard": {
"proxy": "1111111111111111111",
"purpose": "Duplicate",
"cancellation": {
"mode": "Immediately",
"proxy": "1111111111111111111",
"reason": "CardDamagedCanceled"
}
},
"expirationDate": "2030-03-31"
}
}
ImportanteEste evento não é disparado quando o cartão é cancelado antes da expiração, ou quando uma nova via já tenha sido solicitada.
Updated 19 days ago