# Remito cárnico

### Requisitos previos

Para poder usar esta guía, primero necesitarás:

* [Integrar Afip SDK en tu proyecto](https://docs.afipsdk.com/readme#integracion)

***

<https://www.afip.gob.ar/ws/remitoElecCarnico/Manual_Desarrollador_WSREMCARNE_v3_6.pdf>

<details>

<summary>Identificador <kbd>wsremcarne</kbd></summary>

Producción <img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-7802dc7235f529779be698c7a7b8c8c011b209df%2F10.png?alt=media" alt="Produccion" data-size="line">

Desarrollo <img src="https://4026677166-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEAVwm5cCW83gSe7NH8Z%2Fuploads%2Fgit-blob-25d3eb822e1be73b114a2acc1bc46daf38bee20b%2F10.png?alt=media" alt="Desarrollo" data-size="original">

</details>

### **Paso 1 - Crear una instancia del web service**

{% tabs %}
{% tab title="Node" %}

```js
const ws = afip.WebService('wsremcarne');
```

{% endtab %}

{% tab title="PHP" %}

```php
$ws = $afip->WebService('wsremcarne');
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
ws = afip.webService("wsremcarne")
```

{% endtab %}

{% tab title="Python" %}

```python
ws = afip.webService("wsremcarne")
```

{% endtab %}

{% tab title="API" %}
No se requiere ninguna acción adicional.
{% endtab %}
{% endtabs %}

### **Paso 2 - Preparar lo datos para la solicitud**

En la [Referencia de API de Remito Cárnico](https://afipsdk.com/docs/api-reference/web-services/wsremcarne/) pueden encontrar los métodos disponibles

En este ejemplo vamos a usar los datos para el método `generarRemito`

{% tabs %}
{% tab title="Node" %}

```js
// Obtenemos el TA
const ta = await ws.getTokenAuthorization();
	
// Preparamos los datos
const data = {
	'authRequest': {
            'token': ta.token,
            'sign': ta.sign,
            'cuitRepresentada': afip.CUIT,
        },
        'idReq': 410,
        'remito': {
            'tipoComprobante': 995,
            'tipoMovimiento': 'ENV',
            'categoriaEmisor': 1,
            'puntoEmision': 9000,
            'cuitTitularMercaderia': 11111111111,
            'tipoReceptor': 'MI',
            'categoriaReceptor': 3,
            'cuitReceptor': 22222222222,
            'codDomDestino': 3,
            'viaje': {
                'cuitTransportista': 33333333333,
                'cuitConductor': 44444444444,
                'fechaInicioViaje': '2019-02-14',
                'distanciaKm': 670,
                'vehiculo': {
                    'dominioVehiculo': 'ARF458'
                }
            },
            'arrayMercaderias': [
                {
                    'orden': 1,
                    'codTipoProd': 6.24,
                    'tropa': 121,
                    'kilos': 50,
                    'unidades': 4,
                },
                {
                    'orden': 2,
                    'codTipoProd': 6.9,
                    'tropa': 121,
                    'kilos': 50,
                    'unidades': 0,
                }
            ]
        }
};
```

{% endtab %}

{% tab title="PHP" %}

```php
// Obtenemos el TA
$ta = $ws->GetTokenAuthorization();
	
// Preparamos los datos
$data = array(
	'authRequest' => array(
            'token' => $ta->token,
            'sign' => $ta->sign,
            'cuitRepresentada' => $afip->CUIT,
        ),
        'idReq' => 410,
        'remito' => array(
            'tipoComprobante' => 995,
            'tipoMovimiento' => 'ENV',
            'categoriaEmisor' => 1,
            'puntoEmision' => 9000,
            'cuitTitularMercaderia' => 11111111111,
            'tipoReceptor' => 'MI',
            'categoriaReceptor' => 3,
            'cuitReceptor' => 22222222222,
            'codDomDestino' => 3,
            'viaje' => array(
                'cuitTransportista' => 33333333333,
                'cuitConductor' => 44444444444,
                'fechaInicioViaje' => '2019-02-14',
                'distanciaKm' => 670,
                'vehiculo' => array(
                    'dominioVehiculo' => 'ARF458'
                )
            ),
            'arrayMercaderias' => array(
                array(
                    'orden' => 1,
                    'codTipoProd' => 6.24,
                    'tropa' => 121,
                    'kilos' => 50,
                    'unidades' => 4,
                ),
                array(
                    'orden' => 2,
                    'codTipoProd' => 6.9,
                    'tropa' => 121,
                    'kilos' => 50,
                    'unidades' => 0,
                )
            )
        )
);
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
# Obtenemos el TA
ta = ws.getTokenAuthorization

# Preparamos los datos
data = {
  "authRequest": {
    "token": ta["token"],
    "sign": ta["sign"],
    "cuitRepresentada": afip.CUIT
  },
  "idReq": 410,
  "remito": {
    "tipoComprobante": 995,
    "tipoMovimiento": "ENV",
    "categoriaEmisor": 1,
    "puntoEmision": 9000,
    "cuitTitularMercaderia": 11111111111,
    "tipoReceptor": "MI",
    "categoriaReceptor": 3,
    "cuitReceptor": 22222222222,
    "codDomDestino": 3,
    "viaje": {
      "cuitTransportista": 33333333333,
      "cuitConductor": 44444444444,
      "fechaInicioViaje": "2019-02-14",
      "distanciaKm": 670,
      "vehiculo": {
        "dominioVehiculo": "ARF458"
      }
    },
    "arrayMercaderias": [
      {
        "orden": 1,
        "codTipoProd": 6.24,
        "tropa": 121,
        "kilos": 50,
        "unidades": 4
      },
      {
        "orden": 2,
        "codTipoProd": 6.9,
        "tropa": 121,
        "kilos": 50,
        "unidades": 0
      }
    ]
  }
}
```

{% endtab %}

{% tab title="Python" %}

```python
# Obtenemos el TA
ta = ws.getTokenAuthorization()

# Preparamos los datos
data = {
  "authRequest": {
    "token": ta["token"],
    "sign": ta["sign"],
    "cuitRepresentada": afip.CUIT
  },
  "idReq": 410,
  "remito": {
    "tipoComprobante": 995,
    "tipoMovimiento": "ENV",
    "categoriaEmisor": 1,
    "puntoEmision": 9000,
    "cuitTitularMercaderia": 11111111111,
    "tipoReceptor": "MI",
    "categoriaReceptor": 3,
    "cuitReceptor": 22222222222,
    "codDomDestino": 3,
    "viaje": {
      "cuitTransportista": 33333333333,
      "cuitConductor": 44444444444,
      "fechaInicioViaje": "2019-02-14",
      "distanciaKm": 670,
      "vehiculo": {
        "dominioVehiculo": "ARF458"
      }
    },
    "arrayMercaderias": [
      {
        "orden": 1,
        "codTipoProd": 6.24,
        "tropa": 121,
        "kilos": 50,
        "unidades": 4
      },
      {
        "orden": 2,
        "codTipoProd": 6.9,
        "tropa": 121,
        "kilos": 50,
        "unidades": 0
      }
    ]
  }
}
```

{% endtab %}

{% tab title="API" %}
No se requiere ninguna acción adicional.
{% endtab %}
{% endtabs %}

### **Paso 3 - Ejecutamos la solicitud**

{% tabs %}
{% tab title="Node" %}

```js
const res = await ws.executeRequest('generarRemito', data);

console.log(res);
```

{% endtab %}

{% tab title="PHP" %}

```php
$res = $ws->ExecuteRequest('generarRemito', $data);

var_dump($res);
```

{% endtab %}

{% tab title="Ruby" %}

```
res = ws.executeRequest("generarRemito", data)

puts res
```

{% endtab %}

{% tab title="Python" %}

```python
res = ws.executeRequest("generarRemito", data)

print(res)
```

{% endtab %}

{% tab title="API" %}
**Endpoint**

<mark style="color:blue;">`POST`</mark> `https://app.afipsdk.com/api/v1/afip/requests`

**Ejemplo**

```json
{
    "environment": "dev",
    "method": "generarRemito",
    "wsid": "wsremcarne",
    "params": {
        "authRequest": {
            "token": "{{token}}",
            "sign": "{{sign}}",
            "cuitRepresentada": "20409378472"
        },
        "idReq": 410,
        "remito": {
            "tipoComprobante": 995,
            "tipoMovimiento": "ENV",
            "categoriaEmisor": 1,
            "puntoEmision": 9000,
            "cuitTitularMercaderia": 11111111111,
            "tipoReceptor": "MI",
            "categoriaReceptor": 3,
            "cuitReceptor": 22222222222,
            "codDomDestino": 3,
            "viaje": {
                "cuitTransportista": 33333333333,
                "cuitConductor": 44444444444,
                "fechaInicioViaje": "2019-02-14",
                "distanciaKm": 670,
                "vehiculo": {
                    "dominioVehiculo": "ARF458"
                }
            },
            "arrayMercaderias": [
                {
                    "orden": 1,
                    "codTipoProd": 6.24,
                    "tropa": 121,
                    "kilos": 50,
                    "unidades": 4
                },
                {
                    "orden": 2,
                    "codTipoProd": 6.9,
                    "tropa": 121,
                    "kilos": 50,
                    "unidades": 0
                }
            ]
        }
    }
}
```

{% endtab %}
{% endtabs %}
