> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unicontrol.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Dispatch push VoIP a partir do dialplan FusionPBX

> Chamado pelo dialplan via mod_curl. Autenticado por secret no path. Responde rápido (~10ms) e dispara APNs em background. Ver plans/voip-push-notifications.md.



## OpenAPI

````yaml https://portal.unicontrol.me/v1/openapi post /v1/voip/push/{secret}/{domain}/{extension}/{uuid}
openapi: 3.1.0
info:
  title: Unicontrol API
  description: Welcome
  version: 1.0.0
servers:
  - url: http://0.0.0.0:3000
    description: Local Server
  - url: https://portal.test.flexhome.casa
    description: Development
  - url: https://portal.unicontrol.me
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/voip/push/{secret}/{domain}/{extension}/{uuid}:
    post:
      tags:
        - VoIP
      summary: Dispatch push VoIP a partir do dialplan FusionPBX
      description: >-
        Chamado pelo dialplan via mod_curl. Autenticado por secret no path.
        Responde rápido (~10ms) e dispara APNs em background. Ver
        plans/voip-push-notifications.md.
      operationId: postV1VoipPushBySecretByDomainByExtensionByUuid
      parameters:
        - in: path
          name: secret
          required: true
          schema:
            type: string
          description: FUSIONPBX_PUSH_SECRET
        - in: path
          name: domain
          required: true
          schema:
            type: string
          description: ${domain_name} do FreeSWITCH
        - in: path
          name: extension
          required: true
          schema:
            type: string
          description: ${destination_number}
        - in: path
          name: uuid
          required: true
          schema:
            type: string
          description: ${uuid} da chamada
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                caller_number:
                  type: string
                caller_name:
                  type: string
            example:
              caller_number: '5511999998888'
              caller_name: Portaria
      responses:
        '200':
          description: Push disparado para N devices
          content:
            application/json:
              schema:
                type: object
                properties:
                  devices:
                    type: integer
              example:
                devices: 2
        '204':
          description: Ramal sem push registrado; dialplan não deve esperar
        '401':
          description: Não autenticado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: unauthorized
        '404':
          description: Recurso não encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
              example:
                message: not found
        '429':
          description: Rate limit por (domain, extension) estourou
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: rate_limited
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.