- Actualizar middleware CORS para permitir orígenes de producción y apps móviles - Cambiar timezone de America/Tijuana a America/Mexico_City en PostulationController - Agregar configuración de Google Maps - Agregar servicio de notificaciones push Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
504 lines
18 KiB
PHP
504 lines
18 KiB
PHP
<?php
|
|
|
|
return [
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API Key
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Will be used for all web services,
|
|
| unless overwritten bellow using 'key' parameter
|
|
|
|
|
|
|
|
*/
|
|
|
|
'key' => env('GOOGLE_MAPS_API_KEY', ''),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Verify SSL Peer
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Will be used for all web services to verify
|
|
| SSL peer (SSL certificate validation)
|
|
|
|
|
*/
|
|
'ssl_verify_peer' => FALSE,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| CURL's connection timeout
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Will be used for all web services to limit
|
|
| the maximum time tha connection can take in seconds
|
|
|
|
|
*/
|
|
'connection_timeout' => 5,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| CURL's request timeout
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Will be used for all web services to limit
|
|
| the maximum time a request can take
|
|
|
|
|
*/
|
|
'request_timeout' => 30,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| CURL's CURLOPT_ENCODING
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Will be used for all web services to use compression on requests.
|
|
|
|
|
| Sets the contents of the "Accept-Encoding:" header a containing all
|
|
| supported encoding types.
|
|
|
|
|
*/
|
|
'request_use_compression' => false,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Service URL
|
|
|--------------------------------------------------------------------------
|
|
| url - web service URL
|
|
| type - request type POST or GET
|
|
| key - API key, if different to API key above
|
|
| endpoint - boolean, indicates whenever output parameter to be used in the request or not
|
|
| responseDefaultKey - specify default field value to be returned when calling getByKey()
|
|
| param - accepted request parameters
|
|
|
|
|
*/
|
|
|
|
'service' => [
|
|
|
|
'geocoding' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/geocode/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'place_id',
|
|
'param' => [
|
|
'address' => null,
|
|
'bounds' => null,
|
|
'key' => null,
|
|
'region' => null,
|
|
'language' => null,
|
|
'result_type' => null,
|
|
'location_type' => null,
|
|
'latlng' => null,
|
|
'place_id' => null,
|
|
'components' => [
|
|
'route' => null,
|
|
'locality' => null,
|
|
'administrative_area' => null,
|
|
'postal_code' => null,
|
|
'country' => null,
|
|
]
|
|
]
|
|
],
|
|
|
|
// https://developers.google.com/maps/documentation/routes/reference/rest
|
|
'routes' => [
|
|
'url' => 'https://routes.googleapis.com/directions/v2:computeRoutes',
|
|
'type' => 'POST',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'decodePolyline' => true, // true = decode overview_polyline.points to an array of points
|
|
'param' => [
|
|
'origin' => null, // required
|
|
'destination' => null, //required
|
|
'intermediates' => null,
|
|
'travelMode' => null,
|
|
'transitRoutingPreference' => null,
|
|
'polylineQuality' => null,
|
|
'polylineEncoding' => null,
|
|
'departureTime' => null,
|
|
'arrivalTime' => null,
|
|
'computeAlternativeRoutes' => null,
|
|
'routeModifiers' => null,
|
|
'languageCode' => null,
|
|
'regionCode' => null,
|
|
'units' => null,
|
|
'optimizeWaypointOrder' => false,
|
|
'requestedReferenceRoutes' => null,
|
|
'extraComputations' => null,
|
|
'trafficModel' => null,
|
|
'transitPreferences' => null,
|
|
]
|
|
],
|
|
|
|
|
|
|
|
// https://developers.google.com/maps/documentation/routes/reference/rest/v2/TopLevel/computeRouteMatrix
|
|
'routematrix' => [
|
|
'url' => 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix',
|
|
'type' => 'POST',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'param' => [
|
|
'origins' => null, // required
|
|
'destinations' => null, //required
|
|
'travelMode' => null,
|
|
'routingPreference' => null,
|
|
'departureTime' => null,
|
|
'arrivalTime' => null,
|
|
'languageCode' => null,
|
|
'regionCode' => null,
|
|
'units' => null,
|
|
'extraComputations' => null,
|
|
'trafficModel' => null,
|
|
'transitPreferences' => null,
|
|
]
|
|
],
|
|
|
|
|
|
// Deprecated
|
|
'directions' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/directions/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'geocoded_waypoints',
|
|
'decodePolyline' => true, // true = decode overview_polyline.points to an array of points
|
|
'param' => [
|
|
'origin' => null, // required
|
|
'destination' => null, //required
|
|
'mode' => null,
|
|
'waypoints' => null,
|
|
'place_id' => null,
|
|
'alternatives' => null,
|
|
'avoid' => null,
|
|
'language' => null,
|
|
'units' => null,
|
|
'region' => null,
|
|
'departure_time' => null,
|
|
'arrival_time' => null,
|
|
'transit_mode' => null,
|
|
'transit_routing_preference' => null,
|
|
]
|
|
],
|
|
|
|
// Deprecated
|
|
'distancematrix' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/distancematrix/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'origin_addresses',
|
|
'param' => [
|
|
'origins' => null,
|
|
'destinations' => null,
|
|
'key' => null,
|
|
'mode' => null,
|
|
'language' => null,
|
|
'avoid' => null,
|
|
'units' => null,
|
|
'departure_time' => null,
|
|
'arrival_time' => null,
|
|
'transit_mode' => null,
|
|
'transit_routing_preference' => null,
|
|
|
|
]
|
|
],
|
|
|
|
|
|
'elevation' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/elevation/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'elevation',
|
|
'param' => [
|
|
'locations' => null,
|
|
'path' => null,
|
|
'samples' => null,
|
|
'key' => null,
|
|
]
|
|
],
|
|
|
|
|
|
'geolocate' => [
|
|
'url' => 'https://www.googleapis.com/geolocation/v1/geolocate?',
|
|
'type' => 'POST',
|
|
'key' => null,
|
|
'endpoint' => false,
|
|
'responseDefaultKey' => 'location',
|
|
'param' => [
|
|
'homeMobileCountryCode' => null,
|
|
'homeMobileNetworkCode' => null,
|
|
'radioType' => null,
|
|
'carrier' => null,
|
|
'considerIp' => null,
|
|
'cellTowers' => [
|
|
'cellId' => null,
|
|
'locationAreaCode' => null,
|
|
'mobileCountryCode' => null,
|
|
'mobileNetworkCode' => null,
|
|
'age' => null,
|
|
'signalStrength' => null,
|
|
'timingAdvance' => null,
|
|
],
|
|
'wifiAccessPoints' => [
|
|
'macAddress' => null,
|
|
'signalStrength' => null,
|
|
'age' => null,
|
|
'channel' => null,
|
|
'signalToNoiseRatio' => null,
|
|
],
|
|
]
|
|
],
|
|
|
|
|
|
|
|
'snapToRoads' => [
|
|
'url' => 'https://roads.googleapis.com/v1/snapToRoads?',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => false,
|
|
'responseDefaultKey' => 'snappedPoints',
|
|
'param' => [
|
|
'locations' => null,
|
|
'path' => null,
|
|
'samples' => null,
|
|
'key' => null,
|
|
]
|
|
],
|
|
|
|
|
|
'speedLimits' => [
|
|
'url' => 'https://roads.googleapis.com/v1/speedLimits?',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => false,
|
|
'responseDefaultKey' => 'speedLimits',
|
|
'param' => [
|
|
'path' => null,
|
|
'placeId' => null,
|
|
'units' => null,
|
|
'key' => null,
|
|
]
|
|
],
|
|
|
|
|
|
'timezone' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/timezone/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'dstOffset',
|
|
'param' => [
|
|
'location' => null,
|
|
'timestamp' => null,
|
|
'key' => null,
|
|
'language' => null,
|
|
|
|
]
|
|
],
|
|
|
|
|
|
|
|
'nearbysearch' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/nearbysearch/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'results',
|
|
'param' => [
|
|
'key' => null,
|
|
'location' => null,
|
|
'radius' => null,
|
|
'keyword' => null,
|
|
'language' => null,
|
|
'minprice' => null,
|
|
'maxprice' => null,
|
|
'name' => null,
|
|
'opennow' => null,
|
|
'rankby' => null,
|
|
'type' => null, // types depricated, one type may be specified
|
|
'pagetoken' => null,
|
|
'zagatselected' => null,
|
|
]
|
|
],
|
|
|
|
|
|
|
|
'textsearch' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/textsearch/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'results',
|
|
'param' => [
|
|
'key' => null,
|
|
'query' => null,
|
|
'location' => null,
|
|
'radius' => null,
|
|
'language' => null,
|
|
'minprice' => null,
|
|
'maxprice' => null,
|
|
'opennow' => null,
|
|
'type' => null, // types deprecated, one type may be specified
|
|
'pagetoken' => null,
|
|
'zagatselected' => null,
|
|
]
|
|
],
|
|
|
|
|
|
|
|
'radarsearch' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/radarsearch/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'geometry',
|
|
'param' => [
|
|
'key' => null,
|
|
'radius' => null,
|
|
'location' => null,
|
|
'keyword' => null,
|
|
'minprice' => null,
|
|
'maxprice' => null,
|
|
'opennow' => null,
|
|
'name' => null,
|
|
'type' => null, // types depricated, one type may be specified
|
|
'zagatselected' => null,
|
|
]
|
|
],
|
|
|
|
|
|
|
|
'placedetails' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/details/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'result',
|
|
'param' => [
|
|
'key' => null,
|
|
'placeid' => null,
|
|
'extensions' => null,
|
|
'language' => null,
|
|
]
|
|
],
|
|
|
|
|
|
'placeadd' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/add/',
|
|
'type' => 'POST',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'place_id',
|
|
'param' => [
|
|
'key' => null,
|
|
'accuracy' => null,
|
|
'address' => null,
|
|
'language' => null,
|
|
'location' => null,
|
|
'name' => null,
|
|
'phone_number' => null,
|
|
'types' => null, // according to docs types still required as string parameter
|
|
'type' => null, // types deprecated, one type may be specified
|
|
'website' => null,
|
|
]
|
|
],
|
|
|
|
|
|
'placedelete' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/delete/',
|
|
'type' => 'POST',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'status',
|
|
'param' => [
|
|
'key' => null,
|
|
'place_id' => null,
|
|
|
|
]
|
|
],
|
|
|
|
|
|
|
|
|
|
'placephoto' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/photo?',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => false,
|
|
'responseDefaultKey' => 'image',
|
|
'param' => [
|
|
'key' => null,
|
|
'photoreference' => null,
|
|
'maxheight' => null,
|
|
'maxwidth' => null,
|
|
]
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
'placeautocomplete' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/autocomplete/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'predictions',
|
|
'param' => [
|
|
'key' => null,
|
|
'input' => null,
|
|
'offset' => null,
|
|
'location' => null,
|
|
'radius' => null,
|
|
'language' => null,
|
|
'types' => null, // use string as parameter
|
|
'type' => null, // types deprecated, one type may be specified
|
|
'components' => null,
|
|
]
|
|
],
|
|
|
|
|
|
|
|
'placequeryautocomplete' => [
|
|
'url' => 'https://maps.googleapis.com/maps/api/place/queryautocomplete/',
|
|
'type' => 'GET',
|
|
'key' => null,
|
|
'endpoint' => true,
|
|
'responseDefaultKey' => 'predictions',
|
|
'param' => [
|
|
'key' => null,
|
|
'input' => null,
|
|
'offset' => null,
|
|
'location' => null,
|
|
'radius' => null,
|
|
'language' => null,
|
|
]
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| End point
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
*/
|
|
|
|
'endpoint' => [
|
|
'xml' => 'xml?',
|
|
'json' => 'json?',
|
|
],
|
|
|
|
|
|
|
|
];
|