Configuración de tienda
curl --request GET \
--url https://api.venepagos.com.ve/api/v1/merchants/{id}/store \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"theme": {}
}
'import requests
url = "https://api.venepagos.com.ve/api/v1/merchants/{id}/store"
payload = {
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"theme": {}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', slug: '<string>', description: '<string>', theme: {}})
};
fetch('https://api.venepagos.com.ve/api/v1/merchants/{id}/store', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.venepagos.com.ve/api/v1/merchants/{id}/store",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'slug' => '<string>',
'description' => '<string>',
'theme' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.venepagos.com.ve/api/v1/merchants/{id}/store"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"slug\": \"<string>\",\n \"description\": \"<string>\",\n \"theme\": {}\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.venepagos.com.ve/api/v1/merchants/{id}/store")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"slug\": \"<string>\",\n \"description\": \"<string>\",\n \"theme\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.venepagos.com.ve/api/v1/merchants/{id}/store")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"slug\": \"<string>\",\n \"description\": \"<string>\",\n \"theme\": {}\n}"
response = http.request(request)
puts response.read_body{
"merchantId": "mrc_abc123",
"name": "Mi Tienda",
"slug": "mi-tienda",
"description": "Tienda de ejemplo",
"logo": "https://cdn.venepagos.com.ve/logos/mrc_abc123.png",
"banner": "https://cdn.venepagos.com.ve/banners/mrc_abc123.png",
"theme": {
"primaryColor": "#1a73e8",
"secondaryColor": "#ffffff"
}
}
Merchants
Configuración de tienda
Gestiona la configuración de la tienda del merchant: obtener, actualizar, subir logo/banner y listar enlaces.
GET
/
api
/
v1
/
merchants
/
{id}
/
store
Configuración de tienda
curl --request GET \
--url https://api.venepagos.com.ve/api/v1/merchants/{id}/store \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"theme": {}
}
'import requests
url = "https://api.venepagos.com.ve/api/v1/merchants/{id}/store"
payload = {
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"theme": {}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', slug: '<string>', description: '<string>', theme: {}})
};
fetch('https://api.venepagos.com.ve/api/v1/merchants/{id}/store', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.venepagos.com.ve/api/v1/merchants/{id}/store",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'slug' => '<string>',
'description' => '<string>',
'theme' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.venepagos.com.ve/api/v1/merchants/{id}/store"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"slug\": \"<string>\",\n \"description\": \"<string>\",\n \"theme\": {}\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.venepagos.com.ve/api/v1/merchants/{id}/store")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"slug\": \"<string>\",\n \"description\": \"<string>\",\n \"theme\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.venepagos.com.ve/api/v1/merchants/{id}/store")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"slug\": \"<string>\",\n \"description\": \"<string>\",\n \"theme\": {}\n}"
response = http.request(request)
puts response.read_body{
"merchantId": "mrc_abc123",
"name": "Mi Tienda",
"slug": "mi-tienda",
"description": "Tienda de ejemplo",
"logo": "https://cdn.venepagos.com.ve/logos/mrc_abc123.png",
"banner": "https://cdn.venepagos.com.ve/banners/mrc_abc123.png",
"theme": {
"primaryColor": "#1a73e8",
"secondaryColor": "#ffffff"
}
}
Autenticación
Este endpoint requiere autenticación mediante Bearer token.Parámetros de ruta
string
required
Identificador único del merchant.
Respuesta
string
ID del merchant asociado a la tienda.
string
Nombre de la tienda.
string
Slug único de la tienda para la URL pública.
string
Descripción de la tienda.
string
URL del logo de la tienda.
string
URL del banner de la tienda.
object
{
"merchantId": "mrc_abc123",
"name": "Mi Tienda",
"slug": "mi-tienda",
"description": "Tienda de ejemplo",
"logo": "https://cdn.venepagos.com.ve/logos/mrc_abc123.png",
"banner": "https://cdn.venepagos.com.ve/banners/mrc_abc123.png",
"theme": {
"primaryColor": "#1a73e8",
"secondaryColor": "#ffffff"
}
}
Actualizar configuración de tienda
PUT /merchants/{id}/storeParámetros de ruta
string
required
Identificador único del merchant.
Cuerpo de la solicitud
string
Nombre de la tienda.
string
Slug único para la URL pública de la tienda.
string
Descripción de la tienda.
object
Configuración del tema visual. Incluye
primaryColor y secondaryColor en formato hexadecimal.Respuesta
Retorna el objeto de configuración de tienda actualizado (mismo formato que GET).{
"merchantId": "mrc_abc123",
"name": "Mi Tienda Actualizada",
"slug": "mi-tienda-actualizada",
"description": "Nueva descripción",
"logo": "https://cdn.venepagos.com.ve/logos/mrc_abc123.png",
"banner": "https://cdn.venepagos.com.ve/banners/mrc_abc123.png",
"theme": {
"primaryColor": "#ff5722",
"secondaryColor": "#f5f5f5"
}
}
Subir logo
POST /merchants/{id}/store/logomultipart/form-data.
Parámetros de ruta
string
required
Identificador único del merchant.
Cuerpo de la solicitud
file
required
Archivo de imagen del logo. Formatos aceptados: PNG, JPG, WEBP. Tamaño máximo: 2 MB.
Respuesta
string
URL del nuevo logo subido.
{
"logo": "https://cdn.venepagos.com.ve/logos/mrc_abc123.png"
}
Subir banner
POST /merchants/{id}/store/bannermultipart/form-data.
Parámetros de ruta
string
required
Identificador único del merchant.
Cuerpo de la solicitud
file
required
Archivo de imagen del banner. Formatos aceptados: PNG, JPG, WEBP. Tamaño máximo: 5 MB.
Respuesta
string
URL del nuevo banner subido.
{
"banner": "https://cdn.venepagos.com.ve/banners/mrc_abc123.png"
}
Listar enlaces de la tienda
GET /merchants/{id}/store/linksParámetros de ruta
string
required
Identificador único del merchant.
Respuesta
array
{
"data": [
{
"id": "lnk_001",
"url": "https://pay.venepagos.com.ve/mi-tienda/producto-1",
"label": "Producto 1",
"active": true
},
{
"id": "lnk_002",
"url": "https://pay.venepagos.com.ve/mi-tienda/donacion",
"label": "Donación",
"active": true
}
]
}