Skip to content

rmaOrderAccept

Accepts an RMA order. Transitions the processing status from REQUESTED to ACCEPTED. Once accepted, the customer can ship items back and a return slip URL may be generated.

Required scope: edit_rma_orders


Mutation

graphql
mutation RmaOrderAccept($id: String!) {
  rmaOrderAccept(id: $id) {
    id
    returnNumber
    returnReference
    processingStatus
    deliveryStatus
    financialStatus
    fulfillmentStatus
    expectedResolution
    returnSlipUrl
  }
}

Arguments

ArgumentTypeRequiredDescription
idStringInternal UUID of the RMA order to accept

Example Variables

json
{
  "id": "550e8400-e29b-41d4-a716-446655440000"
}

Example Response

json
{
  "data": {
    "rmaOrderAccept": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "returnNumber": 1001,
      "returnReference": "RMA-2024-1001",
      "processingStatus": "ACCEPTED",
      "deliveryStatus": "PENDING",
      "financialStatus": "NONE",
      "fulfillmentStatus": "PENDING",
      "expectedResolution": "REFUND",
      "returnSlipUrl": "https://api-v3.happycolis.com/rma/slip/550e8400.pdf"
    }
  }
}

Code Examples

bash
curl -X POST https://api-v3.happycolis.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "query": "mutation RmaOrderAccept($id: String!) { rmaOrderAccept(id: $id) { id returnNumber returnReference processingStatus returnSlipUrl } }",
    "variables": {
      "id": "550e8400-e29b-41d4-a716-446655440000"
    }
  }'
js
const mutation = `
  mutation RmaOrderAccept($id: String!) {
    rmaOrderAccept(id: $id) {
      id
      returnNumber
      returnReference
      processingStatus
      returnSlipUrl
    }
  }
`;

const response = await fetch('https://api-v3.happycolis.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${process.env.ACCESS_TOKEN}`,
  },
  body: JSON.stringify({
    query: mutation,
    variables: { id: '550e8400-e29b-41d4-a716-446655440000' },
  }),
});

const { data } = await response.json();
console.log(data.rmaOrderAccept);
python
import os
import requests

mutation = """
mutation RmaOrderAccept($id: String!) {
  rmaOrderAccept(id: $id) {
    id
    returnNumber
    returnReference
    processingStatus
    returnSlipUrl
  }
}
"""

response = requests.post(
    'https://api-v3.happycolis.com/graphql',
    headers={'Authorization': f'Bearer {os.environ["ACCESS_TOKEN"]}'},
    json={
        'query': mutation,
        'variables': {'id': '550e8400-e29b-41d4-a716-446655440000'},
    },
)

data = response.json()['data']
print(data['rmaOrderAccept'])
php
<?php
$mutation = <<<'GQL'
mutation RmaOrderAccept($id: String!) {
  rmaOrderAccept(id: $id) {
    id
    returnNumber
    returnReference
    processingStatus
    returnSlipUrl
  }
}
GQL;

$ch = curl_init('https://api-v3.happycolis.com/graphql');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode([
        'query'     => $mutation,
        'variables' => ['id' => '550e8400-e29b-41d4-a716-446655440000'],
    ]),
    CURLOPT_HTTPHEADER     => [
        'Content-Type: application/json',
        'Authorization: Bearer ' . getenv('ACCESS_TOKEN'),
    ],
]);

$result = json_decode(curl_exec($ch), true);
curl_close($ch);

print_r($result['data']['rmaOrderAccept']);
go
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
	"os"
)

func main() {
	mutation := `
		mutation RmaOrderAccept($id: String!) {
			rmaOrderAccept(id: $id) {
				id
				returnNumber
				returnReference
				processingStatus
				returnSlipUrl
			}
		}`

	body, _ := json.Marshal(map[string]any{
		"query":     mutation,
		"variables": map[string]any{"id": "550e8400-e29b-41d4-a716-446655440000"},
	})

	req, _ := http.NewRequest("POST", "https://api-v3.happycolis.com/graphql", bytes.NewBuffer(body))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+os.Getenv("ACCESS_TOKEN"))

	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()

	var result map[string]any
	json.NewDecoder(resp.Body).Decode(&result)
	fmt.Println(result["data"])
}

HappyColis API Documentation