Skip to content

gento-arg/magento-oca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magento 2 shipping method for OCA

Tabla de contenido

Este módulo permite utilizar OCA E-Pak como un método de envío en Magento 2

Instalación

Usar composer para instalar Gento_Oca.

composer require gento-arg/module-oca

Luego, es necesario activar el módulo y actualizar la base de datos.

bin/magento module:enable Gento_Oca
bin/magento setup:upgrade
bin/magento cache:clean

Configuración

Configuración de tienda

Este paso sólo es requerido en caso de querer generar las etiquetas de envío. En el menú Stores -> Configuration, en la sección General -> General y el grupoStore information, es requerido completar los siguientes campos:

  • Store name
  • Store phone number

Luego, en la sección Sales -> Shipping Settings, en el grupo Origin:

  • Street address
  • City
  • Zip/Postal code
  • Country

Configuración de método de envío

En las configuraciónes de métodos de envío, sección Sales -> Shipping Methods o Sales -> Delivery methods dependendienddo la versión de Magento, OCA utililza el CUIT para identificar a sus clientes a fin de validar los contratos y estimar los costos de envío. A continuación se explican los diferentes campos de configuración:

  • CUIT: (*) Dato del titular del contrato.
  • Titulo: Es el titulo que aparecerá junto a las diferentes operatorias en el checkout y en la información de envío.
  • Account number: (**) Es un numero de cuenta que provee OCA como parte del contrato de ePak.
  • Username: (**) Usuario de ePak.
  • Password: (**) Password de ePak.
  • Days to send: Días para informarle a OCA al momento de generar la orden de retiro.
  • Days to send (Extra): Estos días no serán informados a OCA pero se visualizarán en el carro en caso de que Show days to send esté activado.
  • Show days to send: En caso de activarse, además del nombre del método de envío se le informará al cliente el tiempo en el paquete será despachado.
  • Reception time: Rango horario en el que OCA debe realizar el
  • Confirm: En caso de estar en No, la orden de retiro debe confirmarse desde el panel de OCA.
  • Disabled Postal codes: En caso de necesitar deshabilitar ciertos códigos postales, se pueden listar en este campo, uno por línea.
  • Branch description: En formato de template, indica la información que debería verse en el pedido en caso de seleccionar retiro en sucursal.
  • Oep WebService URL: URL para comunicarse con servicios OEP. http://webservice.oca.com.ar/oep_tracking_test/Oep_Track.asmx para test y http://webservice.oca.com.ar/oep_tracking/Oep_Track.asmx para producción.
  • Epak WebService URL: URL para comunicarse con servicios de ePak. http://webservice.oca.com.ar/epak_tracking_test/Oep_TrackEPak.asmx para test y http://webservice.oca.com.ar/epak_tracking/Oep_TrackEPak.asmx para producción.
  • Tracking URL: Ésta URL será a la que se le concatenará el número de seguimiento para rastreo. Por defecto: https://www5.oca.com.ar/ocaepakNet/Views/ConsultaTracking/TrackingConsult.aspx?numberTracking=. Tener en cuenta que OCA suele cambiar esta URL.
  • Min box volume: Para calcular los costos de envío, OCA requiere que se le indique el volumen de lo que se va a enviar, en caso de no tener atributos en los productos con los que se pueda calcular el volumen, se utilizará este valor. Dependiendo el contrato con OCA puede que este valor no sea necesario y se utilice el peso.
  • Product (width|height|length) attribute: Atributo del producto que se utilizará para calcular el volumen.
  • Unit product attribute: Unidad de medida en la que está expresada la dimensión del producto.

* Valor requerido para el cálculo de costo de envío

** Valor requerido para impresión de etiquetas

Operatorias

En el menú GENTo -> Operatories se deben agregar las operatorias con las que se desea trabajar.

Campos

  • Name: Este es el título que verá el cliente para seleccionar.
  • Code: Código interno de OCA.
  • Uses branches: Indica si la operatoria es de retiro en sucursal.
  • Pays on destination branch: En caso de ser positivo, el monto será informado el cliente pero no le generará una deuda.

Sucursales

Las sucursales se crean automáticamente con una sincronización de cron. Una vez que fueron creadas, es posible deshabilitarlas o incluso cambiar ciertos datos. Atención: Si se cambia el código de la sucursal, puede que no funcione correctamente.

GraphQL

Usando el endpoint de graphql es posible filtrar las sucursales por código postal:

path: /graphql
method: POST
body: { "query": "query { ocaBranches ( zipCode: \"2000\" ) { items { code short_name address_street address_number address_floor address_dpt address_tower telephone email city zipcode servicios branch_description } } }" }

Esa consulta retorna:

{
    "data": {
        "ocaBranches": {
            "items": [
                {
                    "code": "93",
                    "short_name": "RO1",
                    "address_street": "CORRIENTES",
                    "address_number": "746",
                    "address_floor": "",
                    "address_dpt": "",
                    "address_tower": "",
                    "telephone": "0341-4496111",
                    "email": "",
                    "city": "ROSARIO",
                    "zipcode": "2000",
                    "servicios": [
                        "1",
                        "2",
                        "3"
                    ],
                    "branch_description": "ROSARIO\nCORRIENTES 746\n0341-4496111\n"
                },
                {
                    "code": "587",
                    "short_name": "D50",
                    "address_street": "BOULEVARD BELGRANO",
                    "address_number": "1250",
                    "address_floor": "",
                    "address_dpt": "",
                    "address_tower": "",
                    "telephone": "03476-15-582392",
                    "email": "",
                    "city": "TOTORAS",
                    "zipcode": "2144",
                    "servicios": [
                        "1",
                        "2"
                    ],
                    "branch_description": "TOTORAS\nBOULEVARD BELGRANO 1250\n03476-15-582392\n"
                },
                {
                    "code": "595",
                    "short_name": "D55",
                    "address_street": "SAN MARTIN",
                    "address_number": "1482",
                    "address_floor": "",
                    "address_dpt": "",
                    "address_tower": "",
                    "telephone": "426-3357",
                    "email": "",
                    "city": "ROSARIO",
                    "zipcode": "2000",
                    "servicios": [
                        "1",
                        "2"
                    ],
                    "branch_description": "ROSARIO\nSAN MARTIN 1482\n426-3357\n"
                }
            ]
        }
    }
}

Desinstalar

bin/magento module:uninstall Gento_Oca

If you used Composer for installation Magento will remove the files and database information.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

How to create a PR

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

MIT