bildvitta/iss-satellite

This is my package iss-satellite

Maintainers

Package info

github.com/bildvitta/iss-satellite

pkg:composer/bildvitta/iss-satellite

Statistics

Installs: 1 415

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.0.15 2026-04-22 18:31 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package allows Nave Servers to connect with this external services:

  • Mega
  • WSCarteira
  • Finnet
  • SSH

Requirement: Oracle Instant Client + OCI8 PHP extension

This package requires Oracle Instant Client oci8 PHP extension installed on your server for Mega operations

php:8.X-fpm Dockerfile

ENV ORACLE_HOME=/opt/oracle/instantclient_21_13
ENV LD_LIBRARY_PATH=$ORACLE_HOME
ENV PATH=$ORACLE_HOME:$PATH
RUN mkdir -p /opt/oracle && \
    cd /opt/oracle && \
    wget https://download.oracle.com/otn_software/linux/instantclient/2113000/instantclient-basic-linux.x64-21.13.0.0.0dbru.zip && \
    wget https://download.oracle.com/otn_software/linux/instantclient/2113000/instantclient-sdk-linux.x64-21.13.0.0.0dbru.zip && \
    unzip instantclient-basic-linux.x64-21.13.0.0.0dbru.zip && \
    unzip instantclient-sdk-linux.x64-21.13.0.0.0dbru.zip && \
    echo "$ORACLE_HOME" > /etc/ld.so.conf.d/oracle-instantclient.conf && \
    ldconfig
RUN docker-php-ext-configure oci8 --with-oci8=instantclient,$ORACLE_HOME && \
    docker-php-ext-install oci8

Requirement: Soap PHP extension

This package requires Soap PHP extension installed on your server for WSCarteira operations

php:8.X-fpm Dockerfile

RUN apt-get update && apt-get install -y libxml2-dev \
    && docker-php-ext-install soap

Package Installation

You can install the package via composer:

composer require bildvitta/iss-satellite

You can publish the config file with:

php artisan vendor:publish --tag="iss-satellite-config"

Package Usage

Mega

// Mega direct DB Connection
$query = Nave\Mega::connection()->select('select * from EXAMPLE');

// Mega specific functions
$data = [
    'cto_in_codigo' => 123,
    'document' => '123.123.123-12',
    'agn_st_nome' => 'João da Silva',
]
$query = Nave\Mega::clientesSac($data);

Ssh

use Nave\IssSatellite\Facades\Ssh;

// Connect to the default 'mega' connection
Ssh::connect();

// Or connect to a different connection
Ssh::connection('my-other-connection')->connect();

Mega Cloud

Config

'ssh' => [
    'mega_cloud_bild' => [
        'tunnel' => env('BILD_MEGA_CLOUD_MEGA_TUNNEL'),
        'tunnel_local_port' => env('BILD_MEGA_TUNNEL_LOCAL_PORT', 36700),
        'tunnel_destination_port' => env('BILD_MEGA_TUNNEL_DESTINATION_PORT', 36700),
    ],

  // Caso exista outra empresa usando o mega cloud através de vpn      
  'mega_cloud_xxx' => [    
      'tunnel' => env('XXX_MEGA_CLOUD_MEGA_TUNNEL'),
      'tunnel_local_port' => env('XXX_MEGA_TUNNEL_LOCAL_PORT', ''),
      'tunnel_destination_port' => env('XXX_MEGA_TUNNEL_DESTINATION_PORT', ''),
  ],
],

'mega_cloud' => [    
      'default_connection' => env('MEGA_CLOUD_DEFAULT_CONNECTION', 'bild'),
      'connect_timeout' => env('MEGA_CLOUD_CONNECTION_TIMEOUT', 120),
      'timeout' => env('MEGA_CLOUD_TIMEOUT', 120),

      'bild' => [
          'url' => env('BILD_MEGA_CLOUD_URL', 'http://127.0.0.1:36700'),
          'prefix' => env('BILD_MEGA_CLOUD_URL_PREFIX', '/api'),
          'username' => env('BILD_MEGA_CLOUD_USERNAME', ''),
          'password' => env('BILD_MEGA_CLOUD_PASSWORD', ''),
          'cache_key' => env('BILD_MEGA_CLOUD_CACHE_KEY', 'bildIssMegaCloudToken'),
      ],
      
      // Configuração adicional para outra empresa usando mega cloud
      'xxx' => [
          'url' => env('XXX_MEGA_CLOUD_URL', '127.0.0.1'),
          'prefix' => env('XXX_MEGA_CLOUD_URL_PREFIX', '/api'),
          'username' => env('XXX_MEGA_CLOUD_USERNAME', ''),
          'password' => env('XXX_MEGA_CLOUD_PASSWORD', ''),
          'cache_key' => env('XXX_MEGA_CLOUD_CACHE_KEY', 'terreIssMegaCloudToken'),
      ],
],

How to use

use Nave\IssSatellite\Facades\MegaCloud as MegaCloudFacade;
use Nave\IssSatellite\Facades\Ssh;

Ssh::connection('mega_cloud_bild')->connect();

// O método setConnection() só será necessário caso queira passar outra conexão, do contrário o padrão será puxado da config iss-satellite.mega_cloud.default_connection
MegaCloudFacade::setConnection('bild')->getAllRealEstateDevelopmentUnits([
        'filial' => 103442,
    ])
        ->where('status', 'VENDIDA')
        ->values();

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.