Admin Play.AsemediaDS

Documentacion del editor rapido para invitaciones personalizadas.

Que hace este modulo

/Admin/ es el panel principal. El editor se abre desde una invitacion personalizada usando edit=true. La invitacion carga el panel JavaScript y consume /Admin/custom-editor/api.php para leer y guardar los datos del custom.

Para subir invitaciones nuevas, resubir archivos, generar mensaje y abrir editor con ticket temporal, usa Panel Admin.

Archivos principales:

Abrir editor manualmente

https://play.asemediads.com/{EVENT}/{TYPE}/{CODE}/?id={CUSTOM_ID}&edit=true

Ejemplo:

https://play.asemediads.com/MiCumple/IV/CUMPS18/?id=40deVictor&edit=true

Autologin

Para abrir sin pedir contrasena y sin mostrar el password, genera primero un ticket temporal con la API y envia ese ticket en el hash de la URL. El JavaScript lo lee, lo guarda en localStorage/sessionStorage y limpia la URL.

POST /Admin/custom-editor/api.php
{
  "action": "create_editor_ticket",
  "event": "MiCumple",
  "type": "IV",
  "code": "CUMPS18",
  "id": "40deVictor",
  "auth": "PASSWORD"
}
https://play.asemediads.com/{EVENT}/{TYPE}/{CODE}/?id={CUSTOM_ID}&edit=true#editor_ticket={TICKET}

Ejemplo:

https://play.asemediads.com/MiCumple/IV/CUMPS18/?id=40deVictor&edit=true#editor_ticket=TICKET_TEMPORAL

Parametros aceptados:

Recomendado: usar #editor_ticket=.... El password real solo debe viajar por POST al crear el ticket.

PowerShell

function Open-AseEditor {
    param(
        [string]$Event,
        [string]$Type,
        [string]$Code,
        [string]$Id,
        [string]$Password
    )

    $baseUrl = "https://play.asemediads.com"
    $apiUrl = "$baseUrl/Admin/custom-editor/api.php"

    $payload = @{
        action = "create_editor_ticket"
        event = $Event
        type = $Type
        code = $Code
        id = $Id
        auth = $Password
    } | ConvertTo-Json

    $ticketResponse = Invoke-RestMethod -Uri $apiUrl -Method Post -ContentType "application/json" -Body $payload

    $url = "{0}/{1}/{2}/{3}/?id={4}&edit=true#editor_ticket={5}" -f `
        $baseUrl,
        [uri]::EscapeDataString($Event),
        [uri]::EscapeDataString($Type),
        [uri]::EscapeDataString($Code),
        [uri]::EscapeDataString($Id),
        [uri]::EscapeDataString([string]$ticketResponse.ticket)

    Start-Process $url
}

API

Endpoint:

https://play.asemediads.com/Admin/custom-editor/api.php

Acciones principales:

Archivos del custom

{EVENT}/{TYPE}/Customs/{CODE}/{CUSTOM_ID}/Data.txt
{EVENT}/{TYPE}/Customs/{CODE}/{CUSTOM_ID}/log.json
{EVENT}/{TYPE}/Customs/{CODE}/{CUSTOM_ID}/access_log.json