> ## Documentation Index
> Fetch the complete documentation index at: https://crmbonus-api.readme.io/llms.txt
> Use this file to discover all available pages before exploring further.

# /finaliza_compra

API para finalização da compra e encerramento do processo de bonificação do e-commerce.

## Dicionário de Dados | Requisição

```json
{
    "user_id": 27056298,
    "valor_bruto": 500.50,
    "bonus_resgatado": 125.50,
    "ids_bonus": "136473650,136473651",
    "ticket": "CRM-TESTE-001",
    "campanha_id": 20263,
    "items": [
        {
            "sku": "abc1234",
            "value_of": 100,
            "value_per": 100,
            "quantity": 1
        }
    ],
    "payments": [
         {
            "id": "1",
            "system_id": "1",
            "system_name": "CASH",
            "type": "CASH",
            "value": 100,
            "installments": 1
        }
    ],
    "delivery": {
        "type": "STANDARD",
        "fee": 5
    },
    "totals": {
        "subtotal": 100,
        "fee": 0,
        "taxes": 0,
        "crm_discounts": 0,
        "other_discounts": 0,
        "total": 100
    }
  }
```

| Campo                          | Descrição                                                                             |
| :----------------------------- | :------------------------------------------------------------------------------------ |
| **user\_id**                   | ID do cliente na CRMBonus.                                                            |
| **valor\_bruto**               | Valor da compra antes da aplicação do saldo de bônus.                                 |
| **bonus\_resgatado**           | Valor do bônus resgatado nesta compra.                                                |
| **ids\_bonus**                 | IDs dos bônus disponíveis nesta compra. Campo retornado no endpoint /consulta\_bonus. |
| **ticket**                     | Identificador da compra ou pedido no sistema.                                         |
| **campanha\_id**               | Id da campanha                                                                        |
| **\[items] sku**               | Identificador do produto.                                                             |
| **\[items] value\_of**         | Valor base de referência do produto.                                                  |
| **\[items] value\_per**        | Valor do produto com desconto.                                                        |
| **\[items] quantity**          | Quantidade do produto.                                                                |
| **\[delivery] type**           | Tipo da entrega (ENUM).                                                               |
| **\[delivery] fee**            | Taxa da entrega                                                                       |
| **\[payments] id**             | Identificador do pagamento.                                                           |
| **\[payments] system\_id**     | Identificador do sistema.                                                             |
| **\[payments] system\_name**   | Bandeira do sistema.                                                                  |
| **\[payments] type**           | Tipo de pagamento (ENUM).                                                             |
| **\[payments] value**          | Valor do pagamento.                                                                   |
| **\[payments] installments**   | Parcela do pagamento.                                                                 |
| **\[totals] fee**              | Taxas adicionais.                                                                     |
| **\[totals] taxes**            | Impostos.                                                                             |
| **\[totals] subtotal**         | Valor bruto da compra.                                                                |
| **\[totals] crm\_discounts**   | Descontos aplicados na CRMBonus.                                                      |
| **\[totals] other\_discounts** | Outros descontos.                                                                     |
| **\[totals] total**            | Valor líquido da compra.                                                              |

## Dicionário de Dados | Resposta

```json JSON
{
    "status": true,
    "message": "sucesso",
    "data": {
        "bonus_id": 136473654,
        "order_id": 129898024,
        "ticket": "CRM-TESTE-001"
    }
}
```

