Endpoints de primeiro desbloqueio e troca de senha do cartão
===
1. [Buscar cartão por trilha](#get-card-by-track)
2. Busca Cooperado PF ou PJ
3.1 [Busca cadastro do cooperado PF (BIN = 424508/417958 ou additional = true)](#cooperado)
3.2 [Busca cadastro do cooperado PJ (BIN = 433872)](#empresa)
3. [Primeiro desbloqueio do cartão](#first-unblock)
4. [Troca de senha do cartão](#set-password)
#
### <a id="get-card-by-track"></a>Endpoint que busca as informações de um cartão pela trilha.
**GET**:
api.test.cartoesunicred.com.br/v1/cards/card-track
**Headers:**
* Authorization
* **Exemplo:** eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2cG9MdlIzckE2aVRBMThhbE1GeGk4b0xFN0F0SWVVZG5xcFpLdlVqYlE0In0.eyJleHAiOjE2MTM2NTk1NzksImlhdCI6MTYxMzY1OTI3OSwianRpIjoiM **(required)**
* Traffic-Code
* **Exemplo:** 136 **(required)**
* Card-Track
* **Exemplo:** 4012530413516802 **(required)**
* X-Api-Key
* **Exemplo:** tvlNwSLXMx2henaVrcY8G7FzcBMGnoLJay9mbOFs **(required)**
**Retornos:**
- 200 (OK)
- 400 (Bad Request)
- 401 (Unauthorized)
- 404 (Not Found)
- 500 (Internal Server Error)
- 502 (Bad Gateway)
**Exemplos de retorno:**
*Retorna 200 quando uma conta cartão for encontrada.*
*Payload de resposta:*
```JSON
{
"uuid": "5dc41441-91b9-43a2-9659-cd601292f3a4",
"lastFourNumbers": "3456",
"printedName": "MARIA DA SILVA",
"productUuid": "cd3d599d-17d0-4187-840b-5d40970ef477",
"validThru": "2025-11-25T07:00:00",
"additional": false,
"automaticDebit": false,
"firstBlock": false,
"travelNotice": false,
"dateLastChangeDueDay":"2020-02-02T22:00:00.000Z",
"status": {
"code": 1,
"type": "ACTIVE",
"description": "ACTIVATED"
},
"cardAccount": {
"uuid": "c74bf86c-b641-4490-91ce-a76fceea7265",
"organization": "27",
"productChangeInProcess": false,
"customerUuid": "8196feb0-ebc6-4db6-aa23-0a54387430ef",
"accountNumber": "123456",
"email": "maria.silva@gmail.com"
},
"modality": "MULTIPLE",
"securityLockUuid": "a9eddad8-9899-4a62-b094-6dfae049c083"
}
```
#
### <a id="cooperado"></a>Endpoint que busca as informações de um cooperado pela seu uuid.
**GET**:
api.test.cartoesunicred.com.br/v1/cards/customers/natural-persons/{uuid}
**Headers:**
* Authorization
* **Exemplo:** eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2cG9MdlIzckE2aVRBMThhbE1GeGk4b0xFN0F0SWVVZG5xcFpLdlVqYlE0In0.eyJleHAiOjE2MTM2NTk1NzksImlhdCI6MTYxMzY1OTI3OSwianRpIjoiM **(required)**
* Traffic-Code
* **Exemplo:** 136 **(required)**
* X-Api-Key
* **Exemplo:** tvlNwSLXMx2henaVrcY8G7FzcBMGnoLJay9mbOFs **(required)**
**Path Param:**
* uuid (Uuid do cooperado)
* **Exemplo:** 8196feb0-ebc6-4db6-aa23-0a54387430ef
**Retornos:**
- 200 (OK)
- 400 (Bad Request)
- 401 (Unauthorized)
- 404 (Not Found)
- 500 (Internal Server Error)
- 502 (Bad Gateway)
**Exemplos de retorno:**
*Retorna 200 quando uma conta cartão for encontrada.*
*Payload de resposta:*
```JSON
{
"customerUuid": "8196feb0-ebc6-4db6-aa23-0a54387430ef",
"name": "Maira silva",
"gender": "M",
"dateOfBirth": "1958-06-04",
"email": "maria.silva@email.com",
"mobile": {
"countryCode": "55",
"areaCode": "051",
"number": "912347896"
},
"institution": "136",
"document": "47821930920",
"organizations": [
"566"
]
}
```
## <a id="empresa"></a>Endpoint que busca o empresa em cartões.
**GET:**
/v1/cards/customers/companies/document
**Headers:**
Authorization: bearer token
Traffic-Code: 136
Organization: 27
document: 55676581000178
x-api-key: xxx
**Retornos:**
200 (Ok)
400 (Bad Request)
401 (Unauthorized)
404 (Not Found) // Customer não encontrado
500 (Internal Server Error)
**Exemplo de retorno:**
```JSON
{
"uuid":"aa93106f-2ae6-3318-9d56-17009d4bd735",
"institution":"136",
"name":"Unicred do Brasil",
"fantasyName":"Confederação",
"foundationDate":"1954-01-24",
"email":"unicred@unicred.com.br",
"mobile":{
"countryCode":"55",
"areaCode":"051",
"number":"996168793"
},
"document":"01408775000163"
}
```
#
### <a id="first-unblock"></a>Endpoint que realiza o primeiro desbloqueio do cartão
**POST**:
api.test.cartoesunicred.com.br/v1/cards/card/cards/{uuid}/first-unblock
**Headers:**
* Authorization
* **Exemplo:** eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2cG9MdlIzckE2aVRBMThhbE1GeGk4b0xFN0F0SWVVZG5xcFpLdlVqYlE0In0.eyJleHAiOjE2MTM2NTk1NzksImlhdCI6MTYxMzY1OTI3OSwianRpIjoiM **(required)**
* Traffic-Code
* **Exemplo:** 136 **(required)**
* X-Api-Key
* **Exemplo:** tvlNwSLXMx2henaVrcY8G7FzcBMGnoLJay9mbOFs **(required)**
**Path Param:**
* uuid (Uuid do cartão)
* **Exemplo:** be172072-4eb0-44b9-b454-87cae598aaf8
**Body:**
* password (Senha do cartão criptografada)
* **Exemplo:** k6pR5IqvoyOmUZgrS97KQernEF1OePSE5AmMAPcO6Hwfsvpq9PUMuE+8ioHzsDrRMIJdnrqtvfIu2rfQdxkJPGjb1IppjO0gz1u8h0tfevIEIBPZYday9mx0l9GBpShOo27VLJTI+wpYeoXB7sZVTrW1WAwNFl4VbBwsTosBUJD2YsEnlah8PQutGDMSu9TUFOgEsdPkmASOiCungCYEewKOi2PH57RNiBFKPNyhrVkKB9UqD7V9DU58EPJoGWqOWlaYIvlI9AAIQiC8Y4Dgc5jISkE60a0xqPcOSt+GEz2MYmdbat+aJUjAS8MFCuKiljMKl70dCyZz7dXeYKaIAA==
Exemplo:
```JSON
{
"password": "k6pR5IqvoyOmUZgrS97KQernEF1OePSE5AmMAPcO6Hwfsvpq9PUMuE+8ioHzsDrRMIJdnrqtvfIu2rfQdxkJPGjb1IppjO0gz1u8h0tfevIEIBPZYday9mx0l9GBpShOo27VLJTI+wpYeoXB7sZVTrW1WAwNFl4VbBwsTosBUJD2YsEnlah8PQutGDMSu9TUFOgEsdPkmASOiCungCYEewKOi2PH57RNiBFKPNyhrVkKB9UqD7V9DU58EPJoGWqOWlaYIvlI9AAIQiC8Y4Dgc5jISkE60a0xqPcOSt+GEz2MYmdbat+aJUjAS8MFCuKiljMKl70dCyZz7dXeYKaIAA=="
}
```
**Retornos:**
- 200 (OK)
- 400 (Bad Request)
- 401 (Unauthorized) (Token invalido ou criptografia invalida)
- 404 (Not Found)
- 409 (Conflict)
- 422 (Unprocessable Entity)
- 500 (Internal Server Error)
- 502 (Bad Gateway)
**Exemplos de retorno:**
**400**
- *Retorna 400 quando o header Authorization não é enviado.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "AUTHORIZATION_HEADER_NOT_RECEIVED",
"message": "Authorization header must be informed"
}
]
}
```
- *Retorna 400 quando o header Traffic-Code não é enviado.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "TRAFFIC_CODE_HEADER_NOT_RECEIVED",
"message": "Traffic-Code header must be informed"
}
]
}
```
- *Retorna 400 quando o payload password não é enviado ou é enviado em nulo/em branco.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "PASSWORD_INVALID_PAYLOAD_FIELD",
"message": "password must not be blank"
}
]
}
```
**409**
- *Retorna 409 quando o header Authorization é inválido.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "CARD_ALREADY_UNBLOCKED",
"message": "Card already unblocked."
}
]
}
```
**422**
- *Retorna 422 quando o header Authorization é inválido.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "INVALID_AUTHORIZATION",
"message": "Code not provided, unable to process request"
}
]
}
```
- *Retorna 422 quando o header Authorization é inválido.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "INVALID_AUTHORIZATION",
"message": "Error reading authorization token."
}
]
}
```
#
### <a id="set-password"></a>Endpoint que realiza a troca de senha do cartão
**POST**:
api.test.cartoesunicred.com.br/v1/cards/card/cards/{uuid}/set-password
**Headers:**
* Authorization
* **Exemplo:** eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI2cG9MdlIzckE2aVRBMThhbE1GeGk4b0xFN0F0SWVVZG5xcFpLdlVqYlE0In0.eyJleHAiOjE2MTM2NTk1NzksImlhdCI6MTYxMzY1OTI3OSwianRpIjoiM **(required)**
* Traffic-Code
* **Exemplo:** 136 **(required)**
* X-Api-Key
* **Exemplo:** tvlNwSLXMx2henaVrcY8G7FzcBMGnoLJay9mbOFs **(required)**
**Path Param:**
* uuid (Uuid do cartão)
* **Exemplo:** be172072-4eb0-44b9-b454-87cae598aaf8
**Body:**
* password (Senha do cartão criptografada)
* **Exemplo:** k6pR5IqvoyOmUZgrS97KQernEF1OePSE5AmMAPcO6Hwfsvpq9PUMuE+8ioHzsDrRMIJdnrqtvfIu2rfQdxkJPGjb1IppjO0gz1u8h0tfevIEIBPZYday9mx0l9GBpShOo27VLJTI+wpYeoXB7sZVTrW1WAwNFl4VbBwsTosBUJD2YsEnlah8PQutGDMSu9TUFOgEsdPkmASOiCungCYEewKOi2PH57RNiBFKPNyhrVkKB9UqD7V9DU58EPJoGWqOWlaYIvlI9AAIQiC8Y4Dgc5jISkE60a0xqPcOSt+GEz2MYmdbat+aJUjAS8MFCuKiljMKl70dCyZz7dXeYKaIAA==
Exemplo:
```JSON
{
"password": "k6pR5IqvoyOmUZgrS97KQernEF1OePSE5AmMAPcO6Hwfsvpq9PUMuE+8ioHzsDrRMIJdnrqtvfIu2rfQdxkJPGjb1IppjO0gz1u8h0tfevIEIBPZYday9mx0l9GBpShOo27VLJTI+wpYeoXB7sZVTrW1WAwNFl4VbBwsTosBUJD2YsEnlah8PQutGDMSu9TUFOgEsdPkmASOiCungCYEewKOi2PH57RNiBFKPNyhrVkKB9UqD7V9DU58EPJoGWqOWlaYIvlI9AAIQiC8Y4Dgc5jISkE60a0xqPcOSt+GEz2MYmdbat+aJUjAS8MFCuKiljMKl70dCyZz7dXeYKaIAA=="
}
```
**Retornos:**
- 200 (OK)
- 400 (Bad Request)
- 401 (Unauthorized) (Token invalido ou criptografia invalida)
- 404 (Not Found)
- 422 (Unprocessable Entity)
- 500 (Internal Server Error)
- 502 (Bad Gateway)
**Exemplos de retorno:**
**400**
- *Retorna 400 quando o header Authorization não é enviado.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "AUTHORIZATION_HEADER_NOT_RECEIVED",
"message": "Authorization header must be informed"
}
]
}
```
- *Retorna 400 quando o header Traffic-Code não é enviado.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "TRAFFIC_CODE_HEADER_NOT_RECEIVED",
"message": "Traffic-Code header must be informed"
}
]
}
```
- *Retorna 400 quando o payload password não é enviado ou é enviado em nulo/em branco.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "PASSWORD_INVALID_PAYLOAD_FIELD",
"message": "password must not be blank"
}
]
}
```
**422**
- *Retorna 422 quando o header Authorization é inválido.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "INVALID_AUTHORIZATION",
"message": "Code not provided, unable to process request"
}
]
}
```
- *Retorna 422 quando o header Authorization é inválido.*
*Payload de resposta:*
```JSON
{
"errors": [
{
"code": "INVALID_AUTHORIZATION",
"message": "Error reading authorization token."
}
]
}
```