Changes between Initial Version and Version 1 of api_tienda


Ignore:
Timestamp:
Jan 21, 2013, 9:31:23 AM (11 years ago)
Author:
xabi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • api_tienda

    v1 v1  
     1== API tienda ==
     2
     3El API de la tienda responde en la url "/srv/apitienda/api". Las llamadas a este api se realizan mediante "POST" enviando un parámetro "data" consistente en un bloque json.
     4El bloque json tiene dos atributos obligatorios:
     5
     6* apikey
     7* action
     8
     9El atributo "apikey" es personal y no debe ser distribuido, ya que es nuestra "contraseña" para acceder al servicio.
     10El atributo "action" es el comando que indica al API la acción que deseamos realizar sobre la tienda.
     11
     12El API de la tienda responde siempre con una cadena json con los siguientes atributos:
     13
     14* params
     15  Los parámetros que ha recibido el API
     16* errno
     17  Un valor número que indica el error (si es distinto de 0) que se ha producido
     18* errstr
     19  Una cadena con el error que se ha producido (si errno es distinto de 0)
     20
     21=== Creación de comprador ===
     22
     23action: "createcomprador"
     24
     25Mediante este comando creamos un comprador nuevo. Si ya existe este no se crea de nuevo.
     26Además de los atributos "key" y "action" necesita los atributos "nombre", "apellidos" y "mail"
     27Además de la respuesta standard, este comando devuelve en el json de respuesta un ID de comprador bajo el atributo "comprador_id"
     28
     29Ejemplo de llamada:
     30
     31{{{
     32{
     33  "apikey"    : "xxxxxxxxxxxxxxxxxx",
     34  "action"    : "createcomprador",
     35  "nombre"    : "Xabier",
     36  "apellidos" : "Vázquez",
     37  "mail"      : "ejemplo@xa.bi"
     38};
     39}}}
     40
     41Respuesta:
     42
     43{{{
     44{
     45   "params" : {
     46      "action" : "createcomprador",
     47      "apellidos" : "Vázquez",
     48      "mail" : "ejemplo@xa.bi",
     49      "apikey" : "xxxxxxxxxxxxxxxxxx",
     50      "nombre" : "Xabier"
     51   },
     52   "errstr" : "",
     53   "comprador_id" : "1029",
     54   "errno" : 0
     55}
     56}}}
     57
     58=== Creación de pedido ===
     59
     60action: "createpedido"
     61
     62Mediante este comando creamos un pedido asociándolo a un comprador previamente creado.
     63
     64Además de los atributos "key" y "action" necesita los atributos:
     65* comprador_id es el id del comprador que realiza el pedido.
     66* direccion es una "hash" con los datos de facturación del pedido. Contiene los siguientes atributos:
     67  * nombre Nombre de la persona a la que se va a facturar. Si se trata de una empresa es la persona a la que iría la "atención"
     68  * apellidos Apellidos de la persona a la que se va a facturar. Si se trata de una empresa es la persona a la que iría la "atención"
     69  * entidad (si se trata de una empresa aquí se pondría el nombre de la empresa)
     70  * direccion1 dirección de facturación
     71  * ciudad
     72  * provincia
     73  * cp
     74  * pais
     75* productos es un "array" que contiene los productos del pedido. Cada producto tiene una hash con "producto_id" y "cantidad"
     76* facturacion_nif es el nif al que se va a emitir la factura
     77* metodo_pago es el método de pago del pedido
     78* cc cuenta corriente a la que se va a domiciliar el pago
     79* cc_titular titular de la cuenta corriente para la domiciliación del pago
     80* facturar_a_entidad (0|1) Se la factura va a nombre de la entidad (empresa) o no
     81* observaciones se puede poner algún tipo de comentario.
     82
     83Además de la respuesta standard, este comando devuelve en el json de respuesta un ID de pedido bajo el atributo "pedido_id"
     84
     85Ejemplo de llamada:
     86
     87{{{
     88{
     89  "apikey" => "xxxxxxxxxxxx",
     90  "action" => "createpedido",
     91  "comprador_id" => 1234,
     92  "direccion" => {
     93    "nombre" => "Xabier",
     94    "apellidos" => "Vázquez",
     95    "entidad" => "ecliente",
     96    "direccion1" => "calle 25",
     97    "ciudad" => "ciudad",
     98    "provincia" => "Madrid",
     99    "cp" => "28670",
     100    "pais" => "España"
     101  },
     102  "productos" => [
     103    { "producto_id" => 1, "cantidad" => 1 },
     104    { "producto_id" => 2, "cantidad" => 1 }
     105  ],
     106  "facturacion_nif"    => "H123456789",
     107  "metodo_pago"        => "DOMICILIACION",
     108  "cc_titular"         => "Alfonso Lopez",
     109  "cc"                 => "12341234121234567890",
     110  "facturar_a_entidad" => 1,
     111  "observaciones"      => "Creado via API"
     112}
     113}}}
     114
     115Respuesta:
     116
     117{{{
     118{
     119   "params" : {
     120      "facturacion_nif" : "H123456789",
     121      "observaciones" : "Creado via API",
     122      "metodo_pago" : "DOMICILIACION",
     123      "cc" : "12341234121234567890",
     124      "facturar_a_entidad" : 1,
     125      "action" : "createpedido",
     126      "cc_titular" : "Alfonso Lopez",
     127      "comprador_id" : "1234",
     128      "productos" : [
     129         {
     130            "producto_id" : 1,
     131            "cantidad" : 1
     132         },
     133         {
     134            "producto_id" : 2,
     135            "cantidad" : 1
     136         }
     137      ],
     138      "direccion" : {
     139         "provincia" : "Madrid",
     140         "cp" : "28670",
     141         "pais" : "España",
     142         "ciudad" : "ciudad",
     143         "apellidos" : "Vázquez",
     144         "clave" : "direccion_base",
     145         "direccion1" : "calle 25",
     146         "entidad" : "ecliente",
     147         "nombre" : "Xabier"
     148      },
     149      "apikey" : "xxxxxxxxxx"
     150   },
     151   "errstr" : "",
     152   "direccion_id" : "1959",
     153   "pedido_id" : "1639",
     154   "errno" : 0
     155}
     156}}}