Skip to content

rmaOrderRequestFulfillment

Requests fulfillment for an accepted RMA order. This notifies the fulfillment location to expect the return shipment and prepares the warehouse for receiving. Transitions the fulfillment status to IN_PROGRESS.

Required scope: edit_rma_orders


Mutation

graphql
mutation RmaOrderRequestFulfillment($id: String!) {
  rmaOrderRequestFulfillment(id: $id) {
    id
    returnNumber
    returnReference
    processingStatus
    deliveryStatus
    financialStatus
    fulfillmentStatus
    expectedResolution
  }
}

Arguments

ArgumentTypeRequiredDescription
idStringInternal UUID of the RMA order to request fulfillment for

Example Variables

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

Example Response

json
{
  "data": {
    "rmaOrderRequestFulfillment": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "returnNumber": 1001,
      "returnReference": "RMA-2024-1001",
      "processingStatus": "ACCEPTED",
      "deliveryStatus": "PENDING",
      "financialStatus": "NONE",
      "fulfillmentStatus": "IN_PROGRESS",
      "expectedResolution": "REFUND"
    }
  }
}

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 RmaOrderRequestFulfillment($id: String!) { rmaOrderRequestFulfillment(id: $id) { id returnNumber returnReference processingStatus fulfillmentStatus } }",
    "variables": {
      "id": "550e8400-e29b-41d4-a716-446655440000"
    }
  }'
js
const mutation = `
  mutation RmaOrderRequestFulfillment($id: String!) {
    rmaOrderRequestFulfillment(id: $id) {
      id
      returnNumber
      returnReference
      processingStatus
      fulfillmentStatus
    }
  }
`;

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.rmaOrderRequestFulfillment);
python
import os
import requests

mutation = """
mutation RmaOrderRequestFulfillment($id: String!) {
  rmaOrderRequestFulfillment(id: $id) {
    id
    returnNumber
    returnReference
    processingStatus
    fulfillmentStatus
  }
}
"""

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['rmaOrderRequestFulfillment'])
php
<?php
$mutation = <<<'GQL'
mutation RmaOrderRequestFulfillment($id: String!) {
  rmaOrderRequestFulfillment(id: $id) {
    id
    returnNumber
    returnReference
    processingStatus
    fulfillmentStatus
  }
}
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']['rmaOrderRequestFulfillment']);
go
package main

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

func main() {
	mutation := `
		mutation RmaOrderRequestFulfillment($id: String!) {
			rmaOrderRequestFulfillment(id: $id) {
				id
				returnNumber
				returnReference
				processingStatus
				fulfillmentStatus
			}
		}`

	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