> ## Documentation Index
> Fetch the complete documentation index at: https://bmpdocs.moneyp.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# 9 - Cadastro de Favorecido

> <p>Scopes:</p>
<b>api.pix api.favorecidopix.cadastrar</b>

Por meio deste endpoint, o parceiro pode solicitar o cadastro do favorecido, ou seja, quem receberá os valores transferidos através de chave PIX ou dados bancários.

<Warning>
  Após realizar a solicitação, o time do Banco Digital realizará a análise do favorecido e seguir com a aprovação ou rejeição caso tenha algum apontamento.

  Caso o parceiro queira optar por aprovação automática do favorecido precisa ser solicitado via chamado na plataforma Heflo ao time do Banco Digital, lembrando que isso não isenta a possibilidade de reprovação caso ocorra algum apontamento no favorecido.
</Warning>

<Expandable title="Descrição dos campos da requisição">
  | Campo                 | Tipo    | Descrição                                                                                                                        |
  | --------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
  | contaDto              | object  | Objeto detalhado da conta bancária.                                                                                              |
  | agencia               | string  | Número da agência bancária.                                                                                                      |
  | agenciadígito         | string  | Dígito verificador da agência bancária.                                                                                          |
  | conta                 | string  | Número da conta bancária.                                                                                                        |
  | contadígito           | string  | Dígito verificador do número da conta bancária.                                                                                  |
  | contaPgto             | string  | Número da conta bancária seguido do dígito verificador.                                                                          |
  | tipoConta             | integer | Tipo da conta bancária. 1 para Corrente, 2 para Poupança, 3 para Pagamento e 4 para Salário.                                     |
  | modeloConta           | integer | Modelo da conta bancária. 1 para Movimento, 2 para Escrow, 3 para Pagamento e 4 para Salário.                                    |
  | nome                  | string  | Nome completo do favorecido.                                                                                                     |
  | documentoFederal      | string  | Número do CPF ou CNPJ do favorecido.                                                                                             |
  | tipoChave             | integer | 0 para CPF, 1 para CNPJ, 2 para Telefone, 3 para Email e 4 para EVP.                                                             |
  | chave                 | string  | Chave PIX para identificação do favorecido.                                                                                      |
  | numeroParticipanteSpi | string  | Número do participante no Sistema de Pagamentos Instantâneos (SPI) do favorecido, usado para identificar a instituição bancária. |
  | agencia               | string  | Número da agência bancária do favorecido.                                                                                        |
  | agenciaDigito         | string  | Dígito verificador da agência bancária do favorecido.                                                                            |
  | conta                 | string  | Número da conta bancária do favorecido.                                                                                          |
  | contaDigito           | string  | dígito verificador do número da conta bancária do favorecido.                                                                    |
  | contaPagamento        | string  | Número da conta bancária do favorecido seguido do dígito verificador.                                                            |
  | tipoConta             | integer | Tipo da conta bancária do favorecido. 1 para Corrente, 2 para Poupança, 3 para Pagamento e 4 para Salário.                       |
  | tipoCadastroPix       | integer | 1 para chave e 2 para dados bancários.                                                                                           |
</Expandable>

<Expandable title="Mensagens de requisições com erro">
  O retorno de uma requisição com status HTTP 400 (Bad Request) pode incluir as seguintes mensagens de erro:

  | Endpoint        | Mensagem de erro                                     |
  | --------------- | ---------------------------------------------------- |
  | /api/Favorecido | Operador não configurado para esta integração        |
  | /api/Favorecido | Agência inválida                                     |
  | /api/Favorecido | Necessário informar Conta + ContaDigito ou ContaPgto |
  | /api/Favorecido | Conta inválida                                       |
  | /api/Favorecido | Conta pagamento inválida                             |
  | /api/Favorecido | Conta inválida                                       |
  | /api/Favorecido |                                                      |
  | /api/Favorecido | Operador não encontrado                              |
  | /api/Favorecido |                                                      |
</Expandable>


## OpenAPI

````yaml post /api/Favorecido
openapi: 3.0.1
info:
  title: BMPSPBExt
  description: '<p><strong>Build Number: </strong>#0.0</p>'
  version: v1
servers:
  - url: https://api.ext.dbs.moneyp.dev.br/
    description: Localhost
security:
  - Bearer: []