| Campo         | Descrição                                             |
| :------------ | :---------------------------------------------------- |
| **bonus\_id** | ID do bônus gerado a partir desta venda;              |
| **order\_id** | ID do pedido gerado na CRMBonus a partir desta venda. |
| **ticket**    | Identificador da compra ou pedido no sistema.         |

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "api-e-commerce-v2",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://giftback-sandbox.crmbonus.com/apiEcommerce"
    }
  ],
  "security": [
    {}
  ],
  "paths": {
    "/finaliza_compra": {
      "post": {
        "summary": "/finaliza_compra",
        "description": "API para finalização da compra e encerramento do processo de bonificação do e-commerce.",
        "operationId": "finaliza_compra",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Token de autenticação.",
            "required": true,
            "schema": {
              "type": "string",
              "default": "base64"
            }
          },
          {
            "name": "CodEmpresa",
            "in": "header",
            "description": "Código da empresa enviado pela CRMBonus.",
            "schema": {
              "type": "string",
              "default": "base64"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "System-Name",
            "in": "header",
            "description": "Nome do sistema que está realizando a requisição.",
            "required": true,
            "schema": {
              "type": "string",
              "default": "{systemName}"
            }
          },
          {
            "name": "User-Agent",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "user_id",
                  "valor_bruto",
                  "bonus_resgatado",
                  "ticket",
                  "campanha_id"
                ],
                "properties": {
                  "user_id": {
                    "type": "integer",
                    "description": "ID do cliente na CRMBonus.",
                    "default": 27126798,
                    "format": "int32"
                  },
                  "valor_bruto": {
                    "type": "number",
                    "description": "Valor da compra antes da aplicação do saldo de bônus.",
                    "default": 500.5,
                    "format": "float"
                  },
                  "bonus_resgatado": {
                    "type": "integer",
                    "description": "Valor de bônus resgatado nesta compra.",
                    "default": 125.5,
                    "format": "int32"
                  },
                  "ids_bonus": {
                    "type": "string",
                    "description": "**Obrigatório quando houver resgate**. ID do bônus que será resgatado. Se múltiplos, separe-os por vírgula. <br><br>**💡 Tip:** Valore(s) retornado(s) no endpoint [/consulta_bonus](https://crmbonus-api.readme.io/reference/consulta_bonus). ",
                    "default": "136473650,136473651"
                  },
                  "ticket": {
                    "type": "string",
                    "description": "Identificador da compra ou pedido no sistema.",
                    "default": "CRM-TESTE-001"
                  },
                  "campanha_id": {
                    "type": "string",
                    "description": "Id da campanha para geração do bônus.\n\n**💡 Tip:** Valore(s) retornado(s) no endpoint [/campanha_disponivel](https://crmbonus-api.readme.io/reference/campanha-disponivel)",
                    "default": "20263"
                  },
                  "items": {
                    "type": "array",
                    "description": "**⚠️Importante:** Este parâmetro torna-se obrigatório quando a feature flag *Motor v2* está ativa. \n\nProdutos selecionados na compra",
                    "items": {
                      "properties": {
                        "sku": {
                          "type": "string",
                          "description": "Identificador do produto",
                          "default": "ABC-12345-S-BL"
                        },
                        "value_of": {
                          "type": "number",
                          "description": "Valor base de referência do produto",
                          "default": 100,
                          "format": "float"
                        },
                        "value_per": {
                          "type": "number",
                          "description": "Valor do produto com desconto",
                          "default": 80,
                          "format": "float"
                        },
                        "quantity": {
                          "type": "number",
                          "description": "Quantidade do produto",
                          "default": 1,
                          "format": "float"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "payments": {
                    "type": "array",
                    "description": "**⚠️Importante:** Este parâmetro torna-se obrigatório quando a feature flag *Motor v2* está ativa. \n\nDados do pagamento",
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Identificador do pagamento",
                          "default": "855423"
                        },
                        "system_id": {
                          "type": "string",
                          "description": "Identificador do sistema",
                          "default": "10"
                        },
                        "system_name": {
                          "type": "string",
                          "description": "Bandeira do sistema",
                          "default": "VISA"
                        },
                        "type": {
                          "type": "string",
                          "description": "CREDIT_CARD,  DEBIT_CARD,  CASH,  PIX,  BANK_SLIP,  DIGITAL_WALLET,  CHECK,  FREIGHT_CARD,  STORE_CARD,  FOOD_VOUCHER,  GIFT_CARD,  FUEL_VOUCHER,  BANK_DEPOSIT, BANK_TRANSFER,  LOYALTY_PROGRAM,  CASHBACK,  STORE_CREDIT,  INSTALLMENT_PLAN,   UNSPECIFIED_ELECTRONIC_PAYMENT",
                          "default": "CREDIT_CARD"
                        },
                        "value": {
                          "type": "number",
                          "description": "Valor do pagamento",
                          "default": 80,
                          "format": "float"
                        },
                        "installments": {
                          "type": "integer",
                          "description": "Parcela do pagamento",
                          "default": 5,
                          "format": "int32"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "delivery": {
                    "type": "array",
                    "description": "**⚠️Importante:** Este parâmetro torna-se obrigatório quando a feature flag *Motor v2* está ativa. \n\nDados da entrega",
                    "items": {
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "PICKUP, STANDARD, EXPRESS, SCHEDULED",
                          "default": "Motoboy"
                        },
                        "fee": {
                          "type": "number",
                          "default": 0,
                          "format": "float"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "totals": {
                    "type": "array",
                    "description": "**⚠️Importante:** Este parâmetro torna-se obrigatório quando a feature flag *Motor v2* está ativa. \n\nSubtotal da compra e descontos aplicados.",
                    "items": {
                      "properties": {
                        "fee": {
                          "type": "number",
                          "default": 5,
                          "format": "float"
                        },
                        "taxes": {
                          "type": "number",
                          "default": 1.2,
                          "format": "float"
                        },
                        "subtotal": {
                          "type": "number",
                          "description": "Valor bruto da compra.",
                          "default": 100,
                          "format": "float"
                        },
                        "crm_discounts": {
                          "type": "number",
                          "description": "Descontos aplicados na CRMBonus",
                          "default": 10,
                          "format": "float"
                        },
                        "other_discounts": {
                          "type": "number",
                          "description": "Outros descontos",
                          "default": 10,
                          "format": "float"
                        },
                        "total": {
                          "type": "number",
                          "description": "Valor líquido da compra.",
                          "default": 80,
                          "format": "float"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              },
              "examples": {
                "JSON": {
                  "value": {
                    "user_id": 27056298,
                    "valor_bruto": 500.5,
                    "bonus_resgatado": 125.5,
                    "ids_bonus": "136473650,136473651",
                    "ticket": "CRM-TESTE-001",
                    "campanha_id": 20263
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n    \"status\": true,\n    \"message\": \"sucesso\",\n    \"data\": {\n        \"bonus_id\": 136473654,\n        \"order_id\": 129898024,\n        \"ticket\": \"CRM-TESTE-001\"\n    }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "boolean",
                      "example": true,
                      "default": true
                    },
                    "message": {
                      "type": "string",
                      "example": "sucesso"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "bonus_id": {
                          "type": "integer",
                          "example": 136473654,
                          "default": 0
                        },
                        "order_id": {
                          "type": "integer",
                          "example": 129898024,
                          "default": 0
                        },
                        "ticket": {
                          "type": "string",
                          "example": "CRM-TESTE-001"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [
      {
        "key": "Authorization",
        "value": "Código fornecido pelo T.I. do CRM&Bônus;"
      },
      {
        "key": "CodEmpresa",
        "value": "Código fornecido pelo T.I. do CRM&Bônus;"
      },
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```