paths:
  /api/Favorecido:
    post:
      tags:
        - Favorecido
      summary: Cadastra um Favorecido
      description: "<p>Scopes:</p>\r\n<b>api.ext api.favorecido.cadastrar</b>"
      parameters:
        - name: IdempotencyKey
          in: header
          required: true
          schema:
            type: string
        - name: IgnoraHandshake
          in: header
          description: (somente em homologação)
          required: true
          schema:
            type: boolean
            default: true
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest
          text/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest
          application/*+json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoCadastroResponse
        '400':
          description: Erro de negócio
          content:
            application/json:
              schema:
                type: object
                properties:
                  sucesso:
                    type: boolean
                  mensagem:
                    type: string
        '500':
          description: Erro interno do servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  sucesso:
                    type: boolean
                  mensagem:
                    type: string
components:
  schemas:
    BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoRequest:
      type: object
      properties:
        contaDto:
          allOf:
            - $ref: >-
                #/components/schemas/BMPSPB.Domain.Messaging.API.Shared.Conta.ContaDto
          description: Objeto detalhado da conta bancária.*
          nullable: true
        nome:
          type: string
          description: |-
            Nome completo do favorecido.*

            Observação:
            - O nome completo do favorecido pode ter no máximo 100 caracteres.
          nullable: true
        documentoFederal:
          type: string
          description: |-
            CPF ou CNPJ do favorecido.*

            Observação:
            - O CPF ou CNPJ do favorecido pode ter no máximo 14 caracteres.
          nullable: true
        numeroBanco:
          type: integer
          description: >-
            Código identificador do banco. Exemplo: 001 para Banco do Brasil,
            104 para Caixa Econômica Federal, etc.*
          format: int32
          nullable: true
        agencia:
          type: string
          description: >-
            Número da agência da conta bancária.*


            Observação:

            - O número da agência da conta bancária pode ter no máximo 10
            caracteres.
          nullable: true
        agenciaDigito:
          type: string
          description: >-
            Dígito verificador da agência da conta bancária.*


            Observação:

            - O dígito verificador da agência da conta bancária pode ter no
            máximo 1 caracter.
          nullable: true
        conta:
          type: string
          description: >-
            Número da conta bancária.


            Observações:

            - Para conta do tipo pagamento, informar o 'número da conta com
            dígito' (```contaPagamento```).

            - Para conta de outros tipos de informar o 'número da conta'
            (```conta```) e o 'dígito verificador' (```contaDigito```).

            - Caso nenhum dos campos referentes ao número da conta sejam
            informados, ocorrerá erro na requisição devido à falta de informação
            vital.

            - O número da conta bancária pode ter no máximo 12 caracteres.
          nullable: true
        contaDigito:
          type: string
          description: >-
            Dígito verificador da conta bancária.


            Observação:

            - O dígito verificador da conta bancária pode ter no máximo 1
            caracter.
          nullable: true
        contaPagamento:
          type: string
          description: >-
            Número da conta bancária seguido do dígito verificador, sem espaços
            ou caracteres especiais.


            Observação:

            - O número da conta bancária seguido do dígito verificador pode ter
            no máximo 20 caracteres.
          nullable: true
        tipoConta:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoConta'
          description: |-
            Tipo de conta.*

            Valores:
            -1 - CACC
            2 - SVGS
            3 - TRAN
            4 - SLRY
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Externa.Favorecido.FavorecidoCadastroResponse:
      type: object
      properties:
        sucesso:
          type: boolean
        mensagem:
          type: string
          nullable: true
        jsonErros:
          type: string
          nullable: true
        codigoFavorecido:
          type: string
          format: uuid
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Shared.Conta.ContaDto:
      type: object
      properties:
        agencia:
          type: string
          description: |-
            Número da agência bancária.*

            Observações:
            - O número da agência pode ter no máximo 4 caracteres.
          nullable: true
        agenciaDigito:
          type: string
          description: >-
            Dígito verificador da agência bancária.


            Observações:

            - O dígito verificador da agência bancária pode ter no máximo 1
            caracter.
          nullable: true
        conta:
          type: string
          description: >-
            Número da conta bancária.


            Observações:

            - O número da conta bancária pode ter no máximo 12 caracteres.

            - Para que seja possível localizar a conta, é necessário informar o
            'número da conta com dígito' (```contaPgto```) ou o 'número da
            conta' (```conta```) e o 'dígito verificador' (```contaDigito```).

            - Caso o 'número da conta com dígito' (```contaPgto```) seja
            informado, não é necessário preencher os campos 'número da conta'
            (```conta```) e 'dígito verificador' (```contaDigito```).

            - Caso nenhum dos campos referentes ao número da conta seja
            informado, ocorrerá erro na requisição devido à falta de informação
            vital.
          nullable: true
        contaDigito:
          type: string
          description: >-
            Dígito verificador do número da conta bancária.


            Observações:

            - O dígito verificador do número da conta bancária pode ter no
            máximo 1 caracter.
          nullable: true
        contaPgto:
          type: string
          description: >-
            Número da conta bancária seguido do dígito verificador.


            Observações:

            - O número da conta seguido do dígito verificador pode ter no máximo
            20 caracteres.
          nullable: true
        tipoConta:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.TipoConta'
          description: |-
            Tipo da conta.*

            Valores:
            1 - Corrente
            2 - Poupanca
            3 - Pagamento
            4 - Salario
          nullable: true
        modeloConta:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.ModeloConta'
          description: |-
            Modelo da conta.*

            Valores:
            1 - Movimento
            2 - Escrow
            3 - Vinculada
          nullable: true
      additionalProperties: false
    BMPSPB.Infra.Enums.TipoConta:
      enum:
        - 1
        - 2
        - 3
        - 4
      type: integer
      description: ''
      format: int32
    BMPSPB.Infra.Enums.ModeloConta:
      enum:
        - 1
        - 2
        - 3
      type: integer
      description: ''
      format: int32
  securitySchemes:
    Bearer:
      type: apiKey
      description: Copie 'Bearer ' + token
      name: Authorization
      in: header

````